Site icon AppTractor

5 самых сложных языков программирования в мире

Мы все более или менее можем понять C, C++, Java, Python, Kotlin или Swift, но есть некоторые языки программирования, которые сложны и непонятны для большинства разработчиков программного обеспечения.

Эти языки называются эзотерическими языками программирования (или esolang).

Esolang не предназначены для обычной разработки программного обеспечения. Они скорее некое доказательство концепции или шутка.

Вот список из пяти самых сложных языков программирования. Попробуйте создать «Hello World!» на каждом из и них и вы, несомненно, получите массу удовольствия.

Malbolge

Malbolge был создан в 1998 году Беном Олмстедом. Этот esolang считается самым сложным языком программирования.

Говорят, что автор Malbolge не написал ни одной программы, используя этот язык. Код hello world в Мальболге появился спустя почти два года после того, как Олмстед изобрел сам язык.

Вот код для печати «Hello World!» в Malbolge.

(= <`# 9] ~ 6ZY32Vx / 4Rs + 0No- & Jk)" Fh} | Bcy? `= * Z] Kw% oG4UUS0 / @ - ejc (: '8dc

Вот результат:

На Malbolge трудно писать, потому что:

INTERCAL

Джим Лайон и Дон Вудс разработали INTERCAL в 1972 году как пародию на различные языки программирования.

Первоначальное название ему было — «язык программирования с непроизносимой аббревиатурой».

INTERCAL имеет множество функций, которые могут расстроить программиста.

Например, он использует модификаторы, такие как “PLEASE” («ПОЖАЛУЙСТА»). Компилятор может отклонить код, если «ПОЖАЛУЙСТА» не используется. Он считает программу «недостаточно вежливой». Если модификатор «PLEASE» используется слишком много раз, компилятор отклоняет код, заявляя, что он «чрезмерно вежливый».

Вот код для печати «Hello, World!» на INTERCAL.

DO ,1 <- #13

PLEASE DO ,1 SUB #1 <- #238

DO ,1 SUB #2 <- #108

DO ,1 SUB #3 <- #112

DO ,1 SUB #4 <- #0

DO ,1 SUB #5 <- #64

DO ,1 SUB #6 <- #194

DO ,1 SUB #7 <- #48

PLEASE DO ,1 SUB #8 <- #22

DO ,1 SUB #9 <- #248

DO ,1 SUB #10 <- #168

DO ,1 SUB #11 <- #24

DO ,1 SUB #12 <- #16

DO ,1 SUB #13 <- #162

PLEASE READ OUT ,1

PLEASE GIVE UP

Вывод:

Brainfuck

Brainfuck был разработан Урбаном Мюллером в 1993 году. Этот язык был изобретен для развлечения программистов.

Само название предполагает, что язык должен быть чрезвычайно сложным для понимания любым программистом.

Весь язык состоит всего из восьми различных символов и их достаточно для реализации любого кода. Исходный компилятор, разработанный Мюллером, использовал всего 296 байт.

Вот код для печати «Hello World!» на Brainfuck.

++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++

 ..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.

COW

COW был разработан в 2003 году Шоном Хибером. Как только вы увидите код “Привет, мир”, вы поймете, почему язык был назван «COW».

COW похож на Brainfuck по уровню сложности. По сравнению с Brainfuck в нем на четыре команды больше, то есть всего 12 команд на весь язык.

Вот код для печати «Hello, World!» на COW.

MoO MoO MoO MoO MoO MoO MoO MoO MOO moO MoO MoO MoO MoO
MoO moO MoO MoO MoO MoO moO MoO MoO MoO MoO moO MoO MoO
MoO MoO MoO MoO MoO MoO MoO moO MoO MoO MoO MoO mOo mOo
mOo mOo mOo MOo moo moO moO moO moO Moo moO MOO mOo MoO
moO MOo moo mOo MOo MOo MOo Moo MoO MoO MoO MoO MoO MoO
MoO Moo Moo MoO MoO MoO Moo MMM mOo mOo mOo MoO MoO MoO
MoO Moo moO Moo MOO moO moO MOo mOo mOo MOo moo moO moO
MoO MoO MoO MoO MoO MoO MoO MoO Moo MMM MMM Moo MoO MoO
MoO Moo MMM MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo
MOo Moo mOo MoO Moo

Whitespace

Whitespace был разработан в Даремском университете Крисом Моррисом и Эдвином Брэди. Язык был выпущен в День дураков в 2003 году.

Весь язык зависит от пробелов, табуляции и перевода строк. Интерпретатор пробелов игнорирует непробельные символы и рассматривает их как комментарии к коду.

Вот пример кода для печати «Hello World!» — каждому символу пробела, табуляции или перевода строки предшествует комментарий «S», «T» или «L» соответственно.

Дичь

Есть еще много подобных эзотерических языков и вот еще некоторые из них.

Этот сайт предоставляет компиляторы и интерпретаторы почти для всех языков. Вы можете скопировать код из статьи и поиграть с ними.

Exit mobile version