Привет, Хабр! Представляю вашему вниманию перевод статьи «5 Most Difficult Programming Languages of the World» автора Anuupadhyay.
Возможно, вы написали свой первый код на языках программирования, таких как C/C++ или Java, и, возможно, столкнулись с трудностями в изучении этих языков. Эти языки по крайней мере читабельны или понятны, но что, если мы скажем написать программу, печатающую 'Hello World!', используя только пробелы, табуляции и переводы строк. Это не шутки, ведь на самом деле в мире имеется несколько языков программирования, в которых код пишется с использованием только нескольких команд или синтаксиса, из-за чего этот код будет нельзя ни прочитать, ни понять. Они также считаются самыми сложными языками программирования в мире, и, возможно, вы впервые узнаете об этих языках (ну это так у автора написано, я-то знаю, что на Хабре эти языки явно встречались), поэтому давайте обсудим эти языки.
Как следует из названия, этот язык на самом деле сложен, и писать программы на нем действительно тяжело. Он создан в 1993 году Урбаном Мюллером. Целью создания было написание языка с компилятором минимального размера. Этот язык использует модель машины, напоминающую машину Тьюринга, и для написания программы язык имеет только 8 команд.
Пример: программы Hello World!
Мы знаем, что название этого языка звучит забавно, но это на самом деле язык программирования, который создан Шоном Хибером в 2003 году. Этот язык состоит из 12 команд, и самое смешное в этом языке — команда ‘moo’ (мычание коровы) или же ее вариации, используемые в этом языке. Написание любого другого символа или слова рассматривается как комментарий. Cow основан на языке, используемом в машине Тьюринга.
Пример: программы Hello World!
Этот язык создан в 1972 году Доном Вудсом и Джеймсом М. Лионом, студентами Принстонского университета. В этом языке нет ни одной произносимой аббревиатуры. Создатели этого языка программирования включили парадоксальные операторы, такие как Read out, Ignore, Please, Forget и другие, чтобы сделать этот язык удобным для пользователя. Самое смешное в этом языке то, что в коде оператор Please должен быть использован 4 раза для проверки вежливости программистов. Если их будет меньше, то код не будет выполняться, потому что компилятор сочтет, что программист излишне груб. А если будет 5 или больше, то также не будет выполняться, потому что компилятор посчитает программиста слишком вежливым.
Пример: программы Hello World!
Этот язык придуман Беном Олмстедом в 1998 году, и удивительный факт заключается в том, что для написания первой программы потребовалось почти два года. Так что вы можете себе представить сложность этого языка. Программирование на этом языке выглядит как чушь или сбой кодировки, и, говорят, что Бен Олмстед не писал ни одной программы на этом языке. Malbolge является общедоступным эзотерическим языком программирования и считается одним из самых сложных языков программирования в мире.
Пример: программы Hello World!
Этот язык создан Эдвином Брэди и Крисом Моррисом 1 апреля 2003 года (День дураков). В тот день, когда его представили, люди думали, что это шутка, но на самом деле это не так. Для написания кода на этом языке можно использовать только пробелы, табуляции и перевод строки. Любой другой символ будет игнорироваться интерпретатором.
Пример: программы Hello World!
Исходный код содержит только пробелы и табуляции, так что не удивляйтесь, что вы его не видите :-)
Другие сложные языки программирования:
Возможно, вы написали свой первый код на языках программирования, таких как C/C++ или Java, и, возможно, столкнулись с трудностями в изучении этих языков. Эти языки по крайней мере читабельны или понятны, но что, если мы скажем написать программу, печатающую 'Hello World!', используя только пробелы, табуляции и переводы строк. Это не шутки, ведь на самом деле в мире имеется несколько языков программирования, в которых код пишется с использованием только нескольких команд или синтаксиса, из-за чего этот код будет нельзя ни прочитать, ни понять. Они также считаются самыми сложными языками программирования в мире, и, возможно, вы впервые узнаете об этих языках (ну это так у автора написано, я-то знаю, что на Хабре эти языки явно встречались), поэтому давайте обсудим эти языки.
1. Brainfuck
Как следует из названия, этот язык на самом деле сложен, и писать программы на нем действительно тяжело. Он создан в 1993 году Урбаном Мюллером. Целью создания было написание языка с компилятором минимального размера. Этот язык использует модель машины, напоминающую машину Тьюринга, и для написания программы язык имеет только 8 команд.
Пример: программы Hello World!
2. Cow
Мы знаем, что название этого языка звучит забавно, но это на самом деле язык программирования, который создан Шоном Хибером в 2003 году. Этот язык состоит из 12 команд, и самое смешное в этом языке — команда ‘moo’ (мычание коровы) или же ее вариации, используемые в этом языке. Написание любого другого символа или слова рассматривается как комментарий. Cow основан на языке, используемом в машине Тьюринга.
Пример: программы Hello World!
3. Intercal
Этот язык создан в 1972 году Доном Вудсом и Джеймсом М. Лионом, студентами Принстонского университета. В этом языке нет ни одной произносимой аббревиатуры. Создатели этого языка программирования включили парадоксальные операторы, такие как Read out, Ignore, Please, Forget и другие, чтобы сделать этот язык удобным для пользователя. Самое смешное в этом языке то, что в коде оператор Please должен быть использован 4 раза для проверки вежливости программистов. Если их будет меньше, то код не будет выполняться, потому что компилятор сочтет, что программист излишне груб. А если будет 5 или больше, то также не будет выполняться, потому что компилятор посчитает программиста слишком вежливым.
Пример: программы Hello World!
4. Malbolge
Этот язык придуман Беном Олмстедом в 1998 году, и удивительный факт заключается в том, что для написания первой программы потребовалось почти два года. Так что вы можете себе представить сложность этого языка. Программирование на этом языке выглядит как чушь или сбой кодировки, и, говорят, что Бен Олмстед не писал ни одной программы на этом языке. Malbolge является общедоступным эзотерическим языком программирования и считается одним из самых сложных языков программирования в мире.
Пример: программы Hello World!
('&%:9]!~}|z2Vxwv-,POqponl$Hjihf|B@@>,=<M:9&7Y#VV2TSn.Oe*c;(I&%$#"mCBA?zxxv*Pb8`qo42mZF.{Iy*@dD'<;_?!\}}|z2VxSSQ
5. Whitespace
Этот язык создан Эдвином Брэди и Крисом Моррисом 1 апреля 2003 года (День дураков). В тот день, когда его представили, люди думали, что это шутка, но на самом деле это не так. Для написания кода на этом языке можно использовать только пробелы, табуляции и перевод строки. Любой другой символ будет игнорироваться интерпретатором.
Пример: программы Hello World!
Исходный код содержит только пробелы и табуляции, так что не удивляйтесь, что вы его не видите :-)
Другие сложные языки программирования:
Комментарии (13)
mistergrim
12.12.2019 11:10+5Так и ожидал, что будут описаны пять самых сложных и _бесполезных_ языков.
nerudo
12.12.2019 11:22+1Чтобы оценить сложность языка можно посмотреть количество страниц в его стандарте.
LibrarianOok
12.12.2019 11:25Вот, для разнообразия,
язык программирования космических кораблейиз игры «Штурман».
Только он несложный.site6893
12.12.2019 12:06да блин, зашел глянуть список из реально используемых языков… а тут очередная хохма про брейнфак, зачем так делать?
danilstepa
12.12.2019 12:19+1Грустная статья, конечно( Надеялся увидеть что-нибудь о сложности условных Idris или OCaml, а в итоге опять сме… ечки о стрелочках
DrPass
Вообще-то все эти языки программирования являются своего рода шутками и развлечением, just for fun.