Зарождением языков программирования принято считать девятнадцатый век. Тогда английский математик Ада Лавлейс описала алгоритм первой в мире программы для вычисления чисел Бернулли на аналитической машине Чарльза Бэббиджа. В случае успешной реализации этого алгоритма на практике мы бы получили первый компьютер на паровом двигателе уже в 1840-х годах, однако история повернулась несколько по-другому.
С тех пор компьютеры стали работать на электричестве, а чтобы написать первый в мире высокоуровневый язык программирования, потребовалась без малого сотня лет - мы говорим о языке “Планкалкюль”, компилятор к которому появился лишь через полвека.
Сейчас языки развиваются гораздо быстрее: то, что было популярно в среде программирования 20-30-40 лет назад, сейчас абсолютно устарело. Мы хотим вспомнить самые известные языки, которые сейчас утратили свою популярность.
Fortran
Fortran (Formula Translator) был самым первым высокоуровневым языком программирования, успешно применяемым на практике - вышеупомянутый “Планкалкюль” на момент появления Фортрана еще не имел собственного транслятора.
Очень быстро Fortran стал популярен среди научного сообщества, поэтому за несколько лет были созданы пакеты по вычислениям во многих математических дисциплинах. Именно поэтому в ученой среде этот язык популярен и до сих пор. В СССР о нем узнали немногим позже, но зато именно здесь разработали графическое расширение ГРАФОР, а советский популяризатор науки А. Зарецкий опубликовал “Энциклопедию профессора Фортрана”, объяснявшую детям основы компьютерной грамотности.
Язык до сих пор обновляется и обзаводится современными стандартами. Так, например, у Фортрана появилась поддержка ООП и совместимость с языком С.
Algol
Algol (Algoritmic Language) стал этаким европейским конкурентом Фортрана. В Америке на тот момент не было нормальных компиляторов Алгола - производитель компьютеров IBM тратил огромное количество ресурсов на продвижение Fortran.
Разработчики никак не могли условиться с синтаксисом: в США разделителем целого и дробного числа была точка, а в Европе - запятая. Зато в СССР с Algol было все замечательно. Были и собственные трансляторы, и широкое признание во многих организациях на советском пространстве. Именно в Алголе появилась блочная структура данных, предполагающая наличия основной программы и второстепенных подпрограмм. Так или иначе, Algol и его модификации оказали большое влияние на разработку последующих языков программирования, в том числе и очень популярного Pascal.
Basic
Basic (Beginner's All-purpose Symbolic Instruction Code) приобрел широкое распространение ввиду своей максимальной простоты. Он предназначался для создания программ для повседневных задач людьми, не имеющими профильного образования - этому способствовал рост доступности компьютеров в 60х годах прошлого века.
Особенно, кстати, этот простой язык пришелся на машине Altair, на которой было очень мало памяти для разработки ПО громоздкими Фортраном или Алголом. С Бейсиком и Альтаиром связано становление компании Microsoft как успешного производителя софта - написанный Биллом Гейтсом и Полом Алленом Altair Basic обеспечил прибыль будущей корпорации вплоть до появления MS-DOS.
Впрочем, критики в адрес этого языка было немало. Особенно его ругали за то, что многие студенты перенимали плохие привычки программирования, которые позже использовали при создании более крупных проектов. Сейчас доступно большое количество диалектов Бейсика, однако все они далеко ушли от первоначальной концепции языка.
Turbo Pascal
Паскаль (прототипом которому послужил Алгол) - наиболее известный широкому кругу обывателей язык. В основном благодаря тому, что его изучают на уроках информатики в старших классах средней школы. Turbo Pascal - диалект языка Паскаль производства фирмы Borland, который благодаря отличной рекламной кампании получил массовое распространение и принес огромные доходы разработчику.
Хвалить именно эту среду разработки было за что: профессионалы отмечали крайне привлекательную цену и качественный встроенный компилятор, а новички радовались обширной справочной информации, поставляемой в комплекте. Со временем язык обзавелся процедурными типами и возможностями ООП и довольно быстро перерос в не менее популярное детище Borland - Delphi.
Cobol
В сфере бизнеса и финансов был свой, отдельный язык программирования. Cobol (Common business oriented language) отличался прекрасным инструментарием для работы со структурами данных и файлами - по сути, именно поэтому он долгое время использовался в бизнес-приложениях.
Однако его синтаксис был далек от совершенства, во многом из-за того, что создатели языка хотели максимально приблизить конструкции кода к английскому языку. В начале двухтысячных популярность Cobol пошла на спад. Некоторые из компаний до сих пор используют программное обеспечение на этом языке, но в приоритете у большинства бизнес-структур - перейти на менее громоздкие и гораздо более дешевые современные варианты.
Ada
Ada получила свое название в честь той самой Ады Лавлейс, великого математика и первого в мире программиста. Этот язык был создан в конце семидесятых для бортовых систем военных объектов Пентагона. За пределы военной ниши у Ады выбраться не получилось как минимум по двум причинам.
Во-первых, изначально у нее не было совместимости с другими языками, что затрудняло взаимодействие с уже имеющимися разработками. Во-вторых, программы на Ada были предназначены для очень мощных вычислительных систем Военно-вооруженных сил, а весь остальной вычислительный парк оказался за бортом, не имея даже нормального компилятора.
Сейчас язык Ада (да, в русском сегменте интернета ходит бородатый анекдот на эту тему) изучается всего в нескольких учебных заведениях России, однако спрос в индустрии на него крайне невелик. Даже несмотря на то, что последние версии этой среды разработки поддерживают современные возможности ООП.
LISP
LISP (List Processor) был создан Массачусетским Технологическим Университетом для решения задач по работе над искусственным интеллектом. Один из его диалектов был использован в весьма успешном, но, увы, тупиковом проекте по созданию разумной машины SHRDLU. Здесь ИИ смог отличать одни блоки от других и определять их содержимое, однако на понимание более сложных задач ресурсов системы не хватало.
Так или иначе, производные LISP используются для автоматизации процессов в AutoCAD, GIMP, а также при создании видеоигр. Для ЛИСП-программ даже были созданы специальные компьютеры, обеспечивающие очень большие вычислительные мощности - однако ПК общего назначения очень быстро догнали и перегнали по функционалу эти некогда перспективные машины.
Prolog
В логическом программировании самым распространенным языком был Prolog (фр. Programmation en Logique). Основная особенность софта на основе этого языка в том, что он производит вычисления в виде значений “истина” или “ложь”, обращаясь при этом к собственной базе данных.
Так, например, Пролог используется в IBM Watson - суперкомпьютере с системой исскуственного интеллекта “вопрос-ответ”, который выиграл главный приз в телевизионной викторине. Впрочем, при создании такой машины использовались еще и Java, и С++, так как Пролог не совсем подходит для создания очень сложных вычислительных систем - как минимум, из-за неудобного контроля результатов промежуточного кода.
PL/1
Долгое время у бухгалтеров был своеобразный стандарт - Cobol, который, пусть и был весьма распространенным языком, но предоставлял недостаточно широкий набор функций для поставленных задач. Так появился PL/1 (Programming Language 1): он содержал такой богатый набор возможностей, что компилятора, который поддерживал бы весь набор функций, до сих пор не существует.
Также PL/1 должен был объединить ученых, использующих Fortran, и финансистов на Cobol вместе, однако это у него не особо получилось. В основном из-за своей необычайной сложности и трудности реализации подходящего компилятора. PL/1 использовался в мейнфреймах многих компаний, однако с развитием Фортрана и Кобола перестал быть популярным - в последних версиях аналогов были реализованы все особенности, ради которых пригодился бы PL/1.
J#
С распространением .NET Framework Microsoft решила перетащить пласт разработчиков Java в свой лагерь - для этой цели и был выпущен J#. Получилась ни рыба ни мясо: J# не был полноценным Java-языком, а лишь имел в наличии похожий синтаксис.
В то же время для поддержки .NET ему требовалось наличие дополнительных “костылей” - специальных библиотек, что еще больше затрудняло работу с ним. Проще говоря, из-за неполной совместимости языков для перехода на платформу Microsoft разработчикам было удобнее изучить, например, С#.
Неудобств в таком случае было гораздо меньше. Именно поэтому распространение J# плавно сошло на нет, язык был исключен из пакета Visual Studio, а его поддержка полностью заканчивается в следующем году.
Как видите, история развития языков программирования очень глубока и насыщенна. Практически все популярные ныне средства для разработки обязательно используют гигантскую часть наработок своих устаревших предшественников. Если вы хотите поделиться практическим опытом использования вышеупомянутых средств или дополнить наш список, добро пожаловать в комментарии!
Комментарии
Страницы
Вздор. Ни С, ни С++ не устарели.
Фортран автор относит, судя по заголовку, к десятке языков, которые никому не нужны. Но тут же пишет:
Так всё-таки кому-то нужен?
С каких это пор подпрограммы стали второстепенными?
Паскаль, судя по заголовку, тоже никому не нужен, но автор тут же вспоминает, что он -- основа Делфи и его составная часть. Так нужен Паскаль или нет?
Опять вздор. Как раз наоборот. Например, для СМ-1800 был компилятор с Ада и работал отлично. Хотя машина была на слабеньком 8-разрядном процессоре. Ада разрабатывался именно для маломощных встрвиваемых вычислителей, как сильноструктурированный высокоуровневый язык.
Что касается Лиспа, то знать его или хотя бы иметь о нём чёткое представление обязан любой уважающий себя программист.
Что касается Бейсика, то его развитие -- VBA -- основа MS-оффиса, надо бы знать.
Не прижившиеся языки -- Фокал, Форт, APL. Даже не упомянуты.
В целом -- почти бесполезная статья. Тройка с минусом. Ну или двойка с плюсом. :)
Тут не совсем понятная фраза... Погуглив стало понятно, что из самых необычных особенностей языка можно выделить сопоставление при помощи привычного оператора присвоения "=". К этому надо привыкнуть, так как даже простейший инкремент делается только при помощи рекурсии.
Ну а "база данных" - это сам язык. Т. е, он, в некотором смысле, подобен базе данных, так как выполняет запросы к самому себе и ищет логические соответствия.
Отношение плюс — 0 + Число = Число. Если Ч1 + Ч2 = Рез, то (Ч1+1) + Ч2 = (Рез+1).
Отношение умножить — 0 * Число = 0. Если Ч1 * Ч2 = Рез и Рез + Ч2 = Рез2, то (Ч1+1) * Ч2 = Рез2.
Это довольно необычный язык и с ним интересно было бы поработать, так как он совершенно не похож на Си-подобные языки.
Вообще не так плохо, как тут комментят. И Паскаль, и Кобол - прошлый век однозначно. За Аду и J#, конечно, не скажу.
Фортран не может умереть, потому что в научной среде ему нет замены. Новые компиляторы появляются постоянно, причём не какие-то компиляторы, а оптимизирующие от Интела.
Ada, при должном внимании программистской общественности, имеет все шансы занять наконец достойное место в мире актуальных широко используемых языков. Ни один другой язык не предоставляет таких возможностей для написания надёжных, легко читаемых и сопровождаемых программ с предсказуемым поведением. Ада'2012 в дополнение к механизму модулей, встроенной в язык многозадачности и ООП включил в себя возможность программирования по контракту. Году этак в 2020 в С++ обещают включить модули. Остаётся тайной, удастся ли нынешнему поколению программистов дожить до контрактов в Си++.
Непонятно, каким боком в обзор попал J#. Это изначально проходной язык, целью которого была пересадка программистов Java и J++ на C#. Официально поддерживался только в Студиях 2003 и 2005.
Забыты точно - Foxpro, Clipper, Natural. (C)
Ну да, ну да. Именно это мне рассказывали в начале 1990-х про Аду: какой это классный язык и как просто на нем писать надежные программы. С тех пор прошло уже четверть века, а внимание широкой общественности все как-то не привлекается и не привлекается.
Фигассе... На "Беларуськалии" и "Атланте" (завод холодильников) - большие системы ещё на FoxPro...
Да, я же забыл про "Беларуськалий" и "Атлант". (С)
1. С тех пор язык стал ещё класснее. Версия 2012 года - вообще сказка. Хотя ООП в стиле Оберона сбивает с толку :)
2. На Аде действительно сложно написать ненадёжную программу. Правда ценой невозможности слабать фигню «на коленке». Сначала думать надо, потом писать.
3. Ввиду п.2 программистская общественность ведётся на лозунги типа «Пиши быстро, пиши без ТЗ, отлаживай в процессе компиляции и сдавай сырой продукт, всё равно завтра начинать с начала!» В итоге имеем что имеем: колоссы на костылях, подпёртых костылями, завязанных верёвочками с бантиками.
Страницы