Пасхальные яйца к Пасхе
Скоро пасха, время искать яйца, да не простые, а программные. И мы нашли их.
Python
Введите в REPL import __hello__ или import __phello__, и вы увидите:
>>> import __hello__
Hello world...
>>> import __phello__
Hello world...
Чтобы полюбоваться еще раз, используйте reload (__hello__).
Ещё одна небольшая забава:
>>> from __future__ import braces
File "", line 1
SyntaxError: not a chance
Есть в Python модуль, носящий название antigravity. Вызовите его аналогичной командой import antigravity, и в браузере откроется комикс с ресурса XKCD: xkcd.ru/353
Главная духовная пасхалка Python — скрытое сообщение под названием The Zen of Python. Введите в REPL import this и вы увидите послание авторства Тима Питерса (Tim Peters).
Попробуйте поговорить с Python о любви. Хоть это и не пасхальное яйцо, зато смысл получается очень глубокий:
>>> love=this
>>> this is love
True
>>> love is True
False
>>>
>>> love is False
False
>>>
>>> love is not True or False; love is love
True
True
>>>
PHP
Большинство секретов, спрятанных в PHP, вызывается с помощью добавления сигнатур к запросу php-файла. К условной странице index.php добавьте »?=» и следующие сигнатуры:
PHPB8B5F2A0–3C92–11d3-A3A9–4C7B08C10000 — здесь вы увидите разработчиков PHP;
PHPE9568F36-D428–11d2-A769–00AA001ACF42 — может отражаться одна из шести возможных картинок в зависимости от версии PHP:
Юмор разработчиков заключается и в том, что логотип, генерируемый функцией php_logo_guid () раз в год, а точнее 1 апреля, автоматически заменяется на один из вышеуказанных. Идём дальше:
PHPE9568F34-D428–11d2-A769–00AA001ACF42 — «правильный» логотип PHP;
PHPE9568F35-D428–11d2-A769–00AA001ACF42 — логотип Zend;
Если у вас что-то не отображается или вы полагаете, что это обман, то частичнон подтверждение работоспособности алгоритма можете найти здесь: github.com/php/php-src/blob/master/ext/standard/info.h в строках 54–56.
С расширением Suhosin будет работать ещё и следующая сигнатура:
SUHO8567F54-D428–14d2-A769–00DA302A5F18 — иероглифы:
.
Проведя пару бессонных ночей в поисках перевода, удалось лишь определить первый символ «номер» и последний «кислый». Если кто-то знает полный перевод фразы — пишите в комментариях.
Java
Забавное совпадение можно обнаружить, открыв любым HEX-редактором .class файл. Первые 4 бита, служащие идентификатором файла, выглядят как CA FE BA BE:
C
Есть такая замечательная книга под названием «Язык программирования С» в авторстве Кернигана и Ричи (C Programming Language). Лучше смотреть в английском варианте, потому что, например, в 3-м российском издании этой пасхалки нет.
В предметном указателе в конце книги термин «рекурсия» указывает на текущую страницу предметного указателя. Лучшего объяснения понятию и придумать нельзя.
Кроме того, достаточно много пасхальных яиц можно найти в старых версиях Borland C++. Например, зажав CTRL + Shift во время загрузки 6 версии, можно было увидеть заставку (даже несколько), на одной из которых изображена команда разработчиков. Или ввести следующее сообщение:
#pragma keeka
void main(void)
{
return 0;
}
Скомпилировать с помощью bcc32 и увидеть на экране кота из символов.
Ruby
В библиотеке Pry сразу несколько «пасхалок». Увидеть их можно в подробностях здесь, или, не заглядывая, просто ввести команды get-naked, nyan-cat, east-coker, cohen-poem, pessoa-poem или test-ansi.
В самом Ruby тоже есть шутки от разработчиков, вот руководство по обнаружению.
Автор статьи: Илья Бубнов