1.1. ПОКОЛЕНИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
11
1.1.3 Модульность, как единица построения программных
систем, или третье поколение языков программиро-
вания
Разрастание программных проектов требовало увеличения коллекти-
вов разработчиков и появления механизмов, позволяющих этим кол-
лективам независимо работать над разными частями проекта. Так по-
явились модули.
Модуль — отдельно компилируемая части программы, состоящая
из наборов данных и подпрограмм.
В модули, как правило, собирались подпрограммы, которые, как
предполагалось, должны разрабатываться и изменяться совместно. Ту-
да же собирались и данные, которые использовались этими подпро-
граммами. Постепенно модули стали новым, более крупным механиз-
мом абстракции программных систем.
Первоначально языки программирования не имели достаточно раз-
витых механизмов защиты данных одного модуля от использования
их процедурами другого. Во многом эта задача ложилась на коллек-
тивы разработчиков. Появившиеся различные подходы в разработке
программных систем благоприятствовали возникновению огромного
количества языков, имеющих те или иные сильные и слабые стороны
в реализации этих принципов. Одним из наиболее развитых предста-
вителей языков третьего поколения стал язык ALGOL-68. Будучи уни-
версальным и реализуя почти все разработанные к тому времени меха-
низмы в алгоритмических языках, он был достаточно труден для пер-
воначального освоении, однако позволял разрабатывать системы кор-
поративного масштаба для больших ЭВМ.
Благодаря распространению малых ЭВМ, огромную популярность
приобрели более простые потомки ALGOL-60 — язык Pascal, до сих
пор наиболее широко используемый в академический и учебной среде,
и появившийся во второй половине 70-х годов язык C, который при-
обрел наибольшую популярность среди профессиональных програм-
мистов. Pascal изначально служил средством обучения структурному
программированию, а язык C был разработан для написания операци-