- PVSM.RU - https://www.pvsm.ru -

Пасхальные яйца к Пасхе

Скоро пасха, время искать яйца, да не простые, а программные. И мы нашли их.

Python

Введите в REPL import __hello__ или import __phello__, и вы увидите:

>>> import __hello__
Hello world...
>>> import __phello__
Hello world...

Чтобы полюбоваться еще раз, используйте reload(__hello__).
Ещё одна небольшая забава:

>>> from __future__ import braces
  File "<stdin>", line 1
SyntaxError: not a chance

Есть в Python модуль, носящий название antigravity. Вызовите его аналогичной командой import antigravity, и в браузере откроется комикс с ресурса XKCD: xkcd.ru/353 [1]

Главная духовная пасхалка 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:

Пасхальные яйца к Пасхе - 1

Юмор разработчиков заключается и в том, что логотип, генерируемый функцией php_logo_guid() раз в год, а точнее 1 апреля, автоматически заменяется на один из вышеуказанных. Идём дальше:
PHPE9568F34-D428-11d2-A769-00AA001ACF42 — «правильный» логотип PHP;

Пасхальные яйца к Пасхе - 2

PHPE9568F35-D428-11d2-A769-00AA001ACF42 — логотип Zend;

Пасхальные яйца к Пасхе - 3

Если у вас что-то не отображается или вы полагаете, что это обман, то частичнон подтверждение работоспособности алгоритма можете найти здесь: github.com/php/php-src/blob/master/ext/standard/info.h [2] в строках 54–56.
С расширением Suhosin будет работать ещё и следующая сигнатура:
SUHO8567F54-D428-14d2-A769-00DA302A5F18 — иероглифы:

Пасхальные яйца к Пасхе - 4
.
Проведя пару бессонных ночей в поисках перевода, удалось лишь определить первый символ «номер» и последний «кислый». Если кто-то знает полный перевод фразы — пишите в комментариях.
Java
Забавное совпадение можно обнаружить, открыв любым HEX-редактором .class файл. Первые 4 бита, служащие идентификатором файла, выглядят как CA FE BA BE:

Пасхальные яйца к Пасхе - 5

C

Есть такая замечательная книга под названием «Язык программирования С» в авторстве Кернигана и Ричи (C Programming Language). Лучше смотреть в английском варианте, потому что, например, в 3-м российском издании этой пасхалки нет.
В предметном указателе в конце книги термин «рекурсия» указывает на текущую страницу предметного указателя. Лучшего объяснения понятию и придумать нельзя.
Кроме того, достаточно много пасхальных яиц можно найти в старых версиях Borland C++. Например, зажав CTRL + Shift во время загрузки 6 версии, можно было увидеть заставку (даже несколько), на одной из которых изображена команда разработчиков. Или ввести следующее сообщение:

#pragma keeka 
void main(void) 
{
return 0;
} 

Скомпилировать с помощью bcc32 и увидеть на экране кота из символов.

Ruby

В библиотеке Pry сразу несколько «пасхалок». Увидеть их можно в подробностях здесь [3], или, не заглядывая, просто ввести команды get-naked, nyan-cat, east-coker, cohen-poem, pessoa-poem или test-ansi.
В самом Ruby тоже есть шутки от разработчиков, вот руководство по обнаружению [4].

Автор статьи: Илья Бубнов

Автор: GeekBrains

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/118893

Ссылки в тексте:

[1] xkcd.ru/353: http://xkcd.ru/353/

[2] github.com/php/php-src/blob/master/ext/standard/info.h: https://github.com/php/php-src/blob/master/ext/standard/info.h

[3] здесь: https://github.com/pry/pry/blob/master/lib/pry/commands/easter_eggs.rb

[4] руководство по обнаружению: https://www.turing.io/blog/2015/02/09/rubys-supportjoke-easter-eggs

[5] Источник: https://habrahabr.ru/post/282249/