Маркетинг идей на примере языка программирования оберон

Дипломная работа - Маркетинг

Другие дипломы по предмету Маркетинг

?пециализацию, поддержание и сопровождение программных средств.

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

Логическое программирование (язык Пролог и Пятое японское поколение) не оправдало надежд, будучи удобным в области логики, оно плохо адаптируется к стандартным в других областях методам алгоритмики.

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

Объектный подход позволяет в наибольшей степени обобщить специфические алгоритмы на максимально широкие области действий.

История языков программирования началась с фортрана и алгола, заложивших основу двух тенденций развития языков. Первая линия языков, связанная с фортраном, есть языки "практические", создавались в момент осознанной производственной потребности, обрастали "фичами", вводимыми ad hoc - по мере необходимости, авторами нововведений были инженеры и пользователи. Кроме фортрана это также ПЛ/1, си. Вторая линия или тенденция - это языки "теоретические", создававшиеся в недрах академическиой среды. Таковы алгол, алгол-68, паскаль.

Принято считать, что первым языком программирования высокого уровня был фортран. Предпосылки к появлению таких языков были заложены проф. А.А. Ляпуновым, предложившим операторный метод в 1953 г., на основе которого в 1954 г. в СССР появилась первая программирующая программа (так в СССР называли трансляторы) [4].

 

1.1 Фортран

 

Фортран - первый реализованный язык программирования высокого уровня. Создан командой Дж. Бэкуса для корпорации ИБМ через 10 лет после появления первых компьютеров [5] на основе созданного в 1954 г. алгебраического подхода, по существу совпадающего с операторным методом. Советские программы имели меньшую славу и значение только из-за подавляющего количественного превосходства американских ЭВМ.

Поскольку еще не было методик формального описания языков, то на вопросы по синтаксису и семантике программисты в шутку отвечали: "Спросите транслятор". Т.е. язык фактически определялся реализацией. В результате появились нормальные формы Бэкуса (НБФ), и исследования по языкам получили большое развитие.

Компьютеры были еще довольно слабы, и при развитии фортрана ставились две главные цели: 1) сам факт реализации высокоуровневых конструкций и 2) максимальная эффективность. В жертву эффективности, практичности и совместимости приносились все остальные параметры. Фортран долгие годы сохранял свои особенности, накопив огромное количество архаичных деталей.

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

Сопротивление изменениям, диктуемое производством, редкое и осторожное обновление, старательное накопление повторно используемого эффективного и хорошо документированного кода позволили фортрану не состариться - в отличие от истрепанного ежегодными коммерческими "инновациями" дельфи и иже с ним.

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

 

1.2 Алгол

 

Прототип алгола был создан в 1958 году [6], на конференции в ETH (Цюрих, Швейцария) как язык общего назначения, а затем доработан комитетом Международной федерации IFIP и получил большое распространение как язык публикаций алгоритмов [7].

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

Список проблем начинался с алфавита входного языка, поскольку вводные устройства не обеспечивали достаточного набора символов. Не были стандартизованы средства ввода-вывода, что сразу ухудшило переносимость программ. Рекурсивность - не весьма частый гость в программах - добавила головную боль программистам и ухудшила реализацию. Про вызов по имени автор статьи в Википедии замечает: "Эта особенность языка Алгол-60, в остальном довольно разумно организованного, примечательна удивительным сочетанием полной практической бесполезности с чрезвычайной сложностью и неэффективностью реализации".

Тем не менее, это был успех, и этот успех сподвигнул Федерацию на продолжение работ. По общему мнению надо было доработать язык с учетом выявленных проблем. Но здесь произошел раскол. Проф. Н. Вирт и другие предлагали просто убрать излишества и добавить в язык необходимые компоненты. Большинство же стояло за дальнейшее развитие, предлагая сделать язык более мощным. По этому, одобренному большинством проекту был создан по сути новый язык, получивший название алгол-68.

Он сильно опередил возм