26 апреля 2016 г., арбитражный суд Орловской области должен был решить вопрос, является ли язык программирования C иностранным языком.
0
Столь необычным вопросом суд озаботился из-за Федеральной антимонопольной службы (ФАС), которая возбудилась вот на это объявление, размещённое напротив местного политеха:
ФАС посчитала это объявление рекламой, а по закону реклама на иностранном языке должна быть дублирована на русском.
Руководитель компании Stork Михаил Паулкин с выводами ФАС не согласился, и дело дошло до рассмотрения арбитражным судом Орловской области.
Суд должен был вынести решение 26 апреля, но отложил заседание на 25 мая.
Нужно заметить, что признание судом языка программирования C иностранным языком позволит программистам на C бороться за официальное признание себя в качестве малого этноса.
Малый этнос — это уже не обычное профессиональное сообщество, а народ. Народ же, не имеющий своего государства, может воспользоваться правом на самоопределение, записанным во Всеобщей декларации прав человека ООН.
Корочь для чайников (програмеры это не про Вас), которые попрутся читать комментарии внизу.... Не лезьте в общем, там все на языке, который похож на китайский. Ладно, я пошел котиков смотреть.
goto моветон, только при первых шагах в программировании, т.к. избегание конструкций с goto позволяет структурировать навыки программирования. Но когда программист уже состоявшийся, то часто порой лучше использовать безусловный переход, чем проявлять казуальную находчивость и пытаться обойти алгоритмические ходы где goto сам напрашивается задачей.
Такие исключения надо самому(своей программой) обрабатывать. Более того они чаще всего говорят не в виновности goto, а о каком то косяке в самом алгоритме решения задачи.
Наши споры бессмысленны. С моей точки зрения избегание использования оператора goto, любыми средствами, это тоже самое как "засирать" своё ПО бессмысленными goto переходами. Как одно так и другое утяжеляют программу и приводят к растрате творческого мышления программиста на бессмысленные удовлетворение чувства собственной "крутизны". С тем же успехом можно сказать что циклы это жуткий бред и всё тоже самое можно сделать с помощью if .. goto.
goto - напрочь лишают код читабельности,
даже сам автор не сразу может понять, как все устроено, не то, что другой человек,
тем более если GOTO выходит за рамки конкретной функции.
(я имею ввиду нормальные программы, а не студенческие Hello World)
Кстати если задумать именно такое использование переменной p, то вполне элегантный алгоритм получится.(Вот в комментах и нужно будет написать что "хитрож?*ь алгоритма зашкаливает")
Если без goto никак нельзя, или слишком долго думать как обойтись без goto, тогда да, можно и goto использовать. но у меня таких ситуаций никогда не было. Всегда легко сделать код без goto, гораздо труднее "извратиться" и придумать, где бы использовать это пресловутое goto
Поначалу в менюшки очень хочется поставить гото, древовидность на них хорошо видна. Можно, конечно, несколько свитч-кеймов, вложенных друг в друга по нескольку раз использовать, но тоже не то, громоздко, неудобно. А вроде всего-то самая тупая вещь, которую мы видим каждый день - древовидная менюшка.
Ну, не знаю, как гото поможет увидеть древовидную структуру. На мой взгляд, если очень много пунктов меню, то гото просто запутают код. Гораздо лучше в этом случае применять ООП подход и для каждого пункта меню просто прописывать свой метод.
Если программируешь в визуальной среде - то самое то на каждый пункт свой метод. Если прописываешь условия ручками, то подойдет что-то типа switch - case. А goto - не знаю, какой то пережиток бэйсика, что ли. Я лично его только в детстве использовал, когда на компаньоне-2 писал на примитивном бэйксике, тогда еще ни ООП и ни никаких крутых современных технологий не было. А, ну и если на ассемблере пишешь, тоже там goto полезно бывает. Но это в том случае, если кодишь для микроконтроллера какого-нибудь.
Собсна на асме без гото (ну оно называется, правда, по-другому, и работает несколько иначе, но не суть) вообще нельзя сделать никакое ветвление в программе
Ну есть определение "иностранный язык, это язык изучаемый вне среды его естественного бытования и не используемый для обычного общения". Исходя из этого - да, Си - это иностранный язык ))) Но на самом деле конечно лютый бред ))
Скорее всего:)
Они обычно вот такой медитативный код рожают:
"СхемаКомпоновкиДанных = ПолучитьМакет("ФактЗатрат");
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
ЗУП_ТиповыеОтчеты.УстановитьПараметр(КомпоновщикНастроек, "ОбъектЗатрат", Ссылка);
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
ДокументРезультат = ЭлементыФормы.ТабличныйДокументЗатратыФакт;
ДокументРезультат.Очистить();
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);"
Корочь для чайников (програмеры это не про Вас), которые попрутся читать комментарии внизу.... Не лезьте в общем, там все на языке, который похож на китайский. Ладно, я пошел котиков смотреть.
тонко
Подозреваю, что в ФАС затесался ярый поклонник вижуал васика.
Первое, чему меня учили, что goto - это моветон. :)
goto моветон, только при первых шагах в программировании, т.к. избегание конструкций с goto позволяет структурировать навыки программирования. Но когда программист уже состоявшийся, то часто порой лучше использовать безусловный переход, чем проявлять казуальную находчивость и пытаться обойти алгоритмические ходы где goto сам напрашивается задачей.
при объектно ориентированном програмировании, этот оператор вообще не нужен, более того - это прямой путь к Access Validation
Такие исключения надо самому(своей программой) обрабатывать. Более того они чаще всего говорят не в виновности goto, а о каком то косяке в самом алгоритме решения задачи.
Я программирую уже более 20 лет, и ни разу не возникла необходимость в goto. Все решается циклами, операторами ветвления и командами break и continue
Ничего не понял, но восхищён !
Наши споры бессмысленны. С моей точки зрения избегание использования оператора goto, любыми средствами, это тоже самое как "засирать" своё ПО бессмысленными goto переходами. Как одно так и другое утяжеляют программу и приводят к растрате творческого мышления программиста на бессмысленные удовлетворение чувства собственной "крутизны". С тем же успехом можно сказать что циклы это жуткий бред и всё тоже самое можно сделать с помощью if .. goto.
goto - напрочь лишают код читабельности,
даже сам автор не сразу может понять, как все устроено, не то, что другой человек,
тем более если GOTO выходит за рамки конкретной функции.
(я имею ввиду нормальные программы, а не студенческие Hello World)
Для этого случая в ЯП есть тоже конструкции /* ... */
Помогает в любой ситуации, очень советую.
ага :) где вот здесь поставить комментарий, чтоб отловить ошибку? :)
goto Label;
for (;;)
{
int p = 0;
Label:
p += 10;
}
В цикле скобка не закрыта вместо неё наглая рожа.
это goto испортил :)
Кстати если задумать именно такое использование переменной p, то вполне элегантный алгоритм получится.(Вот в комментах и нужно будет написать что "хитрож?*ь алгоритма зашкаливает")
Если без goto никак нельзя, или слишком долго думать как обойтись без goto, тогда да, можно и goto использовать. но у меня таких ситуаций никогда не было. Всегда легко сделать код без goto, гораздо труднее "извратиться" и придумать, где бы использовать это пресловутое goto
Поначалу в менюшки очень хочется поставить гото, древовидность на них хорошо видна. Можно, конечно, несколько свитч-кеймов, вложенных друг в друга по нескольку раз использовать, но тоже не то, громоздко, неудобно. А вроде всего-то самая тупая вещь, которую мы видим каждый день - древовидная менюшка.
Ну, не знаю, как гото поможет увидеть древовидную структуру. На мой взгляд, если очень много пунктов меню, то гото просто запутают код. Гораздо лучше в этом случае применять ООП подход и для каждого пункта меню просто прописывать свой метод.
Ну вот собсна и получается свалка пунктов, которая не наглядна для восприятия. Ну, лично для меня.
Для каких-то менюшек может и подойдет, но далеко не для всех. На каждый пункт свой метод - уж слишком много ресурсов уходит в никуда.
Если программируешь в визуальной среде - то самое то на каждый пункт свой метод. Если прописываешь условия ручками, то подойдет что-то типа switch - case. А goto - не знаю, какой то пережиток бэйсика, что ли. Я лично его только в детстве использовал, когда на компаньоне-2 писал на примитивном бэйксике, тогда еще ни ООП и ни никаких крутых современных технологий не было. А, ну и если на ассемблере пишешь, тоже там goto полезно бывает. Но это в том случае, если кодишь для микроконтроллера какого-нибудь.
Собсна на асме без гото (ну оно называется, правда, по-другому, и работает несколько иначе, но не суть) вообще нельзя сделать никакое ветвление в программе
А так программирую вообще не для компа. Специфика немного другая.
Кстати, политеха в Орле уже не существует. Он объединяется с Орловским государственным университетом. Так что заметка баянистая.
Ну есть определение "иностранный язык, это язык изучаемый вне среды его естественного бытования и не используемый для обычного общения". Исходя из этого - да, Си - это иностранный язык ))) Но на самом деле конечно лютый бред ))
Чёта ФАС стали какой-то куйнёй заниматься. Хотя вроде делом они и не занимались никогда.
когда коту делать нечего, ...
Регулировать цены на бензин боятся. Там крыша хорошая, могут навалять. А с рекламным объявлением можно и бурную деятельность изобразить))
Ну не ростом же цен им заниматься! А тут хоть оправдание их существования нашлось.
Имитация бурной деятельности.
Ну не сговором же страховых заниматься, не продающих ОСАГО!
Язык программирования должен быть на русском языке, с русскими командами.
Это херня. Вот когда аббривиатуры "переводят" (типа MGU вместо MSU) - эт жесть.
а что, разве нету? в союзе было несколько, да и сейчас вроде как существуют. были и локализации...
для камментов punto switcher спасает
Скорее всего:)
Они обычно вот такой медитативный код рожают:
"СхемаКомпоновкиДанных = ПолучитьМакет("ФактЗатрат");
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
ЗУП_ТиповыеОтчеты.УстановитьПараметр(КомпоновщикНастроек, "ОбъектЗатрат", Ссылка);
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
ДокументРезультат = ЭлементыФормы.ТабличныйДокументЗатратыФакт;
ДокументРезультат.Очистить();
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);"
Вы уже определитесь, или никогда руками не занимались многооконными интерфейсами? :)
Эмм.. а причем здесь старый добрый "С" ? Или хотят сказать, что этот школьный высер на "Си" написан ?!
Я тебя огорчу, как раз на С он и выдаст ошибку, т.к.
Не описаны переменные/определения(need_job и have_skill). Отсутствует метка перехода Stork.
С сайта Асрбитражного Суда Орловской области:
http://kad.arbitr.ru/PdfDocument/fba48c16-7392-4efd-8a85-a508b3d62acc/A48-574-2016_20160310_Opredelenie.pdfhttp://kad.arbitr.ru/PdfDocument/fba48c16-7392-4efd-8a85-a508b3d62acc/A48-574-2016_20160310_Opredelenie.pdf
Я не буду давать вам классификацию ЯП, но вы неправы. Тот же Pascal или C# ну никак нельзя назвать C-подобным.
Он и в любом языке даст ошибку без предварительной декларации. Ну за исключением интерпретируемых.
Хитро чувак выкрутился. Теперь интересно что суд решит. В случае если станет на сторону ФАС, то можно спокойно требовать перевода торговых марок.
и тут они вставили GOTO. Вроде и можно, но как-то зашкварно.
Фортранщиной попахивает...
Да любым процедурным языком. Хотя иногда так и хочется как раз goto впихнуть.
Йоды речи тайна магистра раскрыта. На форте программист оказывается он. ©