Рассказываем, как они появились и почему исчезли.
Если открыть статью в духе «Какой язык программирования учить в 2025 году», можно заметить плюс-минус одни и те же тезисы. Обычно они сводятся к рассуждениям о количестве открытых вакансий, зарплатной вилке или библиотеках и фреймворках, которые обещают изменить вообще все. Python, JavaScript или C++ живее всех живых, и в ближайшие годы им вряд ли что-то грозит. Но ведь не все языки программирования оказались столь успешными.
В статье вспомним языки программирования, которые либо не дожили до современности, либо остались в полузачаточном состоянии. Постараемся не просто перечислить мертвые языки, но и описать их идеи, ошибки и причины, по которым они исчезли из истории программирования через короткое время после рождения.
На ум приходят различные диалекты
Язык
Примеры ниже показывают, что инновация сама по себе не гарантирует успеха. Даже самые продвинутые идеи могут оказаться невостребованными, если язык сложен в освоении, не поддерживается сообществом или просто появляется в неподходящее время.
Но не стоит считать эти языки неудачами. Многие из них послужили источником вдохновения для будущих технологий, а их ошибки помогли разработчикам создавать более удобные и эффективные инструменты. Без экспериментов не бывает прогресса, а значит, даже языки-призраки внесли свой вклад в развитие программирования.
Мертвый язык программирования — это когда язык больше не расширяется для включения новых функций и не используется для программирования новых разработок. Это неплохое определение для кратковременного составления условного списка. Конечно, есть те, которые просто вышли из моды. Но это не значит, что такие языки не могут запускать программы и работать.
Кто знает, возможно, прямо сейчас создается очередной новый язык, который либо изменит индустрию, либо пополнит список забытых технологий.
Клавиатура APL
(define-predicate pair?) (define-settable-operation (car pair)) (define-settable-operation (cdr pair)) (define (cons the-car the-cdr) (object nil ((pair? self) t) ((car self) the-car) ((cdr self) the-cdr) (((setter car) self new-car) (set the-car new-car)) (((setter cdr) self new-cdr) (set the-cdr new-cdr))))
class HELLOcreate makefeature make do print ("Hello World%N") endend
MODULE HelloWorld;IMPORT Io;BEGIN IO.Put ("Hello World\n")END HelloWorld.
message ("Hello, World!");
'Hello, world.'// => Hello, world.
(* hello-world.cl *) class Main inherits IO { main() : Object { out_string("Hello, world.\n") }; };
{Curl 7.0, 8.0 applet} {text color = "blue", font-size = 16pt, Hello World}
``
<<Helloworld.aml>>=fun iter i 0 f = () | iter i n f = (f i; iter (i+1) (n-1) f)do print "Hello, World!\n"do iter 1 10 (fn i => print(Int.toString i^"\n"))do OS.Process.exit OS.Process.success
var myString = "hello world", reversed = [myString reverse];alert(reversed); // alerts "dlrow olleh"
(prn "Hello, World")
cl::Kernel kernel(program, "HelloWorld", &err);
FUNC Main() int IO.write("Hello World\n") RETURN 0}
Например, программисты
Программисты COBOL 60 лет назад
Программисты COBOL в наши дни
Точно так же язык C никогда не умрет. Это стержень IT-индустрии, используемый для операционных систем, драйверов устройств, компиляторов и т. д. Как и Java — это стандартный язык программирования для предприятий. В этом он похож на COBOL.
Языки умирают, когда ими перестают пользоваться. Например, вряд ли много людей пишут код на языке
То есть не важно, насколько старым является ЯП. Пока в нем есть необходимость, он будет жить. К списку выше можно добавить Common Lisp, Erlang/Elixir, Haskell, Smalltalk. Языкам, которые имеют широкое применение, требуется очень много времени, чтобы вымереть.
Если открыть статью в духе «Какой язык программирования учить в 2025 году», можно заметить плюс-минус одни и те же тезисы. Обычно они сводятся к рассуждениям о количестве открытых вакансий, зарплатной вилке или библиотеках и фреймворках, которые обещают изменить вообще все. Python, JavaScript или C++ живее всех живых, и в ближайшие годы им вряд ли что-то грозит. Но ведь не все языки программирования оказались столь успешными.
В статье вспомним языки программирования, которые либо не дожили до современности, либо остались в полузачаточном состоянии. Постараемся не просто перечислить мертвые языки, но и описать их идеи, ошибки и причины, по которым они исчезли из истории программирования через короткое время после рождения.
Почему умирают языки программирования
Причины бывают разные. Некоторые ЯП изначально создавались лишь в качестве эксперимента. Другие оказывались чрезмерно сложными. Третьи разрабатывались под конкретное железо или крайне специфическую задачу и в скором времени необходимость в них просто исчезала. Были и такие, которые пытались заменить собой сразу несколько других языков, но что-то пошло не так.На ум приходят различные диалекты
Для просмотра ссылки необходимо нажать
Вход или Регистрация
(1964), появившиеся вместе с
Для просмотра ссылки необходимо нажать
Вход или Регистрация
,
Для просмотра ссылки необходимо нажать
Вход или Регистрация
,
Для просмотра ссылки необходимо нажать
Вход или Регистрация
и другими. Они умерли вместе с софтом, для которого создавались. То же произошло с
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, на смену которому пришли новые стандарты. То же наверняка произойдет с подмножеством диалекта C++ для Arduino, когда тот устареет.Язык
Для просмотра ссылки необходимо нажать
Вход или Регистрация
(1964) умер из-за необходимости в специальной клавиатуре. Другие языки, такие как
Для просмотра ссылки необходимо нажать
Вход или Регистрация
,
Для просмотра ссылки необходимо нажать
Вход или Регистрация
и
Для просмотра ссылки необходимо нажать
Вход или Регистрация
были интересными экспериментами, но умерли, потому что не смогли конкурировать с более современными и популярными альтернативами.Примеры ниже показывают, что инновация сама по себе не гарантирует успеха. Даже самые продвинутые идеи могут оказаться невостребованными, если язык сложен в освоении, не поддерживается сообществом или просто появляется в неподходящее время.
Но не стоит считать эти языки неудачами. Многие из них послужили источником вдохновения для будущих технологий, а их ошибки помогли разработчикам создавать более удобные и эффективные инструменты. Без экспериментов не бывает прогресса, а значит, даже языки-призраки внесли свой вклад в развитие программирования.
Мертвый язык программирования — это когда язык больше не расширяется для включения новых функций и не используется для программирования новых разработок. Это неплохое определение для кратковременного составления условного списка. Конечно, есть те, которые просто вышли из моды. Но это не значит, что такие языки не могут запускать программы и работать.
Кто знает, возможно, прямо сейчас создается очередной новый язык, который либо изменит индустрию, либо пополнит список забытых технологий.
Вымершие языки
Есть много языков программирования, которые появились, но почти сразу же оказались ненужными. Вот несколько примеров.Plankalkül (1940-е)
Разработан
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, является одним из первых языков программирования, но никогда не применялся на практике.NTERCAL (1972)
Для просмотра ссылки необходимо нажать
Вход или Регистрация
был создан как пародийный язык для демонстрации странных возможностей программирования и изначально не имел никакой практической цели. Вымер естественным образом, так как никто им всерьез не пользовался.APL2 (1980-е)
Улучшенная версия APL, но APL сам по себе был нишевым и сложным, поэтому не прижился.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
использовал нестандартные символы и требовал особой клавиатуры, из-за чего программисты просто не хотели с ним работать.Клавиатура APL
T (1980-е)
Для просмотра ссылки необходимо нажать
Вход или Регистрация
разрабатывался как альтернатива Lisp, проиграл конкуренцию языкам Scheme и Common Lisp.(define-predicate pair?) (define-settable-operation (car pair)) (define-settable-operation (cdr pair)) (define (cons the-car the-cdr) (object nil ((pair? self) t) ((car self) the-car) ((cdr self) the-cdr) (((setter car) self new-car) (set the-car new-car)) (((setter cdr) self new-cdr) (set the-cdr new-cdr))))
Eiffel (1986)
Для просмотра ссылки необходимо нажать
Вход или Регистрация
был объектно-ориентированным языком, но проиграл конкуренцию C++ и Java. Хотя Eiffel ввел концепцию контрактного программирования, его идеи просто заимствовали другие языки. Да, вот еще одна причина вымирания — язык внес в программирование что-то классное, его идеи получили признание, но сам сгинул.class HELLOcreate makefeature make do print ("Hello World%N") endend
Modula-3 (1988)
Для просмотра ссылки необходимо нажать
Вход или Регистрация
пытался предложить улучшенный вариант Pascal, но в то время Pascal уже терял популярность, и индустрия переходила к C++ и Java, так что язык быстро забыли.MODULE HelloWorld;IMPORT Io;BEGIN IO.Put ("Hello World\n")END HelloWorld.
S-Lang (1992)
Разрабатывался как альтернатива Perl, но так и не смог его заменить.message ("Hello, World!");
F (1995)
Не путайте F с
Для просмотра ссылки необходимо нажать
Вход или Регистрация
и
Для просмотра ссылки необходимо нажать
Вход или Регистрация
. Облегченная версия Fortran для обучения, но его быстро забыли.Lasso (1995)
Для просмотра ссылки необходимо нажать
Вход или Регистрация
пытался конкурировать с PHP в веб-разработке, но его архитектура оказалась слишком сложной, а производительность — низкой. Хотя код выглядит довольно простым:'Hello, world.'// => Hello, world.
COOL (Classroom Object-Oriented Language, 1996)
Учебный язык для Стэнфорда, не использовался вне учебных курсов.(* hello-world.cl *) class Main inherits IO { main() : Object { out_string("Hello, world.\n") }; };
Microsoft J++ (1996)
Попытка Microsoft создать свою версию Java. Поддержка прекращена после судебного процесса с Sun Microsystems.REBOL (1997)
Для просмотра ссылки необходимо нажать
Вход или Регистрация
предлагал минималистичный подход к программированию, но из-за нехватки библиотек его никто не воспринял всерьез. Язык не смог конкурировать с Python и Ruby.Curl (1998)
Для просмотра ссылки необходимо нажать
Вход или Регистрация
пытался совместить HTML, CSS и JavaScript в одном языке, но со временем веб-стандарты эволюционировали, и в таком языке просто не стало необходимости.{Curl 7.0, 8.0 applet} {text color = "blue", font-size = 16pt, Hello World}
Unlambda (1999)
Язык, созданный ради абсурда — у него нет переменных и функций в привычном понимании. Соответственно практического применения тоже нет.``
s
`sii`ki `s
`s`ks `s
`s`ks``s`k`s`kr ``s`k`si``s`k`s`k d
```````````.H.e.l.l.o.,. .w.o.r.l.d.! k k k
s
`s`ksk`k.*Alice ML (2002)
Экспериментальный функциональный язык с логическим программированием, который остался только в научной среде.<<Helloworld.aml>>=fun iter i 0 f = () | iter i n f = (f i; iter (i+1) (n-1) f)do print "Hello, World!\n"do iter 1 10 (fn i => print(Int.toString i^"\n"))do OS.Process.exit OS.Process.success
Go! (2003)
Язык
Для просмотра ссылки необходимо нажать
Вход или Регистрация
для искусственного интеллекта. Он не связан с более поздним Go (2009) от Google. Язык должен был завоевать популярность в сфере информационной безопасности, но так и не заинтересовал пользователей.Objective-J (2008)
Попытка объединить JavaScript и Objective-C, но со смертью Objective-C этот язык тоже исчез.var myString = "hello world", reversed = [myString reverse];alert(reversed); // alerts "dlrow olleh"
Ark (2008)
Для просмотра ссылки необходимо нажать
Вход или Регистрация
предлагал безопасную альтернативу C++, но его скорость работы оставляла желать лучшего, и он просто не выдержал конкуренции.(prn "Hello, World")
OpenCL (2009)
Для просмотра ссылки необходимо нажать
Вход или Регистрация
от C создавался для параллельных вычислений на GPU и CPU, но его вытеснили более удобные технологии, такие как CUDA и Vulkan.cl::Kernel kernel(program, "HelloWorld", &err);
Zimbu (2009)
Язык от создателя Vim, который не смог завоевать популярность.FUNC Main() int IO.write("Hello World\n") RETURN 0}
Нишевые, но все еще живые ЯП
А вот здесь, на мой взгляд, нужно сделать небольшую ремарку. Мне бы не хотелось ставить знак равенства между популярностью и живостью языка программирования. Есть языки, настолько специфичные и узкоспециализированные, что известность или собственный хаб на Хабре им не грозят. Да и в подборку того, что нужно изучать в 2025 (или любом другом) году, они не попадут. Но они точно не вымерли.Например, программисты
Для просмотра ссылки необходимо нажать
Вход или Регистрация
(1959) не останутся без работы, поскольку этот древний ЯП — основа мировой финансовой и деловой инфраструктуры. Этот язык, возможно, вообще никогда не умрет.Программисты COBOL 60 лет назад
Программисты COBOL в наши дни
Точно так же язык C никогда не умрет. Это стержень IT-индустрии, используемый для операционных систем, драйверов устройств, компиляторов и т. д. Как и Java — это стандартный язык программирования для предприятий. В этом он похож на COBOL.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
(1957) никогда не умрет. Он жизненно важен для многих видов научных вычислений, включая прогнозирование погоды.Языки умирают, когда ими перестают пользоваться. Например, вряд ли много людей пишут код на языке
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, для реализации которого был изобретен транспьютер Inmos. И это один из лучших и наиболее известных академических языков.То есть не важно, насколько старым является ЯП. Пока в нем есть необходимость, он будет жить. К списку выше можно добавить Common Lisp, Erlang/Elixir, Haskell, Smalltalk. Языкам, которые имеют широкое применение, требуется очень много времени, чтобы вымереть.
JavaScript — один из популярных языков программирования, который точно останется востребованным.
Для просмотра ссылки необходимо нажать
Вход или Регистрация