Маркетинг идей на примере языка программирования оберон
Дипломная работа - Маркетинг
Другие дипломы по предмету Маркетинг
?пециализацию, поддержание и сопровождение программных средств.
Современный мэйнстрим в области программирования основан на императивном программировании с объектно-ориентированным дополнением, позволяющем в значительной степени унифицировать учет специфичности каждой предметной области.
Логическое программирование (язык Пролог и Пятое японское поколение) не оправдало надежд, будучи удобным в области логики, оно плохо адаптируется к стандартным в других областях методам алгоритмики.
Столь же специфично функциональное программирование. Даже тогда, когда такие языки как лисп и хаскелл позволяют выразить алгоритм короче, это производит впечатление фокуса , а не регулярной последовательности действий.
Объектный подход позволяет в наибольшей степени обобщить специфические алгоритмы на максимально широкие области действий.
История языков программирования началась с фортрана и алгола, заложивших основу двух тенденций развития языков. Первая линия языков, связанная с фортраном, есть языки "практические", создавались в момент осознанной производственной потребности, обрастали "фичами", вводимыми ad hoc - по мере необходимости, авторами нововведений были инженеры и пользователи. Кроме фортрана это также ПЛ/1, си. Вторая линия или тенденция - это языки "теоретические", создававшиеся в недрах академическиой среды. Таковы алгол, алгол-68, паскаль.
Принято считать, что первым языком программирования высокого уровня был фортран. Предпосылки к появлению таких языков были заложены проф. А.А. Ляпуновым, предложившим операторный метод в 1953 г., на основе которого в 1954 г. в СССР появилась первая программирующая программа (так в СССР называли трансляторы) [4].
1.1 Фортран
Фортран - первый реализованный язык программирования высокого уровня. Создан командой Дж. Бэкуса для корпорации ИБМ через 10 лет после появления первых компьютеров [5] на основе созданного в 1954 г. алгебраического подхода, по существу совпадающего с операторным методом. Советские программы имели меньшую славу и значение только из-за подавляющего количественного превосходства американских ЭВМ.
Поскольку еще не было методик формального описания языков, то на вопросы по синтаксису и семантике программисты в шутку отвечали: "Спросите транслятор". Т.е. язык фактически определялся реализацией. В результате появились нормальные формы Бэкуса (НБФ), и исследования по языкам получили большое развитие.
Компьютеры были еще довольно слабы, и при развитии фортрана ставились две главные цели: 1) сам факт реализации высокоуровневых конструкций и 2) максимальная эффективность. В жертву эффективности, практичности и совместимости приносились все остальные параметры. Фортран долгие годы сохранял свои особенности, накопив огромное количество архаичных деталей.
В то же время по практичности он сохранял лидерство благодаря тесным связям с производством. Модульность не только логическая, но и физическая (раздельная компиляция модулей) отсутствовала у многих последующих языков академического происхождения, а о модульности данных господа профессоры задумались лишь 20 лет спустя.
Сопротивление изменениям, диктуемое производством, редкое и осторожное обновление, старательное накопление повторно используемого эффективного и хорошо документированного кода позволили фортрану не состариться - в отличие от истрепанного ежегодными коммерческими "инновациями" дельфи и иже с ним.
Благодаря этому он сохранил обозримость, легкость конструкций и готовность к действительно новым применениям, в частности, в параллельных вычислениях.
1.2 Алгол
Прототип алгола был создан в 1958 году [6], на конференции в ETH (Цюрих, Швейцария) как язык общего назначения, а затем доработан комитетом Международной федерации IFIP и получил большое распространение как язык публикаций алгоритмов [7].
Довольно быстро, хотя и не без труда были созданы трансляторы с языка в Европе и Советском Союзе. При создании алгола ставилась цель очистить фортран от случайных решений, сделать язык регулярнее. И это удалось. Однако, поскольку концепции языка базировались не столько на требованиях практики, сколько на академическом интересе, язык приобрел немало неудачных особенностей, затруднивших реализацию трансляторов и снизивших эффективность получающихся кодов.
Список проблем начинался с алфавита входного языка, поскольку вводные устройства не обеспечивали достаточного набора символов. Не были стандартизованы средства ввода-вывода, что сразу ухудшило переносимость программ. Рекурсивность - не весьма частый гость в программах - добавила головную боль программистам и ухудшила реализацию. Про вызов по имени автор статьи в Википедии замечает: "Эта особенность языка Алгол-60, в остальном довольно разумно организованного, примечательна удивительным сочетанием полной практической бесполезности с чрезвычайной сложностью и неэффективностью реализации".
Тем не менее, это был успех, и этот успех сподвигнул Федерацию на продолжение работ. По общему мнению надо было доработать язык с учетом выявленных проблем. Но здесь произошел раскол. Проф. Н. Вирт и другие предлагали просто убрать излишества и добавить в язык необходимые компоненты. Большинство же стояло за дальнейшее развитие, предлагая сделать язык более мощным. По этому, одобренному большинством проекту был создан по сути новый язык, получивший название алгол-68.
Он сильно опередил возм