Удачный код иногда сравнивают по красоте написания с поэмой. Участники Quora решили вспомнить известные и не очень примеры самого короткого, но при этом рабочего кода. В общении ностальгирующих программистов всплыла и первая высадка человека на ЛУНе, и “Тетрис”, и многое другое. Предлагаем вам самые рейтинговые примеры из обсуждения:
1. На первом месте по голосам участников дискуссии однозначно – короткие, но всем известные строчки кода “Hello World!” (“Привет, мир!”).
- #include <stdio.h>
- int main(void)
- {
- printf(“Hello World!\n”);
- return 0;
- }
Эта программа, выводящая приветствие на экран компьютера, давно стала мемом среди разработчиков. Как тестовое сообщение, “Hello, World!” используется со времен легендарного учебника по программированию “Язык программирования Си”.
“Hello, World” на экране музейного Apple 1:
2. Еще один пример короткого, но суперэффективного кода привел один из участников дискуссии, Рон Сменсер. С 1970-х программа true в Unix была фактически пустым исполняемым файлом. Пустой файл интерпретируется как шелл-скрипт, который ничего не делает. И шелл возвращает нулевой код завершения. Самое интересное, что у юристов AT&T есть копирайт на этот способ. Сейчас его фактически не используют, сокрушается Рон – в Linux и Mac OS за это отвечает компилируемая программа на 22 килобайта.
3. Exe.файл для этого демо-видео (графика, пейзажи и музыка) занимает всего 4 килобайта. “Попробуйте-ка посоревноваться с этим!”, – пишет Глен Уильямс.
4. Еще один пример очень эффективного кода (того, который с минимальным количеством строк позволяет добиться желаемого результата) приводит веб-дизайнер Мейер Раньям. Это – 125 байтов игры “Тетрис” на JavaScript (а вот как выглядит такая игра):
5. “Маленький шаг для человека и гигантский скачок для человечества”. Мало кто знает, что программы, которые помогли Нилу Армстронгу первому из людей ступить на поверхность Луны, были очень компактными: бортовой компьютер владел всего 2 килобайтами оперативной памяти и 36 килобайтным диском. О софте, который использовался в миссии “Аполлон-11”, можно почитать, например, здесь (на английском).
6. Каждый год проходят соревнования js13kGames. Как можно понять из названия, целью является написать программу объемом до 13 килобайт. Очередной конкурс начнется 13 августа, а с победителями прошлых лет можно ознакомиться здесь.
7. Код, который приведен ниже, обеспечил геймерам возможность играть в 3D-игры до того, как начали продаваться компьютеры с крутыми графическими чипами. Он фактически вычисляет функцию f(x) = 1/√x и делает это очень быстро. В компьютерной графике все построено на векторных изображениях. И рендеринг трехмерной сцены подразумевает нормализацию множества векторов. А приведенная выше функция как раз и появляется в формуле нормализации векторов.