Технологии программирования
Технологии программирования. Структура первых программ
Технология - это некий набор знаний (способов, инструментов), которые позволяют достичь желаемой цели. Исходя из этого
Технологии программирования - это способы создания программ. Эти способы включают в себя как определённые знания (например, знание языка программирования), так и определённые инструменты (например, средства разработки программ).
То есть технология программирования - это совокупность знаний и способов, использование которых приведёт к созданию нужной программы - от идеи до результата.Различают технологии, используемые на конкретных этапах разработки или для решения отдельных задач этих этапов, и технологии, охватывающие несколько этапов или весь процесс разработки. В основе первых, как правило, лежит ограниченно применимый метод, позволяющий решить конкретную задачу. В основе вторых обычно лежит базовый метод или подход (парадигма), определяющий совокупность методов, используемых на разных этапах разработки, или методологию.
Исторически в развитии программирования можно выделить несколько принципиально отличающихся методологий.
Первый этап – «стихийное» программирование (от появления первых вычислительных машин до середины 60-х годов XX в). Первые программы имели простейшую структуру. Они состояли из собственно программы на машинном языке и обрабатываемых ею данных (рис. 1). Сложность программ в машинных кодах ограничивалась способностью программиста одновременно мысленно отслеживать последовательность выполняемых операций и местонахождение данных при программировании.
Рис. 1. Структура первых программ
Создание языков программирования высокого уровня, таких, как FORTRAN и ALGOL, существенно упростило программирование вычислений, снизив уровень детализации операций, что позволило увеличить сложность программ.
Появление в языках средств, которые могли оперировать подпрограммами (отдельными блоками программного кода), позволило создать огромные библиотеки расчетных и служебных подпрограмм, которые можно было вызвать из разрабатываемой программы. Типичная программа того времени состояла из основной программы, области глобальных данных и набора подпрограмм (в основном библиотечных), выполняющих обработку всех данных или их части (рис. 2).
Рис. 2. Архитектура программы с глобальной областью данных
Слабым местом такой архитектуры было то, что при увеличении количества подпрограмм возрастала вероятность искажения части глобальных данных какой-либо подпрограммой.Чтобы сократить количество ошибок, было предложено в подпрограммах размещать локальные данные (рис. 3).
Рис. 3. Архитектура программы использующей подпрограммы с локальными данными
Появление средств поддержки подпрограмм позволило осуществлять разработку программного обеспечения нескольким программистам параллельно.