«Палеонтология кода»: 20 вымерших языков программирования, которые уже никто не поймет
Рассказываем, как они появились и почему исчезли.
Если открыть статью в духе «Какой язык программирования учить в 2025 году», можно заметить плюс-минус одни и те же тезисы. Обычно они сводятся к рассуждениям о количестве открытых вакансий, зарплатной вилке или библиотеках и фреймворках, которые обещают изменить вообще все. Python, JavaScript или C++ живее всех живых, и в ближайшие годы им вряд ли что-то грозит. Но ведь не все языки программирования оказались столь успешными.
В статье вспомним языки программирования, которые либо не дожили до современности, либо остались в полузачаточном состоянии. Постараемся не просто перечислить мертвые языки, но и описать их идеи, ошибки и причины, по которым они исчезли из истории программирования через короткое время после рождения.
Почему умирают языки программирования
Причины бывают разные. Некоторые ЯП изначально создавались лишь в качестве эксперимента. Другие оказывались чрезмерно сложными. Третьи разрабатывались под конкретное железо или крайне специфическую задачу и в скором времени необходимость в них просто исчезала. Были и такие, которые пытались заменить собой сразу несколько других языков, но что-то пошло не так.
На ум приходят различные диалекты BASIC (1964), появившиеся вместе с Commodore, ZX Spectrum, Amiga и другими. Они умерли вместе с софтом, для которого создавались. То же произошло с Flash, на смену которому пришли новые стандарты. То же наверняка произойдет с подмножеством диалекта C++ для Arduino, когда тот устареет.
Примеры ниже показывают, что инновация сама по себе не гарантирует успеха. Даже самые продвинутые идеи могут оказаться невостребованными, если язык сложен в освоении, не поддерживается сообществом или просто появляется в неподходящее время.
Но не стоит считать эти языки неудачами. Многие из них послужили источником вдохновения для будущих технологий, а их ошибки помогли разработчикам создавать более удобные и эффективные инструменты. Без экспериментов не бывает прогресса, а значит, даже языки-призраки внесли свой вклад в развитие программирования.
Мертвый язык программирования — это когда язык больше не расширяется для включения новых функций и не используется для программирования новых разработок. Это неплохое определение для кратковременного составления условного списка. Конечно, есть те, которые просто вышли из моды. Но это не значит, что такие языки не могут запускать программы и работать.
Кто знает, возможно, прямо сейчас создается очередной новый язык, который либо изменит индустрию, либо пополнит список забытых технологий.
Вымершие языки
Есть много языков программирования, которые появились, но почти сразу же оказались ненужными. Вот несколько примеров.
Plankalkül (1940-е)
Разработан Конрадом Цузе, является одним из первых языков программирования, но никогда не применялся на практике.
NTERCAL (1972)
INTERCAL был создан как пародийный язык для демонстрации странных возможностей программирования и изначально не имел никакой практической цели. Вымер естественным образом, так как никто им всерьез не пользовался.
APL2 (1980-е)
Улучшенная версия APL, но APL сам по себе был нишевым и сложным, поэтому не прижился. APL2 использовал нестандартные символы и требовал особой клавиатуры, из-за чего программисты просто не хотели с ним работать.
T (1980-е)
Язык T разрабатывался как альтернатива Lisp, проиграл конкуренцию языкам Scheme и Common Lisp.
Eiffel (1986)
Eiffel был объектно-ориентированным языком, но проиграл конкуренцию C++ и Java. Хотя Eiffel ввел концепцию контрактного программирования, его идеи просто заимствовали другие языки. Да, вот еще одна причина вымирания — язык внес в программирование что-то классное, его идеи получили признание, но сам сгинул.
Modula-3 (1988)
Modula-3 пытался предложить улучшенный вариант Pascal, но в то время Pascal уже терял популярность, и индустрия переходила к C++ и Java, так что язык быстро забыли.
S-Lang (1992)
Разрабатывался как альтернатива Perl, но так и не смог его заменить.
F (1995)
Lasso (1995)
Lasso пытался конкурировать с PHP в веб-разработке, но его архитектура оказалась слишком сложной, а производительность — низкой. Хотя код выглядит довольно простым:
COOL (Classroom Object-Oriented Language, 1996)
Учебный язык для Стэнфорда, не использовался вне учебных курсов.
Microsoft J++ (1996)
Попытка Microsoft создать свою версию Java. Поддержка прекращена после судебного процесса с Sun Microsystems.
REBOL (1997)
REBOL предлагал минималистичный подход к программированию, но из-за нехватки библиотек его никто не воспринял всерьез. Язык не смог конкурировать с Python и Ruby.
Curl (1998)
Curl пытался совместить HTML, CSS и JavaScript в одном языке, но со временем веб-стандарты эволюционировали, и в таком языке просто не стало необходимости.
Unlambda (1999)
Язык, созданный ради абсурда — у него нет переменных и функций в привычном понимании. Соответственно практического применения тоже нет.
Alice ML (2002)
Экспериментальный функциональный язык с логическим программированием, который остался только в научной среде.
Go! (2003)
Язык Go! для искусственного интеллекта. Он не связан с более поздним Go (2009) от Google. Язык должен был завоевать популярность в сфере информационной безопасности, но так и не заинтересовал пользователей.
Objective-J (2008)
Попытка объединить JavaScript и Objective-C, но со смертью Objective-C этот язык тоже исчез.
Ark (2008)
Ark предлагал безопасную альтернативу C++, но его скорость работы оставляла желать лучшего, и он просто не выдержал конкуренции.
OpenCL (2009)
OpenCL от C создавался для параллельных вычислений на GPU и CPU, но его вытеснили более удобные технологии, такие как CUDA и Vulkan.
Zimbu (2009)
Язык от создателя Vim, который не смог завоевать популярность.
Нишевые, но все еще живые ЯП
А вот здесь, на мой взгляд, нужно сделать небольшую ремарку. Мне бы не хотелось ставить знак равенства между популярностью и живостью языка программирования. Есть языки, настолько специфичные и узкоспециализированные, что известность или собственный хаб на Хабре им не грозят. Да и в подборку того, что нужно изучать в 2025 (или любом другом) году, они не попадут. Но они точно не вымерли.
Например, программисты COBOL (1959) не останутся без работы, поскольку этот древний ЯП — основа мировой финансовой и деловой инфраструктуры. Этот язык, возможно, вообще никогда не умрет.
Точно так же язык C никогда не умрет. Это стержень IT-индустрии, используемый для операционных систем, драйверов устройств, компиляторов и т. д. Как и Java — это стандартный язык программирования для предприятий. В этом он похож на COBOL.
Fortran (1957) никогда не умрет. Он жизненно важен для многих видов научных вычислений, включая прогнозирование погоды.
Языки умирают, когда ими перестают пользоваться. Например, вряд ли много людей пишут код на языке Оккам, для реализации которого был изобретен транспьютер Inmos. И это один из лучших и наиболее известных академических языков.
То есть не важно, насколько старым является ЯП. Пока в нем есть необходимость, он будет жить. К списку выше можно добавить Common Lisp, Erlang/Elixir, Haskell, Smalltalk. Языкам, которые имеют широкое применение, требуется очень много времени, чтобы вымереть.
JavaScript — один из популярных языков программирования, который точно останется востребованным. Изучите его основы и прокачайте свои навыки в бесплатном курсе Академии Selectel.
Читайте также: