Несмотря на то, что программирование прочно вошло в нашу жизнь, многим оно до сих пор кажется какой-то совершенно непонятной магией. Что уж говорить о прежних временах, когда даже простой процесс хакинга в кино изображали с разными психоделическими спецэффектами, чтобы достичь «вау-эффекта».
Рубрика «эзотерические языки»
Эзотерические языки программирования: панорамный обзор
2024-10-22 в 5:59, admin, рубрики: Brainfuck, esoteric, esoteric programming language, malbolge, whitespace, эзотерические языки, эзотерическое программированиеБезымянный язык программирования без присваивания имён
2024-02-26 в 7:22, admin, рубрики: именование, интерпретаторы, создание языка программирования, эзотерические языкиДавать имена сложно. Давайте посмотрим, как далеко мы можем зайти без них.
Что это?
Это язык программирования, основанный на трёх парадигмах:
Язык программирования Rockstar: когда код выглядит как текст рок-хита
2018-10-26 в 14:03, admin, рубрики: .net, dotnext, Dylan Beattie, rockstar, Блог компании JUG.ru Group, конференции, ненормальное программирование, эзотерические языки
Словосочетание «rockstar developer» заставляет некоторых морщиться: «вот же глупый рекрутерский баззворд, среди самих разработчиков никто так себя не называет». В России оно встречается не так часто, а вот в англоговорящих странах многим уже надоело. И особенно остро ощущает его засилье британский .NET-разработчик Дилан Битти: он фанат рок-музыки, поэтому хорошо видит, насколько это «rockstar» далеко от настоящих rockstars.
В итоге Дилан затеял язык программирования Rockstar, код на котором должен быть похож на рок/метал-тексты. Во-первых, если получится сделать такой проект заметным, то можно отнять у рекрутеров слова «rockstar developer», дав им новое значение. А во-вторых, интересно же попробовать скомпилировать тексты любимых песен! Ну и делать наклейки на ноутбук «certified rockstar developer» тоже весело.
Конечно, всё это звучит как шутка, и изначально ей и было, но теперь становится всё реальнее. Подробности — под катом.
Читать полностью »
CPU Design: Эзотерический язык LMCode
2018-10-25 в 19:43, admin, рубрики: C, diy или сделай сам, little man computer, LMC, ассемблер, Программирование, Си, эзотерические языки
Часть I
Часть II
Часть III
Часть IV
Эта статья посвящена созданию интерпретатора некого эзотерического языка LMCode, в основе которого лежит архитектура Little Man Computer. О Little Man Computer можно прочитать в предыдущих статьях.
- Пусть команде INP соответствует ,
- команде OUT соответствует .
- команде ADD соответствует +
- команде SUB соответствует —
- команде STA соответствует ~
- команде LDA соответствует ^
Напишем программу, которая загружает число из устройства ввода в аккумулятор, сохраняет число в памяти, прибавляет число из памяти к аккумулятору (удваивает число), и выводит удвоенное число в устройство вывода.
На ассемблере LMC эта программа будет выглядеть так (начальной ячейкой пусть будет 20)
INP
STA 20
ADD 20
OUT
5-минутный гид по эзотерическим языкам программирования: попробуем их классифицировать
2017-12-14 в 11:49, admin, рубрики: Блог компании Университет ИТМО, Занимательные задачки, Программирование, Университет ИТМО, эзотерические языкиЭзотерические языки программирования (или esolang — сокращение от esoteric language) — это языки, созданные не только для того, чтобы писать код. В одном из наших материалов мы вскользь поднимали эту тему — там описывался язык BANCStar (строго говоря, на 100% «эзотерическим» его назвать нельзя, хотя и хочется).
В этом материале подробнее остановимся на том, как можно классифицировать эзотерические ЯП: что отличает «шуточные» эзотерические языки от «серьезных», какие цели могут преследовать их создатели и что вдохновляет последних.
Эзотерический язык, транслирующийся в шаблоны C++
2017-09-11 в 12:33, admin, рубрики: c++, ненормальное программирование, Программирование, развлечения программиста, транслятор, функциональное программирование, шаблоны c++, эзотерические языки, языки программирования Шаблоны C++ — полный по Тьюрингу язык, на котором можно писать compile-time программы. Только вот синтаксис рассчитан на описание параметризованных типов и слабо приспособлен к ясному выражению чего-то более сложного. В этой статье рассмотрим, как типы и шаблоны становятся значениями и функциями, а также узнаем, к чему привела попытка автора создать свой функциональный язык, транслирующийся в шаблоны C++. Для прочтения текста знания в области функционального программирования почти не требуются.
Читать полностью »
Функциональный Rust: Готовим говядину
2017-05-22 в 8:00, admin, рубрики: Rust, архитектура, критика, ненормальное программирование, ооп, функциональное программирование, эзотерические языкиЭзотерические языки программирования Folders и Groot
2015-02-02 в 5:43, admin, рубрики: Folders, Groot, Marvel, комиксы, ненормальное программирование, Программирование, эзотерические языкиПрограммы можно писать структурой папок или изречениями персонажа Вина Дизеля
Эзотерические языки программирования — это нечто среднее между шуткой в индустрии программного обеспечения, искусством и исследованием пределов знаний человечества. Как правило, вне узких кругов гиков известны не образцы, являющиеся математическими доказательствами, а Brainfuck и что-нибудь популярное, к примеру, ArdnoldC. Новые примеры эзотерических языков появляются достаточно часто.
Дэниел Темкин создал эзотерический язык программирования Folders. Это первый язык, созданный специально для его блога esoteric.codes. Как следует из названия, программирование в этом языке не требует файлов, нужно лишь дерево папок файловой системы, структура которого и определяет код. Пример Hello World на языке Folders представлен слева.
Читать полностью »
Эзотерический язык 4DL
2013-02-27 в 5:57, admin, рубрики: ненормальное программирование, эзотерические языки, языки программирования, метки: эзотерические языки, языки программированияЯзык 4DL был изобретён в 2001 г. автором Cliff L. Biffle. Как он сам объяснил, придумал он его во-первых, потому, что до этого языков с четырехмерными программами не существовало, а во-вторых, потому что четырёхмерное пространство довольно сложно для понимания, и надо же дать людям возможность потренировать мозги.
Русская Википедия относит этот язык к семейству «фунгеоидных». Это языки, ведущие свой род от языка Befunge, программы в котором записываются в виде символов на прямоугольной решётке и могут выполняться в произвольном направлении. В 4DL для представления программы используется четырёхмерная решётка, и направлений её выполнения, соответственно, 8.
Программа на 4DL может выглядеть, например, вот так:
X , B / B + 2 B - < ? T B - T
y __ 10 __ __ 7 __ __ A __ __ __ __ 07 __ __
------------------------------------------------------------------
__ Y __ __ __ __ __ __ __ __ . __ x __ __ x || __ __ __ __ __ __ __ __ __ __ 20 __ __ __ __ __
t X __ __ __ q + 2 q - < ? Z q - Z || z __ __ __ __ __ __ __ __ . b . x __ __ x
Эта программа написана не на «базовом» языке, а на его расширении, но об этом позже.
Читать полностью »
Lingua::Romana::Perligata: уже не Perl, еще не латынь
2012-09-13 в 9:08, admin, рубрики: perl, ненормальное программирование, перевод, переводы, эзотерические языки, метки: perl, перевод, эзотерические языкиРезюме
Перед вами весьма вольный и стилистически неоднородный перевод статьи о модуле для Perl под названием Lingua::Romana::Perligata, который позволяет писать программы на латыни. Автор статьи обещает предоставить ниже правдоподобное обоснование для подобного извращения, а переводчик постарается облечь это в форму, мотивирующую к смежным с темой статьи упражнениям. Также автор предлагает всесторонний обзор синтаксиса и семантики латинизированного Perl и объяснение специальных техник фильтрования и разбора исходных кодов, необходимых для эффективного интерпретирования языка программирования с (почти) вольным порядком слов.
Читать полностью »