Если обычный человек считает счастливым числом 7 или 777, то у программиста это будет 2, 4, 8, 16, 32, 64, 128, 256 и так далее. А несчастным совсем не 13, а, например, 404. Традиции «магических» чисел у человечества сложились исторически: в основном, пришли из религий. А откуда взялись программистские «магические» числа?
Самые главные цифры — 0 и 1. Двоичная система счисления. Нет и да, ложь и истина, нет сигнала и есть сигнал. Двоичная система была известна ещё в докомпьютерные времена. Первое применение её было даже до новой эры, в Индии, для описания... поэзии. Программисты не лишены романтики, помните это.
2, 4... ...256, 512, 1024 — числа разрядности. Если кратко, они характеризуют количество одновременно обрабатываемой информации. Ещё несколько лет назад повсеместно была 32-х разрядная Windows, а теперь у всех 64-х разрядная. А ещё за этими числами тянется история с размером оперативной памяти у компьютера, объёмом жёсткого диска, скорости передачи данных и прочие показатели, основанные на подсчёте битов и байтов. Если вы видите некие данные с участием степеней двойки — они почти наверняка родом из цифрового мира.
Остановимся подробнее на 256. Почему именно в этот день праздник программистов? Просто наибольшая из степеней двойки, которая «умещается» в 365 днях года.
Другие магические числа пришли из интернета. Это обозначения ошибок веб-серверов.
403 — страница недоступна конкретному пользователю. Например, нужно сперва залогиниться, а затем переходить на эту страницу. Если вы поругались с другом и он не берёт трубку, это ситуация 403.
404 — страница не найдена. Например, неправильно написан адрес. Если бы почта использовала эту нумерацию ошибок, она бы ставила печать «404» на возвращаемой корреспонденции, не нашедшей адресата.
500 — выполнить запрос невозможно. Вероятнее всего, ошибка на самом сервере. Вы пришли в гости, звоните в дверь, а вам не открывают: сломался звонок.
503 — сервер не может вам ответить, потому что запросов слишком много. Бывает при ddos-атаках. Вы спрашиваете на улице, как пройти в библиотеку, а человек физически не может вам помочь: в одной руке ребёнок, во второй пакеты из магазина, в третьей телефон с говорящим начальником, в четвёртой — собачка на поводке. А пятой руки не предусмотрено.
А ещё есть страшный null, он так буквами и пишется. Это больше, чем ноль. Или меньше — как посмотреть. В разных языках программирования означает «ничто». Это ничто не может быть равным другому null. Он отсечён от реальности. Вот такой странный, но необходимый термин. Пустая бездна, чёрная дыра, тьма кромешная.
И даже само понятие «магическое число», которое мы применили в тексте, у программистов имеет другой смысл, а не тот, что мы в него вложили. Магическое число по-программистски — это число, которое непонятно откуда взялось в коде, что считается плохой практикой. Программисты не любят необъяснимые явления. Уважайте их тонкую душевную организацию, они станут милыми и пушистыми и не будут говорить вам при встрече «403».