Книга: Технологии программирования
1.5. ОСОБЕННОСТИ ПРОГРАММНЫХ РАЗРАБОТОК
1.5. ОСОБЕННОСТИ ПРОГРАММНЫХ РАЗРАБОТОК
Томас Кун в 1977 г. определил термин «парадигма» как свод норм научного мышления. Парадигма — это правило (modus operandi) развития научного знания. Оно в течение определенного времени дает научному сообществу модель постановки проблем и их решений.
Когда та или иная методология применяется во время стадии кодирования (реализации), очень часто ее называют парадигмой программирования — способом мышления в программировании.
В программировании существуют различные концепции языков (парадигмы), которые при написании программ могут приводить как к одним и тем же, так и радикально различным подходам. Более того, для ряда языков необходим «свой» тип мышления, особые технологии разработки, особая школа обучения. Большинство программистов используют в работе один-два языка программирования в рамках одной парадигмы. Иногда программисту бывает трудно понять чью-то программу, реализованную в непривычной для него парадигме. В противовес изменению цели проекта под используемый язык в ряде проектных случаев рационально избрать иной язык программирования.
Приемы и способы программирования конкретного программиста определяются используемым языком. Часто в стороне остаются альтернативные подходы к цели, а следовательно, не используются оптимальные решения в выборе парадигмы, соответствующей решаемой задаче. Ниже дан список основных парадигм программирования вместе с присущими им видами абстракций:
— процедурно-ориентированные — алгоритмы;
— объектно-ориентированные — классы и объекты;
— логически-ориентированные — цели, выраженные в исчислении предикатов;
— ориентированные на правила — правила «если…, то…»;
— ориентированные на ограничения — инвариантные соотношения;
— параллельное программирование — потоки данных. Существуют и другие парадигмы. Почему же их столько? Отчасти потому, что программирование — сравнительно новая
дисциплина, а отчасти — из-за желания людей решать разные задачи. Кроме того, наиболее популярная в данный момент компьютерная архитектура не является единственной. В настоящее время проводится большое число экспериментов с машинами, имеющими нестандартные архитектуры, многие из которых рассчитаны на применение других парадигм программирования, например числа Фибоначчи. Общая природа цифровых машин позволяет с большей или меньшей эффективностью моделировать одну архитектуру с помощью другой. Из архитектур наиболее удачны те, в которых за счет аппаратуры и программного обеспечения достигнута наивысшая скорость и простота использования.
Невозможно назвать какую-либо парадигму наилучшей во всех областях практического применения. Например, для проектирования баз знаний более пригодна парадигма, ориентированная на правила. Объектно-ориентированная парадигма является наиболее приемлемой для широкого круга задач, связанных с большими промышленными системами, в которых основной проблемой является сложность.
- 1.1. ОБЩИЕ ПОЛОЖЕНИЯ ТЕОРИИ ПРОЕКТИРОВАНИЯ
- 1.2. ОБЩИЕ ПРИНЦИПЫ РАЗРАБОТКИ ПРОГРАММ
- 1.3. СИСТЕМНЫЙ ПОДХОД И ПРОГРАММИРОВАНИЕ
- 1.4. ОБЩЕСИСТЕМНЫЕ ПРИНЦИПЫ СОЗДАНИЯ ПРОГРАММ
- 1.5. ОСОБЕННОСТИ ПРОГРАММНЫХ РАЗРАБОТОК
- 1.6. СТАНДАРТЫ И ПРОГРАММИРОВАНИЕ
- 1.7. ОПИСАНИЕ ЦИКЛА ЖИЗНИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- 1.8. СТАДИИ И ЭТАПЫ РАЗРАБОТКИ ПРОГРАММ
- 1.9. ТИПОВЫЕ ОШИБКИ ОБУЧАЕМЫХ ПРИ СОСТАВЛЕНИИ ТЕХНИЧЕСКОГО ЗАДАНИЯ
- 1.10. МОДЕЛИРОВАНИЕ И ПРОГРАММИРОВАНИЕ. ПОНЯТИЕ СПЕЦИФИКАЦИЙ
- 1.11. МНЕМОНИКА ИМЕН В ПРОГРАММАХ
- 1.12. ПРОБЛЕМА ТИПОВЫХ ЭЛЕМЕНТОВ В ПРОГРАММИРОВАНИИ
- Глава 6 АРХИТЕКТУРА ПРОГРАММНЫХ СИСТЕМ
- 5.10. Особенности международного налогообложения трансграничных услуг
- Глава 2 ОПТИМИЗАЦИЯ ПРОГРАММНЫХ РАЗРАБОТОК
- Особенности системы защиты данных в InterBase
- Особенности InterBase 6.5
- Отличительные особенности сервера Yaffil
- Отличительные особенности новой версии
- Особенности оформления текста книги
- 3.3. Дом на ветру, или Особенности коммуникации треугольника
- 1.1.5. Свойства и особенности туруслуг и турпродуктов
- Особенности B2B-сервиса
- Условия копирования, распространения и модификации программных продуктов