vak: (Улыбка)
Serge Vakulenko ([personal profile] vak) wrote2014-07-27 01:03 pm

Что такое write-only language

Write-only language это такой язык, на котором можно написать программу, но нельзя прочитать и понять. Хорошим примером может служить конвеевская игра "Жизнь", написанная на языке APL:

⍎'⎕',∈N⍴⊂S←'←⎕←(3=T)∨M∧2=T←⊃+/(V⌽"⊂M),(V⊖"⊂M),(V,⌽V)⌽"(V,V ←1¯1)⊖"⊂M'

Подробное объяснение можно найти в статье из журнала Dr.Dobbs: http://catpad.net/michael/apl/

Этот эффект объясняет, почему Си- и Паскалеподобные языки остаются более массовыми, несмотря на прогресс функциональных языков типа Haskell.

[identity profile] belezbar.livejournal.com 2014-07-27 08:16 pm (UTC)(link)
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." (с) Martin Golding

[identity profile] proxfessor.livejournal.com 2014-07-27 08:17 pm (UTC)(link)
Есть еще замечательная программа из 12+ символов для вычисления числа "пи" с любой наперед заданной точностью:

--/4÷1-2×⍳1eX

(Заменить X на большое целое число.)
Edited 2014-07-27 21:54 (UTC)

[identity profile] kondybas.livejournal.com 2014-07-27 08:29 pm (UTC)(link)
Экскюзе се муа, но это только линком и только с жырным варнингом, ибо, таки, исконно есть, яко воистину...

http://govnokod.ru/11819
spamsink: (Default)

[personal profile] spamsink 2014-07-27 11:12 pm (UTC)(link)
Владение французским на уровне write-only детектед.

[identity profile] kondybas.livejournal.com 2014-07-27 11:14 pm (UTC)(link)
Это же цитата из детской книжки :)
spamsink: (Default)

[personal profile] spamsink 2014-07-28 12:42 am (UTC)(link)
"Извините это я?" - откуда это?

[identity profile] cema.livejournal.com 2014-07-27 08:52 pm (UTC)(link)
Ну это просто APL такой. Скала, допустим, намного понятнее, или та же Кложура.

Что такое write-only language

[identity profile] livejournal.livejournal.com 2014-07-27 09:31 pm (UTC)(link)
Пользователь [livejournal.com profile] amarao_san сослался на вашу запись в своей записи «Что такое write-only language (http://amarao-san.livejournal.com/2866858.html)» в контексте: [...] Originally posted by at Что такое write-only language [...]

[identity profile] archaicos.livejournal.com 2014-07-27 09:52 pm (UTC)(link)
asm foreva!

[identity profile] winpooh.livejournal.com 2014-07-27 10:38 pm (UTC)(link)
Write-only - это свойство не языка, а стиля. На том же Си можно такое нагородить... Не говоря уже о Плюсах. Obfuscated C Contest тому примером.
spamsink: (Default)

[personal profile] spamsink 2014-07-27 11:13 pm (UTC)(link)
Хочу увидеть программу на APL в читабельном стиле.

[identity profile] amarao-san.livejournal.com 2014-07-27 11:14 pm (UTC)(link)
Существует большая разница между "специально писать так, чтобы не прочитали", и типовым форматом однострочника. Некоторые языки к этому склоняют, некоторые нет.

[identity profile] eddy-em.livejournal.com 2014-07-28 05:44 am (UTC)(link)
Во-во. Те же регулярки для sed понятны только избранным. Я как ни пытался, так и не постиг джедайской мудрости.

[identity profile] dmytrish.livejournal.com 2014-07-28 08:27 am (UTC)(link)
Вон в Common Lisp такой литературный стиль, что зачитаешься (*my-beloved-global-variable*, create-my-own-module-with-blackjack-and-hookers), любой язык бы позавидовал — не помогло.

[identity profile] cross-join.livejournal.com 2014-07-28 09:53 am (UTC)(link)
Мнемокод МК-61/52 с применением приёмов его сокращения лишь немногим более понятен :)

[identity profile] eentropy.livejournal.com 2014-07-31 08:50 am (UTC)(link)
фактически ассемблер

[identity profile] winpooh.livejournal.com 2014-07-28 11:36 am (UTC)(link)
Прочитал статью про APL из книжки "Пионеры программирования". Видимо, это единственный язык, на дизайн которого повлияли технические возможности имевшегося у авторов принтера :))