Пишу, по большей части, про историю, свою жизнь и немного про программирование.

Удивительный Си

Кажется, на любом языке программирования можно написать очень запутанную программу. Лидер, наверное, всё-таки Перл (если не брать эзотерические языки), а вот образчик на Си:

main(_){_^448&&main(-~_);putchar(--_%64?32|-~7[__TIME__-_/8%8][">'txiZ^(~z?"-48]>>";;;====~$::199"[_*2&8|_/64]/(_&2?1:8)%8&1:10);}

Эта программа выводит время на момент компиляции в следующем формате:

Вывод программы (4.71КиБ)

У Анатолия Воробья есть полный анализ этой программы, остроумно сделано!

7 комментариев
spiridonov@gmail.com 2013

Языки-таки эзотерические :)

Евгений Степанищев (bolknote.ru) 2013

Комментарий для spiridonov@gmail.com:

Да-да, спасибо! Сейчас поправлю :)

Performer (cyanide-burnout.livejournal.com) 2013

Разработать абсолютно нечитаемое можно на чем угодно. Такую практику иначе как быдлокодом не назовешь. Кстати, в «анализе» есть некоторые неточности. Например, автор утверждает что a[i] тождественно i[a]. Это действительно так, если размерность a и i — байт. В ином случае автора ждет сюрприз. :)

Performer (cyanide-burnout.livejournal.com) 2013

Да, пост нужно подправить, так как время выводится не текущее, а компиляции кода.

Евгений Степанищев (bolknote.ru) 2013

Комментарий для cyanide-burnout.livejournal.com:

Ваша правда, приеду из Ульяновска, поправлю.

Евгений Степанищев (bolknote.ru) 2013

Комментарий для cyanide-burnout.livejournal.com:

Такую практику иначе как быдлокодом не назовешь.

Бывает так же тренировка ума. Как в данном случае.

sfersox 2013

Ваще офигеть!!! отличный пост! спасибо