Технологии программирования
Для начала разберёмся с тем, что такое технология. Постараюсь изъясняться простым языком, пусть даже это будет не очень точно. Зато понятно.
Итак, технология — это некий набор знаний (способов, инструментов), которые позволяют достичь желаемой цели. Исходя из этого
Технологии программирования — это способы создания программ. Эти способы включают в себя как определённые знания (например, знание языка программирования), так и определённые инструменты (например, средства разработки программ).
То есть технология программирования — это совокупность знаний и способов, использование которых приведёт к созданию нужной программы — от идеи до результата.
Различают также технологию программирования и методологию программирования. Но мы в эти дебри лезть не будем — оставим это удовольствие лютым теоретикам.
Развитие технологий программирования
Развитие технологий программирования — это эволюция способов разработки программ. Эту эволюцию можно разбить на следующие этапы (на текущий момент — в будущем может быть придумают что-то ещё):
- Стихийное программирование. То есть “как Бог даст”, как получится. Можно сказать, что на этом этапе какие-либо технологии отсутствовали. На этом этапе случился переход от машинных кодов к ассемблерам. А затем к алгоритмическим языкам программирования. На этом этапе обычно сначала создавали кучу подпрограмм, а потом пытались объединить их в одну программу. Первое время это удавалось. Но по мере усложнения задач, решать их в разумные сроки становилось всё труднее. Поэтому возникла необходимость перехода на второй этап.
- Структурное программирование. Появились структурированные языки программирования. Изначально Паскаль был именно таким языком. А язык С, можно сказать, таким языком и остался. Структурный подход представлял собой технологию, когда большая задача разбивалась на несколько относительно небольших, и представлялась в виде некой иерархической (древовидной) структуры.
- Модульное программирование. Эта технология рождалась почти одновременно со структурным программированием. Идея заключалась в том, чтобы разбивать программы на модули. В модули включали подпрограммы, близкие по своему назначению.
- Объектно-ориентированное программирование (ООП). Технология объектно-ориентированного программирования — это уже современный подход, хотя начиналось это ещё с середины 80-х годов 20-го века. Суть ООП заключается в представлении программы в виде совокупности объектов. Каждый из объектов имеет свои свойства (характеристики) и методы (функции). При этом программисту часто не обязательно знать, как устроен объект. Достаточно только общего описания свойств и методов. Объектно-ориентированные языки программирования — это С++, Object Pascal, Delphi и т.п.
- Компонентый подход и CASE-технологии. Развиваются с середины 90-х прошлого столетия. Программы создаются из отдельных компонентов. Большинство из этих компонентов уже имеются в средствах разработки. CASE-технологии позволяют не только создавать, но и сопровождать программное обеспечение от “рождения до смерти”, то есть на всём жизненном цикле ПО. Компонентный подход в совокупности с ООП на сегодняшний день и является наиболее используемой технологией программирования.
Ну и, как вы понимаете, на всех этих этапах было много чего придумано и создано. То есть эти эти группы можно разбить на подгруппы, а подгруппы — снова разбить и т.д.
Например, к компонентным технологиям можно отнести технологию OLE, разработанную всем известной компанией Microsoft. И к ним же можно отнести технологию CORBA.
То есть представленный выше список — это лишь основные технологии программирования. Точнее даже будет сказать, что это виды технологий программирования.
И в каждом из этих видов есть немало конкретных технологий, таких как OLE, API или .NET. Так что тема эта очень обширная и очень интересная. Как говорится — не переключайтесь ))))
А мы прервёмся на короткую рекламу )))
Этапы развития технологии программирования
1 этап: методологии программирования нет. 2 этап: структурное программирование. 3 этап:модульное программирование. 4 этап: объектно-ориентированное программирование. Развитие технологии проектирования программ опиралось на языки программирования как средство для их осуществления. Эволюция технологии проектирования программ — это эволюция методологий проектирования программ; эволюция языков программирования. Эволюцию технологии программирования рассмотрим на примере развития архитектуры программы, отражающей в общем виде развитие средств программирования. 1 этапМетодологии программирования нет, программирование считается искусством. Архитектура программы имеет следующий вид: Проблемы, возникшие на данном этапе: Данные общедоступны, а следовательно велика вероятность их ошибочного изменения (например, одновременное использование одной и той же переменной для различных целей). В больших программах без структурирования очень сложно разобраться. 2 этап Методология — структурный подход. Архитектура программы имеет следующий вид: Проблемы, возникшие на данном этапе:
- Проблема общей незащищенной области данных решена не полностью, но все же появилась возможность использования локальных переменных в подпрограммах.
- При достаточно большом размере программ структурирование действий с помощью подпрограмм не уменьшает растущей сложности, что так же не полностью решает данную проблему.
- Разработчики объединяются в группы, что предполагает дальнейшее развитие методологии программирования. Появилась необходимость в методологии, позволяющей программистам эффективно использовать совместно разработанный код программы.
Проблемы, решенные на данном этапе:
- Появился метод проектирования программ – метод пошаговой детализации.
- Выделены три основных алгоритмических конструкции (следование, ветвление и цикл), достаточных для построения любого алгоритма.
3 этап Методология — модульный подход. Архитектура программы имеет следующий вид: Проблемы, возникшие на данном этапе:
- Область данных в модуле может быть закрыта от внешнего использования, но это не всегда бывает удобно, т.к. не позволяет удобно использовать данные модуля. Мы можем иметь либо полностью доступные, либо полностью недоступные данные. Проблемы, решенные на данном этапе:
- Повысился уровень систематизации, что позволило существенно уменьшить уровень сложности при проектировании программ. Частично решена проблема зашиты данных внутри модуля.
В результате данных этапов эволюции технологии проектирования программ наметились следующие тенденции их развития:
- необходимо мобильное (избирательное) ограничение доступности данных;
- все больше внимания стали уделять проектированию данных, а уже потом алгоритма для их оперирования
Все это потребовало разработки новой методологии проектирования программ, которая существенным образом отличается от всех других тем, что в ней используется новая модель данных — модель «активных» данных. Проблемы, возникшие на данном этапе:
- Громоздкость описания требует больших аппаратных ресурсов, а так же ограничивает область применения данного подхода задачами со сложной предметной областью (не эффективно применять для решения малых задач).
Проблемы, решенные на данном этапе:
- Данный подход не отрицает два предыдущих, а основывается на них:
- программа состоит из модулей
- модули содержат описание классов и объектов («активных» данных) oметоды (алгоритмы) активных данных строятся на основе
- В программе может отсутствовать область общих глобальных данных • Основой при конструировании программы служат «активные» данные.
- Защита в описываемых «активных» данных стала более мобильная.
Для продолжения скачивания необходимо пройти капчу: