Из статьи в соавторстве с сыном

Вместе с сыном готовим к публикации статью, посвящённую разработанной нами методологии автоматизированного конструирования программ.

Вот начальная часть раздела ПОДХОД К АВТОМАТИЗАЦИИ ПРОГРАММИРОВАНИЯ

Развитие автоматизации программирования отмечено неубывающим стремлением найти целесообразное представление программы (как объекта) и программирования (как процесса построения этого объекта). Представления о целесообразности зависят не только от природных способностей к символьному моделированию сущностей, но и от приобретённой квалификации в программировании. Нередко недостаточная программистская квалификация (1) выражается в тяге к нестеснённому правилами программированию «в потоке сознания» и агрессивном неприятии подхода к программированию, как науке построения символьных сообщений, определяющих поведение программируемых машин. Среди имеющих приличную математическую подготовку, но не нашедших себя ни в математике, ни в программировании, распространено стремление к «теоретическому программированию», автоматическому синтезу программ или чему-нибудь ещё, где можно отсутствие значимой сути спрятать в лукошке из формул.

Основания для автоматизации любой деятельности тем значительнее, чем лучше изучена эта деятельность и чем удачнее формализована её технология. Это правило справедливо и для автоматизации программирования. Именно поэтому наиболее успешные системы программирования (2) воплощают идеи (3), родившиеся в среде программистов с опытом успешных крупномасштабных проектов.

Известно, например, что успех семейства ОС UNIX во многом определяется возможностями языка C и тем, как в этой операционной системе реализована идея повторного применения программ (4). В сообщении ACM (5) о присуждении К. Томпсону (6) и Д. Ритчи (7) премии Тьюринга (1983 г.) за разработку теории операционных систем и ОС UNIX отмечено, что успех этой системы предопределён удачными ключевыми идеями и их элегантной реализацией.

Благодаря языку C и ОС UNIX появилось поколение разработчиков программного обеспечения с новой идеологией программирования, основой которой является многократное использование имеющихся программ.
_________________________________________

(1) Подтверждённая опытом успешных разработок.

(2) Профессиональные программисты предпочитают те, в которых есть языки, позволяющие получить эффективные программы и которые имеют мощные библиотеки подпрограмм и средства отладки.

(3) Такие, как идея модульного проектирования программ по принципу «сверху вниз», реализованная в технологии структурного программирования.

(4) В ОС UNIX можно сохранить наработанное для последующего использования (в каталогах /bin, /usr/bin, /etc). UNIX - (каналы, процессы и файловая система) построены с расчётом на повторное применение программ. Принцип повторного применения использовался и при разработке самой ОС.

(5) Association for Computing Machinery http://www.acm.org/

(6) Ken Thompson http://www.linfo.org/thompson.html

(7) Dennis MacAlistair Ritchie http://cm.bell-labs.com/cm/cs/who/dmr/


Рецензии