
- •История развития средств разработки программ
- •Введение
- •Заря компьютеров
- •I этап (1940-е – середина 50-х)
- •II этап (середина 50-х – середина 60-х)
- •III этап (середина 60-х – середина 70-х)
- •IV этап (середина 70-х – 80-е годы)
- •V этап (1990-е годы)
- •VI этап (2000-е годы – настоящее время)
- •Заключение
- •Библиография
IV этап (середина 70-х – 80-е годы)
На этом этапе на смену чипам приходят БИС – большие интегральные схемы. Стали появляться многопроцессорные вычислительные системы. Также стали производиться дешевые и компактные мини- и персональные ЭВМ, а на их основе формироваться вычислительные сети.
В 1981 г. появился компьютера IBM PC, который приобрел большую популярность, занял ведущее место на рынке и фактически стал стандартом персонального компьютера.
С этого момента производство персональных компьютеров встало на конвейер: им стали заниматься многие фирмы, и IBM вскоре утратила свое ведущее положение.
В частности, на рынке ведущую роль заняли производители деталей ЭВМ – такие как Intel и AMD в производстве процессоров.
В области языков программирования любопытных новинок тоже появилось немало. Появились интегрированные среды разработки. Правда, следует уточнить, что эти новинки были скорее продолжениями идей предыдущего этапа. Например, в России наиболее популярной стала среда Turbo фирмы Borland (Turbo Pascal в 1984 г. перенесен в ОС MS DOS).
ЯВУ ADA был разработан по заказу Министерства обороны США в 1979 г. В этом языке использовано много идей из Паскаля и Алгола-68, а также заимствованы лучшие конструкции других языков. ADA явился представителем модульных языков программирования.
Концепцию модульного программирования можно сформулировать в виде нескольких ключевых понятий и положений:
• Функциональная декомпозиция задачи – разбиение большой задачи на ряд более мелких, функционально самостоятельных подзадач – модулей. Модули связаны между собой только по входным и выходным данным.
• Модуль – основа концепции модульного программирования. Каждый модуль в функциональной декомпозиции представляет собой «черный ящик» с одним входом и одним выходом.
• Реализуемые решения должны быть простыми и ясными. Процесс декомпозиции нужно продолжать до тех пор, пока не будет достигнуто ясное понимания назначения всех модулей задачи и их оптимального сочетания.
Модульный подход позволяет безболезненно производить модернизацию программы в процессе ее эксплуатации и облегчает ее сопровождение. Дополнительно модульный подход позволяет разрабатывать части программ одного проекта на разных языках программирования, после чего с помощью компоновочных средств объединять их в единый загрузочный модуль.
Кроме этого подхода, в начале 80-х получил распространение еще один метод программирования – объектно-ориентированное программирование (ООП).
ООП подразумевает выделение части предметной области, обладающей некоторыми характеристиками (свойствами) и способами изменения этих характеристик (методами). Программная реализация этой части предметной области называется объектом. То есть идея ООП заключается в стремлении связать данные с обрабатывающими эти данные процедурами в единое целое – объект.
Объекты имеют методы (methods), то есть набор действий, которые они «умеют» выполнять. Методы подобны глаголам (например, открывать, копировать, вставлять, выполнять сортировку, форматировать и т. д.)
Подобно объектам реального мира, объекты имеют свойства или характеристики (properties). Если считать, что объекты - это существительные, а методы - глаголы, то свойства являются прилагательными. Свойство - это качество или характеристика объекта, например, его имя, цвет, место, размер, значение, шрифт в надписи и т.д.
ООП основано на трех важнейших принципах, придающих объектам новые свойства.
Инкапсуляция – объединение в единое целое данных и алгоритмов (процедур) обработки этих данных. В рамках ООП данные называются характеристиками (свойствами) объекта, а алгоритмы – методами объекта.
Наследование – свойство объектов порождать своих потомков. Объект-потомок автоматически наследует от родителей все характеристики и методы, может дополнять объекты новыми характеристиками и заменять (перекрывать) методы родителя или дополнять их. То есть при создании новых объектов свойства объектов могут добавляться или наследоваться от объектов-предков.
Полиморфизм - возможность использования методов с одинаковыми именами для обработки данных разных типов
Для описания объектов служат классы. Класс определяет свойства и методы объекта, принадлежащего этому классу. Соответственно, любой объект можно определить как экземпляр класса.
Классы – это такие программные абстракции, которые представляют собой как бы шаблон или тип объекта. Поэтому говорят, что объект является экземпляром того или иного класса. Это позволяет программировать любые объекты реального мира, вкупе со всеми их атрибутами (свойствами) и поведением (функциями, или методами). Ранее, в структурном программировании, приходилось работать с ограниченным набором типов данных, которые ограничивали уровень абстракции и были не очень удобны для представления объектов реального мира.
Программирование рассматриваемого метода заключается в выборе имеющихся или создании новых объектов и организации взаимодействия между ними.
Отметим, что на сегодняшний день ООП является одной из ведущих методологий в современных языках программирования.
В 1983 году был разработан язык С++ как модификация Си при помощи ООП, при этом с сохранением скорости, присущей Си и возможности выполняться на различных платформах (видах компьютеров). Кроме С++, другим не менее ярким новшеством стал язык Java.
Основные возможности интегрированных сред разработки того времени – удобный и многофункциональный редактор кода, компилятор с раздельной компиляцией модулей, средства быстрой сборки и запуска приложений, эффективный отладчик кода, легко доступные библиотеки функций и процедур, развитая справочная система.
Итог: внедрение новых средств разработки в этот период произвело революцию в создании ПС за счет многократного ускорения цикла кодирование – компиляция – отладка