Языки программирования не всегда устроены так, чтобы быть простыми. Программное обеспечение в целом стало проще писать, но эти языки были составлены так, чтобы их было трудно использовать.
Языки программирования, хотя и сложные, обычно создаются с целью облегчить программирование чего-то полезного. Но вы найдете языки программирования, единственной целью которых является сделать вашу жизнь более сложной или, возможно, даже несчастной.

1. Шекспир

Shakespeare — это язык, предназначенный для создания кода, похожего на шекспировскую пьесу. Мы можем использовать операторы перехода, такие как «давайте двигаться», чтобы перемещаться между различными строками кода. Вы найдете даже объявления, используя такие ключевые слова, как «если так». Обычный фрагмент шекспировского языка программирования напоминает массивный набор кодов.

2. JSF*CK

JSF*CK — это язык, который работает на Javascript, но использует только круглые и квадратные скобки, восклицательные знаки и логотип плюса. Это чем-то напоминает мне попытку выяснить RegExp, если понимание RegExp необходимо для выполнения каких-либо действий во время выступления. Более того, JSF*CK является законным Javascript, что означает, что вы можете запускать его в стандартной программе. Вот несколько примеров того, насколько сложным это может быть.

3. Пит

Piet — это язык программирования, созданный с помощью цветов. Обычно это означает, что вам нужно создать небольшое растровое изображение, которое преобразуется в код, понятный вашему собственному компьютеру. Код работает, оценивая разницу между цветами, чтобы определить действия, которые необходимо предпринять. Ниже приведена хорошая иллюстрация у Пита того, как сказать «привет, мир».

4. Мальболге

Malbolge был создан, чтобы стать одним из самых сложных языков программирования для понимания и практически невозможным для использования. На самом деле, если Malbolge и родился, даже основатель не создал для него приложения. Большая часть кода в Malbolge написана на разных языках, хотя некоторые скрипты написаны на чистом Malbolge.

5. Пробелы

Все, кто когда-либо программировал, по-прежнему расстроены тем, как другие используют пробелы. Я, вероятно, потратил дни всей своей жизни на код, в котором табуляция и отступы не имели никакого смысла. Чтобы дать вам представление обо всем, что похоже, приведенный ниже код (который я нашел в Интернете) напечатает «Hello World». В реальном коде не будет S (расстояние), T (табуляция) или L (перевод строки). персонажей, но они здесь для того, чтобы помочь вам понять, что происходит.

Источник: https://www.ekascloud.com/our-blog/5-of-the-hardest-programming-languages-ever/2849