Народ, всем привет. Когда говорят о языках программирования, что первое приходит вам на ум? Ну, наверно, Python, JavaScript, C++, может Java. Они созданы для удобства, читаемости, производительности. Но существует параллельный мир, где языки создавались вовсе не ради пользы, а ради эксперимента, абсурда, чистой инженерной шутки. Программистам бывает скучно, ну а что…
И хотя они выглядят как шутка, но они реально работают. Некоторые можно использовать для реальных задач, другие созданы против перегруженности современного программирования. Давайте сегодня поговорим про пять самых странных, но рабочих языков программирования, с которыми вы точно не столкнётесь в корпоративной разработке, но которые оставят след в вашей голове.
1. Brainfuck: язык-пытка
Если бы Сизиф (да-да, тот, который трудится любил) был программистом, он писал бы на Brainfuck. Этот язык был создан Урбаном Мюллером в 1993 году и задуман как минималистичный и максимально неудобный способ программирования. В Brainfuck всего восемь команд: `+`, `-`, `>`, `<`, `[`, `]`, `.` и `,`. Всё управление памятью, циклы и вывод — через эти символы.
Пример:
`++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
` выводит на экран “Hello World!”.
Зачем такое? Чтобы доказать, что даже с абсурдно минимальным синтаксисом можно создать тьюринг-полный язык. Brainfuck одновременно анекдот, философия и челлендж. Многие используют его как средство пытки для студентов или способ развлечься, доказав, что способны думать, как компьютер.
2. LOLCODE: язык для интернет-котиков
Это язык, который выглядит как диалект мемов в стиле «I Can Has Cheezburger?». Он был создан Адамом Линдси в 2007 году и предназначен для того, чтобы код выглядел как текст от лица интернет-кота.
HAI 1.2
CAN HAS STDIO?
I HAS A VAR
IM IN YR LOOP
UP VAR!!1
VISIBLE VAR
IZ VAR BIGGER THAN 10? KTHX
IM OUTTA YR LOOP
KTHXBYE
LOLCODE не просто шутка, для него есть интерпретаторы, и он действительно может выполнять программы. Идея проста: перенести интернет-сленг в программирование. Результат это абсурд, но работающий. Это один из немногих языков, где ключевое слово «VISIBLE» используется для вывода в консоль.
3. Whitespace: язык, который нельзя увидеть
Whitespace создан Эдвином Брэйди и Крисом Моррисом в 2003 году. Главная особенность его в том, что синтаксис состоит исключительно из пробелов, табов и переводов строк. Всё, что не является whitespace-символом, игнорируется.
Пример кода просто выглядит как пустое место. Буквально. Весь смысл в том, чтобы создать язык, код на котором «невидим» в обычном редакторе. Это делает чтение и отладку практически невозможными. Зачем? Опять же — ради шутки, но с глубоким подтекстом, показать, как много в коде зависит не от букв, а от структуры и интерпретации.
Кстати, у нас есть и другой канал, FIT FOR FUN, про фитнес, бодибилдинг, правильное питание, похудение и ЗОЖ в целом. Кому интересно, ждем вас в гости!
Несмотря на всю абсурдность, Whitespace является тьюринг-полным языком и может исполнять любые алгоритмы. Теоретически вы можете написать на нём полноценную программу. Практически — только если вы мазохист.
4. Shakespeare: поэзия в коде
Если вы когда-нибудь мечтали программировать как драматург эпохи возрождения, язык Shakespeare (или SPL — Shakespeare Programming Language) создан именно для вас. Он выглядит как пьеса Уильяма Шекспира, с актами, сценами, персонажами и монологами.
The Curious Tragedy of Romeo and Juliet.
Romeo, a young man with remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Act I: The First Meeting.
Scene I: A Declaration of Love.
[Enter Romeo and Juliet]
Romeo:
You are as lovely as the sum of the square of the fair sun and the cube of the moon!
Speak your mind!
Juliet:
You are as brave as the product of Mars and the sum of all stars.
Speak your mind!
[Exeunt]
Каждый персонаж это переменная, а действия это выражения. Алгебра через поэзию, логика через диалог. SPL не только эксперимент в синтаксисе, но и в том, как человеческий язык можно адаптировать под машинное мышление.
5. Chef: кулинария как код
В этом языке программирования каждая программа выглядит как рецепт из кулинарной книги. Его создал Дэвид Морган-Мар в 2002 году. Правила таковы: код должен быть «вкусным на вид и логичным по содержанию», как настоящий рецепт.
Hello World Souffle.
Ingredients.
72 g haricot beans
101 g potatoes
108 g lard
108 g red salmon
111 g carrots
44 g eggs
32 g sugar
87 g flour
111 g milk
114 g butter
108 g cocoa
100 g baking powder
33 g oil
Method.
Put potatoes into mixing bowl.
Put lard into mixing bowl.
Put red salmon into mixing bowl.
Put carrots into mixing bowl.
...
Pour contents of the mixing bowl into the baking dish.
Serve with joy.
Каждый ингредиент — переменная, а методы приготовления соответствуют логическим операциям. Это язык, который можно буквально зачитать в кулинарной передаче, и при этом он выведет «Hello World» в консоль. Chef не просто смешной код, но и странно красиво. Он показывает, насколько гибким может быть язык программирования, если воспринимать его как литературу или искусство.
Если Вам нравятся наши статьи, и вы хотите отблагодарить автора (на развитие канала), нам будет очень приятно!