Сегодня вычитал, что согласно свежему исследованию от Cast Software качества программного обеспечения, проведённого этой компанией на основе анализа 745 бизнес-приложений на различных языках программирования (Java EE, Cobol, .Net, C, C++), состоящих в сумме из 365 млн строк кода, статистически установлено, что наилучшие показатели (по безопасности, наименьшему количеству ошибок и так далее) наблюдаются у программ написанных на языке Cobol. Что интересно, что это уже не эмоции, да и не какие-то субъективные оценки: намеренно оценивались и изучались по жестким критериям очень большие приложения. Да, и наихудшие показатели - у. NET и Java.
Так вот, к чему это я. Во-первых, здесь в США, как это ни странно звучит в России, по-прежнему пишутся программы на Cobol и даже есть ощутимый спрос на таких программистов (поддержание огромного количества уже написанного). По рыночным законам, хороший спрос при маленьком предложении приводит к тому, что зарплаты предлагают подобным редким носителям Cobol выше чем, скажем, специалисту по .Net.
Во-вторых, никак не хочу комментировать эти факты, пишу это лишь по одной причине. Читая эту статистику, как-то сразу ярко вспомнил слова одного из любимых мною апологетов программирования — Эдгара Дейкстра, который в 1972 году стал лауреатом премии Тьюринга. Я думаю, многие программеры с классическим образованием читали его знаменитую книгу Дисциплина программирования, а также знают его холивар против оператора Goto (благодаря которому, кстати, ентот оператор и получил во многом такое зловещее кредо), а также Алгоритм Дейкстры, который чрезвычайно широко используется в современном программировании.
А вспомнил я про этого ученого в контексте «такого успеха» Cobol лишь по причине, что в голове моей в своё время намертво застряла его цитата:
«Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление. Каждый, хотя бы единожды программировавший на этом языке, уже никогда не сможет стать полноценным программистом.»
А традиционного вывода сегодня не будет, пусть каждый выведет в связи с этим что-то своё личное. Просто в очередной раз поражаюсь, как снова и снова «правильная теория» плохо стыкуется с «фактами из реальной жизни».
ключевики: язык кобол, язык cobol золотой кобол, алгоритм дейкстры пример метод дейкстры
1 комментарий
Статистика :)
Не доверяйте. В каждом статистическом исследовании могут быть упущенны, порой намерено, факторы, коренным образом меняющие картину.
Ну например в данном случае:
- сравним ли уровень сложности программ написанных на коболе и других языках (всё-таки на кобол программили достаточно давно и уровень сложности программных систем был мягко говоря ниже);
- если речь идёт о современном софте на кобол, то имеет ли смысл сравнивать уровень программистов на кобол с опытом разработки в несколько десятков лет с другими;
- имеет ли смысл вообще сравнивать программы, написанные на языке предназначенном для разработки бизнес-приложений, с программами написанными на языках общего назначения, причём вести сравнение в сфере бизнес-приложений;
Ну и т.д.
P.S. Java и .Net тоже не сахар