Полтора десятилетия: много это или мало для программирования? Если вести отсчет от 1952 г., когда в швейцарском Базеле была издана работа Х. Рутисхаузера «Автоматическая разработка плана с помощью программно-управляемых вычислительных машин», то они составляют почти 1/3 той временной шкалы (табл. 1), где рука об руку шли языки программирования (табл. 2) и операционные системы. В этот период вместилась целая эпоха персональных компьютеров, Интернета и КПК, эпоха графического интерфейса и сценарных языков, эпоха доминирования объектно-ориентированного программирования (ООП).

Чего же удалось добиться за эти годы, насколько мы приблизились к заветной цели и что нас ждет в будущем? Думаю, ответы на эти вопросы можно найти в высказываниях тех, благодаря кому компьютерные науки и программная инженерия достигли наивысшего расцвета в своей истории. Вот как эти выдающиеся деятели оценивают прошлое, настоящее и будущее программирования.

Прошлое

Бертран Мейер (автор языка Eiffel и концепции проектирования по контракту): «Анализируя историю развития ИТ за последние несколько десятилетий, нельзя игнорировать то обстоятельство, что если большая часть новаторских решений в 60-е и 70-е годы были предложены вузами, то в 80-х и 90-х годах вклад небольших фирм и исследовательских лабораторий крупных корпораций оказался значительно весомее. Столь чрезмерное обобщение, которое лишь подтверждается редкими исключениями, может обидеть некоторых читателей. Однако было бы сложно найти среди последних достижений неопровержимые эквиваленты таким широко известным решениям, как Паскаль и Modula-2 Никлауса Вирта, операционная система THE Эдсгера Дейкстры, взаимодействующие последовательные процессы и мониторы Тони Хоара, язык Simula, созданный в университете Осло. Эти и другие фундаментальные изобретения периода становления компьютерной отрасли доказали, что университеты могут предлагать не только прекрасные теории».

Никлаус Вирт (автор Паскаля, Modula-2 и Oberon): «В программном обеспечении и в программировании вообще часто употребляется термин «кризис программного обеспечения», о котором впервые открыто заговорили в 1968 г. и который сделал популярным структурное программирование. Был признан тот факт, что сложное программное обеспечение может быть понято только тогда, когда оно упорядочено и структурировано. Разработка огромных систем, где задействованы армии «аналитиков», со всей очевидностью доказывает необходимость координации работ, документирования и соблюдения соглашений, которые должны быть представлены в виде спецификаций интерфейсов. Руководство (management) становится доминирующим фактором, и все упомянутые аспекты так или иначе покрываются новой волной, носящей название «программная инженерия» (software engineering). Все это настоятельно требует по-настоящему профессионального подхода» .

Бьерн Страуструп (автор языка Cu++): «Я — ярый приверженец идеи объектно-ориентированного программирования и связанных с ним принципов и технологий проектирования, впервые появившихся в языке Simula 67. Однако это не единственный эффективный подход. Многие программистские задачи лучше всего решаются с помощью методов, не укладывающихся в узкое определение понятия «объектно-ориентированный»».

Деннис Ритчи (автор языка Си): «Что меняется, так это роль высокоуровневых языков: по мере роста числа людей, связанных с компьютерами, она становится важнее. Языки, поначалу бывшие лишь симпатичными маленькими инструментами, такие как, скажем, Perl или Python, внезапно переместились ближе к центру мироздания».

Ларри Уолл (автор языка Perl): «Наиболее революционным изменением в проектировании языков сейчас можно считать тот факт, что мы все больше внимания уделяем более крупным,...

Это не вся статья. Полная версия доступна только подписчикам журнала. Пожалуйста, авторизуйтесь либо оформите подписку.