на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Программирование и достижения компьютерной техники
p align="left">В этот период по мере накопления опыта и теоретического осмысления совершенствовались языки программирования. В 1958--1960 гг. в Европе был создан ALGOL, который породил целую серию алголоподобных языков: Algol W, (1967), Algol 68, Pascal (Н. Вирт, 1970 г.), С (Д. Ритчи и Б. Керниган, 1972 г.), Ada (под ру-ководством Ж. Ишбиа, 1979 г.), C++ (1983). В 1961-1962 гг. Дж. Маккарти в Массачусетс ком технологическом институте был создан язык функционального программирования Lisp, открывший в программировании одно из альтернативных направлений, предло-женных Дж. фон Нейманом.

На начало 1970-х гг. существовало более 700 языков высокого уровня и около 300 трансляторов для автоматизации программирования.

Усложнение структуры ЭВМ привело (в 1953 г. для машин И-го поколения) к созданию операционных систем (ОС) -- специальных управляющих программ для организации и решения задач на ЭВМ. Например, мониторная система МТИ, созданная в Массачусетском технологическом институте, обеспечивала пакетную обработку, т. е. непрерывное, последовательное прохождение через ЭВМ многих групп (пакетов) заданий и пользование библиотекой служебных программ, хранимой в машине. Это позволило совместить операции по запуску с выполнением программ.

Для ПЭВМ к настоящему времени разработаны ОС: MS DOS, Windows, ОС/2, МасОС, Unix, Linux и др. Широкое распростране-ние получили ОС MS DOS и Windows, имеющие развитый интер-фейс и широкий набор приложений, позволяющих последователь-ное выполнение заданий из пакета, обработку различной информа-ции во многих сферах человеческой деятельности.

В 1965 г. итальянцы Бом и Джакопини предложили использо-вать в качестве базовых алгоритмических элементов следование, ветвление и цикл. Почти в то же время к аналогичным выводам пришел голландский ученый Э. Дийкстра, заложивший основы структурного программирования. В 1970-х гг. эта методология оформилась, и корпорация IBM сообщила о применении в разра-ботке программного обеспечения «Усовершенствованных методов программирования», одним из компонентов которых являлась тех-нология нисходящего структурного программирования (структур-ного программирования), основу которого составляет следующее:

* сложная задача разбивается на простые, функционально управляемые задачи, каждая задача имеет один вход и один выход; управляющий поток программы состоит из совокуп-ности элементарных функциональных подзадач;

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

* программа разрабатывается поэтапно, на каждом этапе реша-ется ограниченное число точно поставленных задач.

Четко сформулированные основы нисходящей разработки, структурного кодирования и сквозного контроля позволяли перейти к промышленным методам разработки программного обеспечения.

Развитие получило модульное программирование, основа которого заключается в следующем:

* функциональная декомпозиция (разбиение) задачи на самостоятельные подзадачи -- модули, связанные только входны-ми и выходными данными;

* модуль представляет собой «черный ящик», позволяющий разрабатывать части программ одного проекта на разных язы-ках программирования, а затем с помощью компоновочных средств объединять их в единый загрузочный модуль;

* должно быть ясное понимание назначения всех модулей зада-чи и их оптимального сочетания;

* с помощью комментариев должно описываться назначение всех переменных модуля.

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

В истории развития промышленного программирования боль-шую роль сыграл программист и бизнесмен Билл Гейтс (Gates William Henry, p. в 1955 г.). Его история очень поучительна для на-чинающих программистов. В 1972 г. Билл Гейтс и его школьный то-варищ Пол Аллен основали компанию по анализу уличного движе-ния «Трэф-О-Дейта» и использовали для обработки данных компь-ютеры с микропроцессором 8008 -- первым из знаменитого ряда микропроцессоров компании «Intel». Будучи студентом Гарвардско-го университета, в 1975 г. он совместно с Алленом написал для ком-пьютера Altair (фирмы M1TS) интерпретатор -- программу-перево-дчик с языка программирования на язык машинных кодов. Они за-ключили с владельцем фирмы соглашение, по которому их программы распространялись вместе с компьютерами. Товарищи основали компанию «Microsoft», в которой Б. Гейтсу принадлежало 60 % акций, П. Аллену -- 40 %. В 1976 г. Гейтс ввел в практику про-дажу лицензий на свои программные продукты непосредственно производителям компьютеров, что позволило «встраивать» их (ОС и трансляторы с языков программирования) в компьютеры. Это было большое достижение в области маркетинга, принесшее фирме ог-ромные доходы. Фирма привлекала таких новых заказчиков, как фирмы «Apple», «Commodor», «Tendi». В 1980 г. фирма IBM предло-жила «Microsoft», в которой тогда работало около двух десятков че-ловек, создать языки программирования для ее нового персональ-ного компьютера, в дальнейшем известным как IBM PC. В 1981 г. «Microsoft» приобрела у разработчика Т. Патерсона дисковую ОС (DOS), и в августе этого года IBM PC поставлялась вместе с ОС MS DOS. Успех был настолько велик, что, кроме значительных доходов, привел к тому, что и архитектура Intel, и компьютеры IBM, и про-граммы «Microsoft» фактически стали отраслевыми стандартами. В 1988 г. «Microsoft» создала свою ОС Windows с мощным графическим интерфейсом. К 1995 г. ОС, выпускаемые фирмой, использо-вали 85 % персональных компьютеров. ОС Windows совершенству-ется год от года, обладая уже средствами доступа в глобальную сеть Internet. Вместе с фирмой NBC был создан круглосуточный кабель-ный информационный канал новостей. Совместно с фирмой «Эн-карта» создана мультимедиа-энциклопедия на CD-ROM «Книжная полка», содержащая электронные версии семи больших справочни-ков, электронную энциклопедию кино -- «Синемания». В 1995 г. в фирме «Microsoft» работало 18 тыс. человек, годовой выпуск достиг 200 программных продуктов, а доходы составили миллиарды долла-ров. В 1998 г. Б. Гейтс стал самым богатым человеком в мире, а в конце 1999 г. -- объявил о своем решении уйти с поста главы ком-пании и заняться программированием. Сегодня Билл Гейтс -- одна из самых популярных фигур компьютерного мира. Журнал «People» писал: «Гейтс в сфере программирования значит столько же, сколь-ко Эдисон в отношении к электрической лампочке: отчасти инноватор, отчасти предприниматель, отчасти торговец, но неизменно гений».

Профессиональное программирование вышло на уровень техно-логии. Методы разработки ПО синтезируют:

* методы инженерных расчетов для оценки затрат и выбора ре-шений;

* математические методы для составления алгоритмов;

* методы управления для определения требований к системе, учета ситуаций, организации работ и прогнозирования.

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

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

Идея использования программных объектов исследовалась в течение ряда лет разными учеными. Одним из первых языков этого типа считают Simula-67. А в 1972 г. появился язык Smoltalk, разработанный Аланом Кеем, утвердивший статус ООП.

На современном этапе развиваются инструментальные среды и системы визуального программирования для создания программ на языках высокого уровня: (Turbo Pascal, Delphi, Visual Basic, C++Builder и др.).

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

В КП компонент рассматривается как хранилище (в виде DLL-или ЕХЕ файлов) для одного или нескольких классов. Классы рас-пространяются в бинарном виде, а не в виде исходного кода. Пре-доставление доступа к методам класса осуществляется через строго определенные интерфейсы по протоколу. Это снимает проблему несовместимости компиляторов, обеспечивая без перекомпиляции смену версий классов в разных приложениях. Интерфейсы задают содержание сервиса и являются посредником между клиентом и сервером.

Фирма Microsoft создала технологии для распределенной разра-ботки распределенных систем, такие как COM (Component Object Model), COM+, .NET. Разработаны и другие технологии: CORBA (консорциума OMG), JAVA (компании Sun Microsystem) и др.

Идея переложить на ЭВМ функции составителей алгоритмов и программистов дала новые возможности развитию сферы искусст-венного интеллекта, которая должна была создавать методы автома-тического решения интеллектуальных задач. Формализация знаний, которые есть у профессионалов в разных областях, накопление их в базах знаний, реализованных на ЭВМ, стали основанием для созда-ния экспертных систем. На основе баз знаний работают и ЭВМ V по-коления, и интеллектуальные роботы, и экспертные системы. Эти системы могут не только найти решение той или иной задачи, но и объяснить, как оно получено. Появилась возможность манипулировать знаниями, иметь знания о знаниях -- метазнания. Знания, хра-няшиеся в системе, стали объектом ее собственных исследований.

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

В конце 1980-х гг. в Японии и США появились проекты ЭВМ V поколения, реализованные в конце 1990-х гг. Прогресс в програм-мировании связан с прогрессом в архитектуре вычислительных сис-тем, отходом от фон-неймановской концепции, с достижениями в области искусственного интеллекта. Революционные изменения в элементной базе ЭВМ связываются с исследованиями по биоэлектронике.

На современном этапе программирование включает комплекс вопросов, связанных с написанием спецификаций (условий задач), проектированием, кодированием, тестированием и функционирова-нием программ для ЭВМ. Современное ПО для ЭВМ имеет слож-ную структуру и включает, как правило, ОС, трансляторы с различ-ных языков, текстовые программы контроля и диагностики, набор обслуживающих программ. Например, японские ученые для проек-тирования систем ПО разрабатывают идею «кольцевой структуры» шести уровней: 1-й (внутренний) -- программы для аппаратуры; 2-й -- ядро ОС; 3-й -- программы сопряжения; 4-й -- часть ОС, ориентированная на пользователя; 5-й -- системы программирования; 6-й (внешний) -- программы пользователя.

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

Широкое применение структурных и объектно-ориентирован-ных методов программирования с использованием графических моделей объединялось отсутствием инструментальных средств. Это по-родило потребность в программно-технологических средствах спе-циального класса -- CASE (Computer Aided Software Engineering), реализующих технологию создания и сопровождения ПО различных систем. Предпосылки для появления CASE-технологий возникли к концу 1980-х гг. Первоначально термин «CASE» применялся только к вопросам автоматизации разработки ПО, теперь программная инженерия имеет более широкое значение для разработки систем в целом. В CASE-технологии входит разработка и внедрение языков высокого уровня, методов структурного и модульного программирования, языков проектирования и средств их поддержки, формальных и неформальных языков описания системных требований.

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.