Результаты 22 чемпионата по написанию запутанного кода на языке Си

05.01.2014 22:51

Опубликованы исходные тексты работ, победивших в двадцать втором конкурсе IOCCC (International Obfuscated C Code Contest), целью которого было написание наиболее запутанного и трудноразбираемого кода на языке Си.

Участвующие в конкурсе работы, с одной стороны, должны препятствовать анализу кода и пониманию сути решаемой задачи, но, с другой стороны, код должен быть интересен и чем-то примечателен, например, быть необычно оформленным или выделять неожиданные стороны языка Си. Размер исходного кода программы не должен превышать 4096 байт, программа должна собираться и выполнять какое-либо осмысленное действие.

Лучшие работы:

  • Adrian Cable - эмулятор IBM PC, способный запустить MS DOS и такие программы, как Windows 3.0, Excel, MS Flight Simulator, AutoCAD, Lotus 1-2-3;
     Результаты 22 чемпионата по написанию запутанного кода на языке Си
  • Christopher Mills - HTTP-сервер, при открытии страницы отображающий 3D-часы;
     Результаты 22 чемпионата по написанию запутанного кода на языке Си
  • Adrian Cable - система распознавания текста;
     Результаты 22 чемпионата по написанию запутанного кода на языке Си
  • Yves-Marie Morgan - графический (X11) симулятор солнечной системы, отображающий позиции 8 планет по заданной дате;
  • Don Yang - горизонтальное или вертикальное слияние файлов. При первой сборке получается программа для горизонтального слияния, используя которую для слияния двух файлов с кодом текущей программы получается приложение для вертикального слияния (./horizontal_cat misaka.c misaka.c > misaka2.c).
     Результаты 22 чемпионата по написанию запутанного кода на языке Си
  • Yusuke Endoh - реализация SKI-исчисления;
     Результаты 22 чемпионата по написанию запутанного кода на языке Си
  • Qiming Hou - система трассировки лучей;
     Результаты 22 чемпионата по написанию запутанного кода на языке Си
  • Arch Robison - вычислитель произвольных арифметических выражений (например, echo '10*(20*(1+(9*5)))/3' | ./robison). Код оформлен в виде набора функций str* и memset;
  • Michael Birken - игра в тетрис. Код оформлен в виде сцены игры в тетрис;
     Результаты 22 чемпионата по написанию запутанного кода на языке Си
  • Yusuke Endoh - генератор JPEG-файла с изображением кода программы;
     Результаты 22 чемпионата по написанию запутанного кода на языке Си
  • Yves-Marie Morgan - игра в домино (X11 и ASCII);
  • Yusuke Endoh - формирует 3D-представление многогранника на основе заданных вершин;
  • Лучшие однострочники:
    • Yusuke Endoh - синтезатор музыки на основании нотной записи ABC (размер программы 137 байт);
    • Adrian Cable - определяет к какой партии относится выбранный президент США (размер программы 88 байт);
    • J. David Lowe - визуализация входных данных в форме графика (149 байт)
       Результаты 22 чемпионата по написанию запутанного кода на языке Си