«Конкурс смученного кода C» противостоит возрасту искусственного интеллекта

В этом году Международный конкурс Code Code (IOCCC) вернулся после четырехлетнего перерыва, показал рекордные 23 победивших заявок из-за необычайно большого количества высококачественных представлений.

Победившие записи показали мастеров языка C, одна программа, содержащая невидимые персонажи Unicode для печати рецепта лосося, а другая, которая рикролизировала судей с 8-разрядным музыкальным и графическим портом от Atari 2600.

Судьи, в том числе основатель Лэндон Курт Нолл, отметили, что, хотя они экспериментировали с большими языковыми моделями (LLMS) для анализа кода, у моделей были смешанные результаты и не использовались в окончательном процессе оценки.

Судьи также подчеркнули, что люди все еще могут производить код, который далеко за пределами возможностей современных моделей ИИ, ссылаясь на 750-байтовый вывод, созданный одним из победителей. Исходный код для всех выигрышных записей, включая печально известный «рикролл», теперь доступен в специальном репозитории GitHub. IOCCC вернется снова в декабре 2025 года.

И, конечно, «Каждый конкурс есть новые вещи, которые я не знал, что вы могли бы сделать с C, что люди показывают, что они могут сделать!» Нолл сказал.

Живая презентация

Это культовый конкурс в мире программистов, и в этом году также наблюдалось возрождение традиции, которой 40 лет: живое объявление победителей. Еще в 1980 -х годах победители всегда были объявлены на специальной сессии конференции Usenix (сразу после сессии о следующем выпуске BSD). Это было так давно: «Он состоял из моих печати на прозрачных участках и использования накладного проектора», — сказал Нолл, потому что в мире еще не было компьютеров, способных к цифровым прогнозам.

Но организаторы конкурса теперь модернизировали свою инфраструктуру — даже предлагая видео, демонстрирующие Zany Output от выигрышных записей при составлении их исходного кода. Здесь, в 2025 году, Нолл сказал, что «я хотел дать каждой записи свой собственный центр внимания, которого она заслужила», даже привлекая Дэвида Макинниса для создания сложной постановки для церемонии награждения, включая несколько видео и аудиопроводки из разных мест и даже некоторой оригинальной музыки.

Несмотря на то, что культовый конкурс наконец-то вернулся из четырехлетнего перерыва, Нолл считает, что участникам предоставило больше времени для точных настройков из-за необычайно большого количества высококачественных представлений. В то время как в прошлые годы они присудили от 12 до 15 призов, в этом году они присудили 23 — больше, чем в любой другой год. «Мы действительно не могли придумать хорошее оправдание, чтобы оставить некоторые из этих действительно удивительных победных записей!»

«У нас не было« лучшего шоу »или победителя« Гран -приз », отчасти потому, что у нас было так много записей, достойных этого титула!»

Повлияет ли ИИ на конкурс?

Было еще одно преимущество в длительном перерыве. Леонид А. Брухис (двукратный победитель в 1993 и 1995 годах-и судья с 1998 года) отметил, что длинный перерыв дал им возможность поэкспериментировать с LLMS для анализа исходного кода. Но результаты были смешанными. «Для некоторых записей LLMS смогли предположить, что делает запись, только на основе общей структуры кода или ли она использует логику с математикой…

«И для некоторых записей это было совершенно невежественным».

Нолл также пояснил, что они не использовали LLMS в процессе судейства. И он также не рекомендовал людям использовать его для создания своих будущих записей. «Скорее всего, то, что вы получите, это то, что является мусором — даже не компилируется… и многие модели будут производить что -то, что похоже на C, но совершенно не похоже на C — потому что он даже не может компилировать, не говоря уже о том, чтобы быть запутанным!»

На своем 40 -м курсе судейства записей IOCCC Нолл поделился своими показаниями человеческим программистам. «Люди, которые написали эти программы, прилагают много усилий и навыков. Они являются мастерами языка C. И они мастерам, представляющие его и получают его в маленький кусок!»

В этом году программист Adrian Cable разработал 750-байтовый двигатель вывода LLM (используя большую модель 7-гигабайта). «Я не думаю, что какая -либо модель в ближайшее время сможет создавать код так хорошо!»

Но оба судьи предположили, что LLM могут быть более полезными для будущих участников конкурса, чтобы проверить, действительно ли их код трудно понять. Нолл привел пример того, что он хотел бы оградить LLM с запутанным кодом. «Если он говорит:« Это распечатывает пи, и вместо этого это рикролл вас — ну, это было сделано, но вы поняли ».

‘Никогда тебя не брошу’

В этом году судьи были рикролизированы, десятилетнюю интернет-шутку, которая включает в себя обманывание кого-то, чтобы щелкнуть гиперссылку в музыкальное видео для песни 1987 года «Never Good Wrong Appe Apploy» английского певца Рика Асли.

Судьи описали свой мыслительный процесс, когда они стали жертвами в том, что, возможно, самая выступающая шутка, которую вы когда -либо видели в своей жизни. Существует огромное объявление о нескольких констант и вилка второго ребенка, «чтение… что -то выводит что -то другое. Не совсем ясно, что происходит, там происходит немного сна… что происходит? Что может … что делает этот щенок?»

«Мы были рикролизированы!»

«На самом деле это в основном грубый порт того, что было в версии этой программы Atari 2600, включая 8-разрядную музыку и графику, и это классическая вещь…» Нолл объясняет в презентации (ссылаясь на заметки для представления от программиста Винса Уивера). «У нас была представление о том, что это делает что -то со звуковым файлом и некоторым графическим выводом, но теперь вы знаете». (И сохраняя учебу, Нолл посоветовал своей аудитории «иди и посмотри на исходный код и выяснить, как это рикролл!»)

Еще более удивительной была запись от легендарного запутанного программиста C Юсуке Эндох. Программа запуска Endoh демонстрирует красивые анимации ASCII вращающихся объектов в различных формах-демонстрируя реальную физику «вращающегося твердого тела, такого как вершина».

Для дополнительного эффекта Эндох даже расположил свой сильно запутанный код, так что его пробел также сформировал изображение вращающегося вершины.

И программист Адриан Кейбл представил вторую призовую запись в этом году-бесконечную 15-линию программу с одним очень вводящим в заблуждение объявлением переменной.

unsigned int *salmon = u «очень вкусно»;

И все же эта программа каким -то образом печатает весь рецепт лосося на гриле. («Сезонный филе лосося с оливковым маслом, лимонным соком, чесноком, солью и перцем…»)

Как? Через магию запутывания. На самом деле есть еще несколько строк дополнительного кода, но все они написаны невидимыми символами Unicode, которые не видны с настройками по умолчанию большинства текстовых редакторов.

В конечном итоге он выиграл премию «Мучные воды» конкурса…

И для дополнительного запутывания автор даже включил сбивающий с толку петлю — в качестве приманки. Когда код запускается, он никогда не выполняется….

for (int i = 1; i <= 10; i ++) {printf (" %d * %d = %d \ n", i, i, i * i); }

Что дальше?

В настоящее время существует специальный репозиторий GitHub с исходным кодом, не только для победных записей этого года, но и каждый год, вплоть до 1984 года. (В видео NOLL церемонии подтолкнули исходный код для победителей этого года в новейший каталог.

«Включая рикролл, если вы выберете».

В видео, опубликованном на Patreon, Noll также обещает, что в ближайшие годы будут короткие видео на «Некоторые из прошлых и лучших победителей IOCCC». А для следующего конкурса они планируют обновить инструмент, используемый для упаковки своих записей («Существует ряд запросов на притяжение, которые находятся в процессе».), А также улучшения их собственного сервера и внутренних инструментов, используемых судьями.

IOCCC скоро вернется снова. Другой пост объясняет, что их сервер-акцептирование вступления «возобновит работу после открытия регистрационного периода IOCCC29, который, как ожидается, начнется где-то в декабре 2025 года». Они планируют переписать и обрезать правила и руководящие принципы — и неизбежно будут некоторые новые правила «основаны на нашем опыте оценки этого конкурса».)

Но сейчас судьи сначала с нетерпением ждут — отпуск. «Мы усердно работаем над этим проектом с декабря 2020 года», — говорит Нолл в одном видео Patreon. «И у нас было несколько добровольцев, чтобы помочь нам — тысячи часов работы вошли в инструменты и веб -сайт….

«Пришло время насладиться результатами авторов выигрышных записей и сделать перерыв. Так что мы собираемся выйти в автономном режиме, мы собираемся делать такие вещи, как чтение книг, которые написаны на бумаге, и на некоторое время отключите».

«Наслаждайтесь победными записями ioccc28. Они потрясающие, и мы очень рады представить их вам!»

Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Дэвид Кассель — гордый житель района залива Сан -Франциско, где он освещал технологические новости более двух десятилетий. За эти годы его статьи появлялись повсюду от CNN, MSNBC и The Wall Street Journal Interactive … Подробнее от Дэвида Касселя

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *