Как стать автором
Поиск
Написать публикацию
Обновить

Представлены победители IOCCC 2025 (международного конкурса обфускации кода на языке C)

Время на прочтение3 мин
Количество просмотров2.6K

После четырёхлетнего перерыва состоялся Международный конкурс обфускации кода на языке C (International Obfuscated C Code Contest, IOCCC, для экспертов и разработчиков Obscure/Obfuscated C program). Организаторы объявили победителей-разработчиков. Это мероприятие проводится с 1984 года (и отчасти вдохновлено ошибкой в ​​классическом Bourne shell). Считается, что это «старейший конкурс в Интернете» для разработчиков с девизом, что программисты должны получать удовольствие от C. Цель конкурса — «показать важность стиля программирования ироничным образом» и «нагрузить компиляторы C необычным кодом».

Выдержки из официальных правил и требований конкурса:

  • правило 0, точно так же, как C начинается с 0, так и IOCCC начинается с правила 0. :-)

  • правило 1, ваша заявка должна быть полной программой....

  • правило 5, Ваша заявка НЕ ​​ДОЛЖНА изменять содержимое или имя файла любой части вашей исходной заявки, включая, помимо прочего, prog.c, Makefile (который мы создаем на основе ваших инструкций по сборке), а также любые файлы данных, которые вы отправляете....

  • правило 6, I am not a rule, I am a free(void *human);
    while (!(ioccc(rule(you(are(number(6)))))) {
    ha_ha_ha();
    }

Правило 6 явно отсылает к The Prisoner (некоторые другие правила еще глупее). И в правилах есть свои шутки типа «вы находитесь в лабиринте извилистых правил, все разные», есть по крайней мере ноль судей, которые считают, что Fideism имеет мало или вообще ничего общего с процессом судейства IOCCC, мы предлагаем вам не пытаться получить «самый маленький самовоспроизводящийся» источник (самый маленький, запись с нулевым байтом, победил в 1994 году).

В рамках IOCCC 2025 разрешалось использовать кодировку UTF-8 в коде. Код каждого участника должен быть интересен и чем-то примечателен. Работы могли быть необычно оформлены или выделять неожиданные стороны языка C. Размер исходного кода программы не должен превышать 4096 байт, а программа должна собираться и выполнять осмысленное действие.

По информации OpenNET, список победителей IOCCC 2025:

  • помощник в решении головоломки Wordle, в которой нужно угадать пятибуквенное слово за шесть попыток (код);

  • чат-бот, использующий модель llama2-7b-chat и OpenMP. Проект отмечен как самый компактный движок для выполнения больших языковых моделей (код — всего 1800 байт);

  • на первый взгляд, программа возводит в квадрат числа от 1 до 10, но на деле показывается рецепт приготовления жареного лосося. Код — 15 строк и содержит манипуляции с незаметными символами Unicode;

  • эмулятор CPU Intel 4004. Код — 14 строк;

  • генератор изображений деревьев в консоли. Код оформлен в виде дерева;

  • трассировщик лучей, реализованный целиком при помощи макросов C-препроцессора (код);

  • физический движок, симулирующий вращение волчка. Код тоже в форме волчка;

Теги:
Хабы:
+13
Комментарии0

Другие новости

Ближайшие события