Comments 17
del
Если вы хотите знать, как работает ОС размером в это смешное количество строк, вам поможет эта ссылка https://github.com/safinaskar/gavin/blob/master/README-RU.markdown
Собственно объяснение тут: https://github.com/safinaskar/gavin/blob/master/deobfuscated/README-RU.markdown
Когда твоя программа получила приз за самый запутанный код, а ты не участвовал в конкурсе:
Скрытый текст

Но все-таки на C такое не написать.
(Код на Perl, который печатал стихотворение 99 Bottles of Beer. Но он теперь тоже больше не работает)
''=~( '(?{' .('`' |'%') .('[' ^'-')
.('`' |'!') .('`' |',') .'"'. '\\$'
.'==' .('[' ^'+') .('`' |'/') .('['
^'+') .'||' .(';' &'=') .(';' &'=')
.';-' .'-'. '\\$' .'=;' .('[' ^'(')
.('[' ^'.') .('`' |'"') .('!' ^'+')
.'_\\{' .'(\\$' .';=('. '\\$=|' ."\|".( '`'^'.'
).(('`')| '/').').' .'\\"'.+( '{'^'['). ('`'|'"') .('`'|'/'
).('['^'/') .('['^'/'). ('`'|',').( '`'|('%')). '\\".\\"'.( '['^('(')).
'\\"'.('['^ '#').'!!--' .'\\$=.\\"' .('{'^'['). ('`'|'/').( '`'|"\&").(
'{'^"\[").( '`'|"\"").( '`'|"\%").( '`'|"\%").( '['^(')')). '\\").\\"'.
('{'^'[').( '`'|"\/").( '`'|"\.").( '{'^"\[").( '['^"\/").( '`'|"\(").(
'`'|"\%").( '{'^"\[").( '['^"\,").( '`'|"\!").( '`'|"\,").( '`'|(',')).
'\\"\\}'.+( '['^"\+").( '['^"\)").( '`'|"\)").( '`'|"\.").( '['^('/')).
'+_,\\",'.( '{'^('[')). ('\\$;!').( '!'^"\+").( '{'^"\/").( '`'|"\!").(
'`'|"\+").( '`'|"\%").( '{'^"\[").( '`'|"\/").( '`'|"\.").( '`'|"\%").(
'{'^"\[").( '`'|"\$").( '`'|"\/").( '['^"\,").( '`'|('.')). ','.(('{')^
'[').("\["^ '+').("\`"| '!').("\["^ '(').("\["^ '(').("\{"^ '[').("\`"|
')').("\["^ '/').("\{"^ '[').("\`"| '!').("\["^ ')').("\`"| '/').("\["^
'.').("\`"| '.').("\`"| '$')."\,".( '!'^('+')). '\\",_,\\"' .'!'.("\!"^
'+').("\!"^ '+').'\\"'. ('['^',').( '`'|"\(").( '`'|"\)").( '`'|"\,").(
'`'|('%')). '++\\$="})' );$:=('.')^ '~';$~='@'| '(';$^=')'^ '[';$/='`';
Точнее, это можно выполнить и в актуальной версии perl, запустив его с ключом -Mre=eval (объяснение)
И кто-то такие вещи может писать!
Размер программы ограничен 1536 байтами (не считая пробелы, табы и прочие служебные символы)
С такой формулировкой можно написать программу любой сложности. Можно представить себе язык, в котором кодируется всё что угодно с помощью пары символов — таба и пробела. Тогда самое трудное — упихнуть в полтора килобайта интерпретатор этого языка, но опытные участники наверно справятся.
Всё уже придумано до нас - Whitespace_(programming_language)
Судя по статусу, конкурс снова запущен:
alex@garlic-crusher:~ $ curl -s https://www.ioccc.org/status.json | jq '.contest_status, .status_update'
"open"
"2025-04-17T23:44:26+00:00"
Новости на официальном сайте подтверждают: https://www.ioccc.org/news.html
В общем, оптимизация более не актуальна.
Глупое утверждение. О какой вообще оптимизации идёт речь?
1) Оптимизация (производительности/размера) в играх/ии/hpc/хайлоад некуда не делась.
2) Причём тут оптимизация вообще, если речь идёт про "максимально запутанный код на С".
Нет смысла ограничивать размер исходника, это просто делает его нечитаемым. Ограничение на размер EXEшника, вот это интересно.
Современные пользователи просто не понимают, в чём гениальность уместить полноценную программу в два килобайта
Ну и конкурс явно не для пользователей
К сожалению, в наше время задачи минимизации кода уже неактуальны. Мощности современного железа хватает, чтобы запускать любой софт, даже не оптимизированный.
Это и заключение в целом - какая-то нерелевантная отсебятина. Минимизация кода и его оптимизация почти не связаны. А даже если и связаны, то этот конкурс заключается явно не в том, чтобы писать оптимизированный код, а писать минимальный, возможно красиво отформатированный.
Современные пользователи просто не понимают, в чём гениальность уместить полноценную программу в два килобайта. В чём вообще смысл, если в реальной жизни ограничения на память не существует.
В современных программах сами исходники наверное занимают наименьшую часть от общего размера. И если он будет весить 2 кб или 2 мб - особо не принципиально, т.к. ресурсы занимают намного больше места.
Вот и конкурс IOCCC стал не очень актуальным, как и вся демосцена.
Он стал не актуальным из-за того, что якобы задачи оптимизации ПО уже не актуальны - это домыслы автора или реальная причина?
В общем, оптимизация более не актуальна. Как выразился Джон Кармак, «многие смогли бы работать на устаревшем железе, если бы оптимизация ПО была приоритетом». Но в эпоху потребления это не так.
Тут автора понесло еще дальше.
Маленькие программки на С — победители конкурса IOCCC