Опубликованы (http://www.ioccc.org/years.html#2011) исходные тексты работ, победивших (http://www.ioccc.org/2011/whowon.html) в двадцатом конкурсе IOCCC (International Obfuscated C Code Contest), в рамках которого предлагалось написать на языке Си наиболее запутанный и трудноразбираемый код, на основании анализа которого проблематично разобраться в сути решаемой задачи. При этом код должен быть интересен и чем-то примечателен, подчеркивая важность правильного стилевого оформления или выделяя неожиданные стороны языка Си. Размер исходного кода программы не должен превышать 4096 байт, программа должна собираться и выполнять какое-либо осмысленное действие.
Примечательно, что в этом году код работ был опубликован спустя всего два месяца с момента объявления победителей, в то время как в прошлые конкурсы работы публиковались только при начале проведения следующего мероприятия, например, работы 19 конкурса IOCCC были опубликованы только спустя 4 года.
Из победителей (http://www.ioccc.org/2011/whowon.html) двадцатого конкурса можно отметить следующие работы (следует принять во внимание, что исходный код каждой работы не превышает 4 Кб):
- Matt Zucker (http://www.ioccc.org/2011/zucker/) (трассировщик лучей для отображения текста);
<center><a href="http://www.ioccc.org/png/ioccc.png"><img src="http://www.opennet.me/opennews/pics_base/0_1335251447.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0></a></center>
- Daniel Vik (http://www.ioccc.org/2011/vik/) (музыкальный проигрыватель с поддержкой формата MOD);
- Don Yang (http://www.ioccc.org/2011/akari/) (несколько скрытых программ внутри одной программы);
- Peter Eastman (http://www.ioccc.org/2011/eastman/) (симулятор прыгающего мяча в ASCII графике с кодом в форме мяча);
<center><img src="http://www.opennet.me/opennews/pics_base/0_1335251766.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0></center>- Oscar Toledo G. (http://www.ioccc.org/2011/toledo/) (графическая игра-стрелялка "танковый бой" для двух игроков);
- Szabolcs Borsanyi (http://www.ioccc.org/2011/borsanyi/) (генератор графиков в форме графика);
<center><img src="http://www.opennet.me/opennews/pics_base/0_1335251611.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0></center>- David Lowe (http://www.ioccc.org/2011/dlowe/) (классификатор нейронной сети с кодом в форме лица);
<center><img src="http://www.opennet.me/opennews/pics_base/0_1335252183.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0></center>- Philip Blakely (http://www.ioccc.org/2011/blakely/) (игра Life);
<center><img src="http://www.opennet.me/opennews/pics_base/0_1335251625.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0></center>- Kimmo Fredriksson (http://www.ioccc.org/2011/fredriksson/) (утилита grep с приближённым поиском);
- Hou Qiming (http://www.ioccc.org/2011/hou/) (научный калькулятор в коде которого используется разбор ASCII-изображения калькулятора);
<center><img src="http://www.opennet.me/opennews/pics_base/0_1335252246.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0></center>URL: http://developers.slashdot.org/story/12/04/23/1917229/20th-i...
Новость: http://www.opennet.me/opennews/art.shtml?num=33671
Почему авторов openssl как почетных звезд не позвали?
Видимо они в жюри.
:DDD
> Почему авторов openssl как почетных звезд не позвали?"Размер исходного кода программы не должен превышать 4096 байт" ??
Для меня любой код - филькина грамота. Особенно, если используются всяческие сокращения.
Не указано, удалось ли в какой из примеров запихать незаметный левый код (например бэкдор) причем так, чтоб никто не понял?
Все участники пошли Кэмел-Путем.
Фигня. Меня просмотр работ разочаровал - по большей части тупая вставка пробелов для получения картинки. Это вообще не серьезно. В отличие от. (перлгольф)
> Для меня любой код - филькина грамота. Особенно, если используются всяческие сокращения.И как вы на Си пишете?
>код не должен превышать 4 кБ
>впихнуть бэкдор так, чтобы никто не понялСам-то понял, что сказал?..
Любой индусокитаец вам нечитаемый код сбацает. И бацают, а люди потом мучаются. Мучаются не только переписывающие эти поделия, но и пользователи из-за кривизны понаписанного. Лучше бы премии давали наоборот - за читаемый код, чтобы учить неучей правильному стилю программирования.
Учить неучей писать правильный код - это брать Кнута и Вирта, и бить ими наотмашь по башке. Но за это уголовная статья. Книги здоровенные, можно нанести тяжкие телесные.
Причем писать сугубо на Миксе. Ибо нефик. По Кнуту же учимся.
на обероне!
> При этом код должен быть интересен и чем-то примечателен, подчеркивая важность правильного стилевого оформленияОга, правильность стилевого оформления. Разве что в калькуляторе.
Видимо написание кода а потом рисование кодом картинок является невероятно сложной задачей! Не думал что сложность кода будет оцениваться по таким критериям... Ожидал увидеть море циклов в циклах, кучу похожих друг на друга(именами) костант, функций и переменных, которые при попытке разобраться в них будут вводить в ступор и ломать голову. Но это.....
Там есть ещё одно маленькое условие а именно '...При этом код должен быть интересен и чем-то примечателен...'. Причем все-таки в первую очередь код должен быть чем-то интересен и примечателен а уже во вторую или в десятую - плохо разбираем. Т.е. тупо написать какашку - этого явно недостаточно.
Тогда надо прямо писать, что код сравнивается не по запутанности, а по "интересности и примечательности" форматирования. А то получается дезинформация и обман почтенной публики.
> генератор графиков в форме графикамой парсер сломался
Как надоела эта радуга на картинках! Субпиксельное сглаживание не нужно, и не важно насколько хорошо оно смотрится у вас на экране.
Вот вы и не пользуйтесь. Нехрен другим указывать как им жить.
> Вот вы и не пользуйтесь. Нехрен другим указывать как им жить.Не пользуюсь. «Указывать» чтобы не видеть этого срама. Выглядит просто чудовищно, и скриншоты красочно (радужно) это показывают.
Тип матрицы? DPI? Xft, Cairo? (кде, гнум). У меня Xft желтит. (Товарищи, 2012 год уже... :E этому "yellow halo" уже хз сколько лет. Там, вроде, несовместимость фильтров freetype и Xft, авторы никак не договорятся в каком месте фильтровать - делают дважды. :D Поправьте, ежель.) Если венда - там есть офф тюнер от негрософт. Но, если физ. разрешение невилико - все равно будет немного заметно.
>Тип матрицы? DPI? Xft, Cairo? (кде, гнум).Это всё по сути не важно, субпиксель это шаг назад.
Скорее временный костыль.
Шарик это круто ! Исходник всего 641 байт ! Попробуйте вам понравиться !
понравиТСя
Не могу на это смотреть. Какие-то сцены насилия, расчленение...