Самые странные и сложные языки программирования 🫠 — Transcript

Explore the strangest, most complex esoteric programming languages like Brainfuck, Befunge, Malbolge, Piet, and Whitespace in this educational video.

Key Takeaways

  • Esoteric languages prioritize creativity, complexity, and artistic expression over practical programming.
  • Many esoteric languages challenge conventional programming paradigms with unique syntax and execution models.
  • Some languages use visual or audio elements as code, expanding the concept of programming beyond text.
  • Understanding these languages can deepen appreciation for language design and computational theory.
  • These languages are often used as intellectual challenges or artistic projects rather than for real-world applications.

Summary

  • Introduction to esoteric programming languages, designed for complexity and artistic expression rather than practical use.
  • Brainfuck: a minimalistic language with only 8 commands, using a tape of cells and pointer manipulation.
  • Befunge: a two-dimensional language with a toroidal code space allowing movement in four directions.
  • Malbolge: named after Dante’s eighth circle of hell, extremely complex and practically unprogrammable by humans.
  • Piet: a visual language where programs are pixel art, commands determined by color transitions.
  • Whitespace: uses only spaces, tabs, and newlines as commands, making the code invisible.
  • Velato: a music-based language where instructions are encoded in musical notes and durations.
  • Chicken: a language using repeated 'chicken' words to represent operations.
  • Other esoteric languages include Shakespeare, Rockstar, and languages that mimic other forms like plays or music.
  • The video encourages viewers to explore and comment on code optimizations and creative uses of these languages.

Full Transcript — Download SRT & Markdown

00:01
Speaker A
Merion Academy platform of accessible education. Most creators of programming languages pursue two goals: convenience and functionality. But there are those who just want to have fun, creating the strangest, most complex, and inconvenient language so that when working with it, the chair under you doesn’t just catch fire but melts. Such languages are called esoteric, and they should be perceived as a work of abstract art rather than something on which you can write working code. Let's get closer to ourselves, fire extinguishers ready, let's go figure it out.
00:18
Speaker A
языки называют эзотерическими и воспринимать их нужно как произведение абстрактного искусства нежели что-то На чем можно написать рабочий код стать поближе к себе огнетушителей погнали разбираться начнем ваше помутнение рассудка с языка под названием брейнфак как один из авторов нашего канала язык
00:32
Speaker A
Let's start your mental confusion with a language called Brainfuck. As one of the authors of our channel, the language was created in 1993 and has the minimally possible compiler using only 8 symbols. To write a program, the program itself is a tape with cells containing numbers from 0 to 255. All values are zero by default, and the pointer is at the very beginning. To write a program, you need to move this pointer, increase or decrease the value in the cells, and then read and write the value into the cell. No variables, objects, or other things.
00:47
Speaker A
начале чтобы написать программу нужно передвигать этот указатель увеличивать или уменьшать значение в ячейках а потом считывает и записывает значение в ячейку никаких переменных объектов и прочих дней Вот смотри обычно самое первое Что рождает девелопер при изучении языка это
01:00
Speaker A
Here, look. Usually, the very first thing a developer creates when learning a language is Hello. For example, in this one, which you can learn from scratch in 4 months in our academy, it looks like this: simple and clear. So, what the heck is Brainfuck? Brainfuck, of course, works like this: we write 72 pluses, which is the capital letter H because the ASCII table represents it with this number. Then we write a dot, which outputs this letter. We add another 29 pluses, reaching the lowercase i, and output it again.
01:14
Speaker A
заглавная буква H потому что васке таблица она представлена этим номером затем пишем точку которая выведет эту букву фигачим еще 29 плюс подбираемся до маленькой и снова вводим ее Кстати этот код можно оптимизировать сделать короче использовать несколько ячеек А как
01:28
Speaker A
By the way, this code can be optimized, made shorter, using several cells. How does this optimization work? Figure it out yourself. If you succeed, write in the comments. Well, now it’s clear why this language was named after your ex’s favorite pastime. Let's continue testing your sanity with Befunge.
01:43
Speaker A
компилятором то цели бифанж было создание самого сложного компилятора тут уже не одномерная строка двумерная таблица которая как бы сшита по краям и сворачиваются в Бублик который ещё называется торт команд здесь больше а перемещаться мы можем в четырёх направлениях Ну а достигнув края
01:57
Speaker A
If Brainfuck was created as a language with the smallest compiler, the goal of Befunge was to create the most complex compiler. Here, instead of a one-dimensional string, there is a two-dimensional table, which is kind of sewn at the edges and folds into a loop, also called a torus. There are more commands here, and we can move in four directions. When reaching the edge, we appear on the other side, like in old good video games. Cells contain symbols, and you can add or extract them using commands p/g. In the end, you get code like this for Hello World, and it looks like this.
02:10
Speaker A
нет буквально малбалдж назван в честь восьмого Круга ада божественные комедии Данте предназначенного для обманщиков создатель малболдж Сначала попробовал на befange удивился что это называют самым сложным языком вышел на задний двор надел каску с фонариком и глубоко пробурил землю достав оттуда маллуччи с
02:26
Speaker A
Alright, moving on to the next circle of hell—no, literally, Malbolge is named after the eighth circle of hell in Dante’s Divine Comedy, intended for deceivers. The creator of Malbolge first tried Befunge, was surprised that it was called the hardest language, went to the backyard, put on a helmet with a flashlight, and deeply drilled the ground, pulling Malbolge out from there.
02:41
Speaker A
короче это настолько сложно что даже создатели языка не смог написать на нем что-то внятное Первая программа появилась только через два года и то при помощи софта написано на языке лист который перебирал различные варианты кода Ну а кожаные мешки так и не осилили
02:55
Speaker A
From a technical point of view, what he did literally means "I don’t understand, but it’s very interesting." Here, there is a ternary numeral system instead of binary, the syntax is unstructured, commands can go in any order, and it is encrypted during execution using a crazy command with some twisted algorithm. In short, it’s so complicated that even the language creators couldn’t write anything coherent on it. The first program appeared only two years later and only with the help of software written in the language Lisp, which tried various code options. And the leather bags never mastered the language.
03:12
Speaker A
изменением оттенка и яркости между соседними блоками указатель перемещается по изображению в четырех направлениях от одного цветового блока к другому тут программе важны Не сами цвета а именно переходы между ними вот такая красота например Это Hello world на языке Пит
03:26
Speaker A
To make it seem less complicated, here comes a pinch of beautiful Piet Mondrian, known for his abstract paintings. Here, the code is presented as a pixel drawing with 20 colors, and the compiler starts reading pixels from the top-left corner of the painting. Specific commands are determined by changes in hue and brightness between neighboring blocks. The pointer moves across the image in four directions from one color block to another. The program cares not about the colors themselves but about the transitions between them. Such beauty! For example, this is Hello World in the Piet language.
03:42
Speaker A
интерпретируются как команды Что будет если компиляторы седьмую симфонию Шостаковича свои мысли пиши в комментах вернемся к визуальным штукам white space хотя визуальности мы конечно поторопились бывает спейс использует только не печатные символы а именно пробел перевод строки и табуляцию то
03:59
Speaker A
Completely wonderful Velato, which is based on music. Each instruction is based on the pitch of the note itself, the interval between notes determined by the duration of the note—eighth, quarter, half, and so on. That is, instead of ordinary text, we write notes, which are divided into blocks and interpreted as commands. What if the compiler compiles Shostakovich’s Seventh Symphony? Share your thoughts in the comments.
04:14
Speaker A
опять же в двоичном коде поэтому комбинация та пробел пробел пробел пробел татар равна 1 00001 или 67 десятичной системе которая является C Согласно кодировке Hello на этом языке выглядит вот так Ладно шутим Вот так это выглядит подсветкой синтаксиса следующий язык
04:33
Speaker A
Returning to visual stuff, Whitespace—although we rushed with the visual part—Whitespace uses only non-printable characters, namely space, newline, and tabulation. That is, it is literally invisible. Commands are recorded one at a time with spaces, where certain sequences of tabs, spaces, and newlines indicate a specific category of commands. Here is output, arithmetic, and so on. All numbers are encoded in binary code, and all characters are represented by their ASCII indexes, again in binary code. So the combination space space space space tab equals 100001, or 67 in decimal, which is C according to the encoding. Hello in this language looks like this.
04:50
Speaker A
поэтому из четырех инструкций копирует азбуку Морзе первые две это тире последующим пробелом выбирают одну из доступных 18 операций которые разделяют на прямые и обратные например Прямая это записать значение в памяти обратно и Вычитать его а точка и точка с последующим пробелом
05:09
Speaker A
Okay, just kidding. This is what it looks like with syntax highlighting. The next language was possibly invented by Colonel Sanders. It consists of only one word: Chicken. The number of "chicken" words on a line indicates the operation code to execute. Hello here looks like this.
05:24
Speaker A
код похож на что-то другое это целая категория например как вот как готовить Hello world или Шекспир который добавляет к языку множество украшательств что код становится похож на прекрасную пьесу а почувствовать себя рок-звездой поможет язык Rockstar Hello world на самом деле скучноват А вот
05:43
Speaker A
Continuing the organized ballet, this language has not one instruction but twelve. There is a nuance, though: Anna Korovie. Of the four instructions, it copies the Morse alphabet; the first two are dashes, followed by a space, selecting one of 18 available operations, divided into direct and reverse. For example, direct is writing a value to memory, reverse is subtracting it. A dot and a dot followed by a space perform direct and reverse operations respectively.
05:57
Speaker A
так бром снимайте одежду сапоги и Готовьте мотоцикл трогать Можно даже как железной армии с Арнольд си но если вы четкий пацан то для вас сделали панкитон язык похожий на блок-схемы программа панкитон состоит из прямоугольников которых записываются элементы программы или не соединяющих
06:16
Speaker A
Even the author found it so hard to create this language that he never finished writing World. There is also a language similar to Brainfuck, correctly described using only Unicode codes. Actually, languages whose source code looks like something else are a whole category. For example, how to write Hello World or Shakespeare, which adds many embellishments to the language so that the code looks like a beautiful play. Feeling like a rock star is helped by the Rockstar language. Hello World is actually boring, but something more complex, like a common interview task FizzBuzz, where you need to determine multiples of 3, 5, or both, is more interesting.
06:31
Speaker A
А если вы обожаете эмодзи то вас порадует Emoji Code где вместо операторов используются эмодзи или Emoji coder где сами символы представлены отдельными эмодзи и Hello world тут такой кстати слышали вы что-нибудь о кот голов это Когда программисты пытаются
06:45
Speaker A
For example, a simple FizzBuzz in Python, which you can learn from scratch in four months in our academy, looks like this. Here it grows, and here it’s like this. Take off your boots and get ready to ride a motorcycle. You can even do it like the Iron Army with Arnold C. But if you’re a cool guy, they made Punkiton for you.
07:00
Speaker A
например интеркал создатели троллит нас говорят что интеркал это аббревиатура от фразы compler languech странностей общей символы бессмысленно переименованы числа могут быть заданы в качестве входных данных только путем написания цифр по одной за раз так например 256 это число 256 надеемся что
07:26
Speaker A
Punkiton looks like flowcharts. A Punkiton program consists of rectangles where program elements are written or connectors that transfer data from one block to another. When a line goes into the void, it means the end of the program and output. This program will print a backslash, which is character number 47. If a block is empty, it means the user will input data during execution.
07:41
Speaker A
выполняются последовательно они больше похожи на списки дел которые интерпретаторы языка может обрабатывать в любом порядке Однако тут не полное безумие строка может содержать условия указывающие что она не может быть выполнена до тех пор пока не будут выполнены другие определенные условия Но
07:55
Speaker A
If you love emojis, you will be pleased with Emoji Code, where operators are replaced with emojis, or Emoji Coder, where the symbols themselves are represented by separate emojis. And Hello World here looks like this.
08:09
Speaker A
похож на популярный программировали кардинально меняется потому что в игру вступают такие квантовые эффекты как запутанность когерентность и неопределенность и программисты должны будут обладать сложными навыками математики и физики Ну и конечно самая сладкое мы оставили напоследок куда же без нашего любимого 1С Ладно шутим один
08:27
Speaker A
By the way, have you heard of code golf? It’s when programmers try to solve tasks in their chosen programming language, and the winner is the one with the fewest bytes or characters. There is Jerry, created specifically to write the most minimalist code. Hello World, for example, looks like this.
08:45
Speaker A
поржать кто-то хочет сделать что-то смешное кто-то что-то очень сложное или наоборот очень простое кто-то хочет изменить все парадигмы традиционного программирования А кто-то хочет просто сделать что-то Очень странное с очень длинным названием в Комментарии пиши идею своего самого странного смешного
08:59
Speaker A
Some languages are just deliberately made strange. For example, INTERCAL. The creators troll us, saying that INTERCAL is an abbreviation of the phrase "compiler language." The strangeness is general: symbols are senselessly renamed, numbers can only be input by writing digits one at a time. For example, 256 is the number 256. We hope you will be polite enough when programming in INTERCAL because excellent use of the keyword Please or, conversely, excessive...
Topics:esoteric programming languagesBrainfuckBefungeMalbolgePiet languageWhitespace programmingVelato music programmingChicken languageprogramming language complexitycreative coding

Frequently Asked Questions

What are esoteric programming languages?

Esoteric programming languages are designed primarily for fun, complexity, or artistic expression rather than practical use. They often have unusual syntax and execution models.

Why is Brainfuck considered minimalistic?

Brainfuck uses only 8 simple commands and operates on a tape of memory cells, making its compiler extremely small and its syntax minimalistic.

How does the Piet programming language work?

Piet programs are images where commands are determined by changes in hue and brightness between adjacent color blocks, with the instruction pointer moving across the image.

Get More with the Söz AI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →