catpad: (Default)
catpad ([personal profile] catpad) wrote2017-07-11 09:55 pm

"Бесполезные языки программирования". APL - Часть 2, главная

A Programming Language или Жизнь Одной Строкой

Если и есть у меня какой-то claim to fame, то это он. Читайте представление в трёх частях: The Pledge, The Turn, and The Prestige.

[identity profile] yatur.livejournal.com 2017-07-11 02:25 pm (UTC)(link)
Был же вроде какой-то вариант APL, где отказались от каббалистических значков?

[identity profile] gianthare.livejournal.com 2017-07-11 07:38 pm (UTC)(link)

J и он ужасен

[identity profile] gianthare.livejournal.com 2017-07-11 08:05 pm (UTC)(link)

Миша, ты оказывается попал в Википедию https://en.m.wikipedia.org/wiki/Write-only_language#cite_note-5

[identity profile] utnapishti.livejournal.com 2017-07-11 09:45 pm (UTC)(link)
Эта ссылка - на Микипедию!

[identity profile] catpad.livejournal.com 2017-07-11 10:14 pm (UTC)(link)
Что мне Википедия после Dr.Dobbs'a.
Жаль только линк неправильный, тот сайт уже сгинул.

Кстати, не только в Википедию. Я как-то видел в Quora люди приводили эту строчку в качестве "the weirdest piece of code ever" или что-то в этом роде.

[identity profile] catpad.livejournal.com 2017-07-11 10:16 pm (UTC)(link)
Да, вот этот:
https://en.wikipedia.org/wiki/J_(programming_language)

[identity profile] yatur.livejournal.com 2017-07-12 03:14 am (UTC)(link)
> Переменная S получает значение строки, которую мы обозначили Block 1

А каким образом APL, созданный (если нам не врет Википедия) в 1964-м году запихивал это в строку? Использовал какую-то расширенную 8-битную кодировку?

[identity profile] yatur.livejournal.com 2017-07-12 03:16 am (UTC)(link)
Ну не скажи. Сколько человек читают Доктора Доббса и сколько - википедию.
Кстати, вот тут https://en.wikipedia.org/wiki/APL_(programming_language) Game of Life какая-то хилая. Надо бы туда вставить твою.

А так действительно the weirdest piece of code ever. Покруче 12 days of Christmas - там-то они специально запутывали, а здесь оно кагбэ само получается и все, вроде, логично, а в итоге получается текст на ушельском языке.

[identity profile] yatur.livejournal.com 2017-07-12 03:20 am (UTC)(link)
О, спасибо.

quicksort=: (($:@(<#[), (=#[), $:@(>#[)) ({~ ?@#)) ^: (1<#)

Нельзя сказать, что стало намного лучше. APL выглядел как каббалистические знаки или послание инопланетян, а это выглядит как мусор, выдаваемый испорченным перекодировщиком с какого-нибудь EBDIC, или поток сознания от обкурившегося фаната эмодзи.
Edited 2017-07-12 03:22 (UTC)

[identity profile] gianthare.livejournal.com 2017-07-12 07:43 am (UTC)(link)

Скорее всего.

Посмотрел - есть APL codepage based on EBCDIC

[identity profile] catpad.livejournal.com 2017-07-12 11:39 am (UTC)(link)
Интересно, а там и была моя раньше, мне кажется. Но видимо, снесли её, когда мой сайт упал.

[identity profile] catpad.livejournal.com 2017-07-12 11:41 am (UTC)(link)
"поток сознания от обкурившегося фаната эмодзи" - классно, кстати! Это такой новый смайлик.

[identity profile] e2pii1.livejournal.com 2017-07-24 03:47 am (UTC)(link)
Прочел, после объяснения программа простой и ясной выглядит :-)
Но повидимому тут задача хорошо подходит для их набора функций.
Странно что нет оператора "выполнить N раз" или чего то эквивалентного, и приходится извращаться с размножением и интерпретацией строки.

"И всё-таки вся программа будет записана ровно в одну строчку!" - на C тoже мoжно :-)