Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
L02.doc
Скачиваний:
4
Добавлен:
15.11.2019
Размер:
83.46 Кб
Скачать

1.4.2. Методологии программирования

В конце 1960-х – начале 1970-х годов началось интенсивное развитие структурного программирования. Важной причиной было смещение основных расходов с аппаратного на программное обеспечение. Это произошло из-за уменьшения стоимости микросхем и увеличения стоимости программ. С помощью компьютеров решались все большие и сложные задачи, а повышение про­изводительности работы программистов было относительно небольшим.

Новые методологии разработки ПО, возникшие в результате исследований 1970-х годов, были названы нисходящим проектированием и пошаговым уточнением. Основными обнаруженными в то время недостатками языков програм­мирования были неполная проверка типов и нехватка управляющих операторов (приводившая к широкому использованию оператора goto).

В конце 1970-х годов началось смещение внимания от процедурно-ориен­тированных к информационно-ориентированным методологиям разработки программ. Новые методы придавали большее значение структуре данных, сосредоточившись на использовании абстрактных типов данных для решения проблем.

Для эффективного использования абстракции данных нужно было обеспечить ее поддержку языками программирова­ния. Первым языком, предназначенным для ограниченной поддержки абстракции дан­ных, был язык SIMULA 67.

Завершающим этапом эволюции информационно-ориентированного ПО стало возникновение в начале 1980-х объектно-ориенти­рованной методологии разработки программ. Она со­стоит из трех основных частей: абстракции данных, инкапсулирующей в одном объекте данные вместе с методами их обработки и скрывающей доступ к данным, а также насле­дования и динамического связывания (полиморфизма). Наследование – это мощная концепция, значи­тельно усилившая возможность многократно использовать существующее программное обеспечение и, соответственно, резко повысившая производительность труда при разра­ботке программ. Наследование оказалось важным фактором увеличения популярности объект­но-ориентированных языков программирования. Более гибко использовать наследование позволяет динамическое связывание, осуществляемое в ходе выполнения программы.

Объектно-ориентированное программирование (ООП) развивалось одновременно с языком Smalltalk, поддерживающим его концепцию. Он не получил такого распространения, как некоторые другие языки, но под­держка ООП теперь включена в популярнейшие императивные языки программирования, к которым относятся языки Ada, C++, Java, C#. Концепции ООП также нашли применение в функциональном программировании – CLOS и в логическом программировании – Prolog++.

Процедурно-ориентированное программирование в некотором смысле является противоположностью информационно-ориентированного программирования. Методы последнего сейчас преобладают в разработке ПО, но и методы процедурно-ориентированного программирования еще актуальны. В последние годы процедурные подходы применяются в области параллельного выполнения программ. В результате возникла необходимость в языковых средствах, позволяющих создавать параллельные программные модули и управлять ими.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]