Итак, эзотерические языки программирования — языки программирования, созданные не для того что бы быть понятными или удобными, а скорее наоборот, для того что бы быть непонятными и/или неудобными.
Подробнее вы с ними можете ознакомиться в гугле.
Многие из таких языков пошли по пути максимального сокращения числа доступных операторов. Например, в brainfuck всего восемь операторов: +-<>[],.
В одном из языков программирования, кажется, вообще всего два символа.
В Malbolge тоже команд ненамного больше, к тому же они ещё и шифруются.
Однако, существуют и языки, которые не сделаны специально так что бы на них было сложно писать программы, однако такие, что понимать полученную нотацию, особенно без подготовки, было бы сложно.
Как пример я приведу свой любимый dc. Программы на нем выглядят для непосвященных очень даже экзотично, не смотря на то, что официально этот язык эзотерическим не является.
Ещё я приведу в пример J, который обладает синтаксисом весьма жутковатым на вид, хотя может и достаточно простым для понимания.
И за одно, конструкции из C-подобных языков, использующие ++, присваивания со операцией типа += и тернарный оператор ?: в одной строчке.
Так вот, какие ещё есть языки программирования, которые не урезаны по возможностям специально, но позволяют писать код в эзотерическом стиле?
В идеале ещё этот язык не должен содержать слов вроде print или if then else, должен использовать вместо этого другие конструкции, вроде того же тернарного оператора.
И в качестве бонуса:
javascript:alert((![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]])
Эту строчку достаточно вставить в адресную строку браузера и нажать энтер. Я уже разобрался, как она работает.