Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сит.docx
Скачиваний:
10
Добавлен:
26.09.2019
Размер:
353.03 Кб
Скачать

5. Развитие парадигмы программирования

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

Операциональное программирование (языки программирования типа ассемблеров, Бейсика, Фортрана). Программа «собирается» из мелких деталей, отдельных операций и имеет достаточно простую структуру: область глобальных данных и подпрограммы. Уровень абстрагирования - отдельное действие, принципы декомпозиции задачи отсутствуют, во всяком случае, о них не говорят. Нисходящая технология конструирования программ. Суть нисходящего конструирования программ в разбивке большой задачи на меньшие подзадачи, которые могут рассматриваться отдельно. Основными правилами для успешного применения данной технологии являются: • формализованное и строгое описание программистом входов функций и выходов всех модулей программы и системы; • согласованная разработка структур данных и алгоритмов; • ограничение на размер модулей. Структурное программирование (языки программирования Паскаль, Модула-2).

Характерные черты структурного стиля программирования: • простота и ясность (программа легко читается и анализируется, достаточное комментирование);• использование только базовых конструкций; • отсутствие сетевых структур в программе;• отсутствие многоцелевых функциональных блоков;• отсутствие неоправданно сложных арифметических и логических конструкций; • расположение в строке программы не более одного оператора языка программирования;• содержательность имен переменных. При этом процесс нисходящей разработки программы может продолжаться до тех пор, пока не будет достигнут уровень «атомарных» блоков, т. е. базовых конструкций (присвоения, if-then-else, do-while). В структурном программировании уточнен принцип декомпозиции задачи (в основном ее алгоритмического аспекта, т.е. действий, однако уровень интеграции действий и данных «на совести» разработчика) и сделана попытка его строгой формализации. Модульное программирование. Достаточно независимые фрагменты задачи оформляются как модули. Создаются библиотеки модулей, разрабатывается механизм включения модулей в разрабатываемую программу. Модуль должен иметь строго определенный интерфейс и скрытую часть, одну точку входа и одну точку выхода. Очередной этап развития принципа декомпозиции задачи и абстрагирования. Объектно-ориентированное программирование (языки программирования Турбо Паскаль, начиная с версии 5.5, Смоллток, С++). Характеризуется тремя основополагающими идеями: инкапсуляцией, наследованием, полиморфизмом.

Каждый новый виток, «вбирая» все от предыдущего, решает основную проблему технологии (разработка надежного и эффективного программного проекта с минимальными затратами) новым, более совершенным инструментарием (принципы декомпозиции и абстрагирования, приемы анализа и синтеза и т. д.). Мера дезорганизации (энтропия) программных проектов (имеется в виду весь их «жизненный цикл») как сложных систем уменьшается.

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