Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Современные программисты — счастливчики: мы живём в мире, в котором исторические и оказавшие существенное влияние программы имеют открытый код, доступный для изучения. Однако, многие программисты только учатся, и изучают те программы, над которыми работают сами. У нас редко находится время для изучения исторических работ, и курсы программирования редко тратят время на такие вещи.
Мы полагаем, что разработчикам следует изучать исходники программ, оказавших большое влияние, подобно тому, как архитекторы изучают здания, оказавшие влияние на архитектуру (и критикуют их). Чем повторять те же ошибки снова и снова, мы должны изучить большую работу, проделанную до нас, и вынести из неё уроки.
В идеале, нам следует изучать исходные коды великих программ с комментариями и критикой, которая даёт нам информацию о контексте проекта, его сильных и слабых сторонах. Такие комментарии редки, но вот вам несколько отправных точек:
Исходник
Doom 3 — обзор исходника
Исключительная красота исходного кода Doom 3
Исходник
The Virtual AGC Project — исходники различных миссий Аполло, документация и симуляторы.
Virtual AGC — исодники
The Apollo Guidance Computer: доброе и мягкое введение
AGC — библиотека документов
Apollo Guidance Computer: архитектура и принцип действия
Ваш умный тостер недостоин держать свечку компьютеру Аполлона
Исходник
Чёрная книга игрового движка: DOOM
Размышления о разработке DOOM’а
Исходник
Чёрная книга игрового движка: Wolfenstein 3D
Также можно найти исходники программ, которые вы использовали в прошлом. Важно начинать с программ, которые вам хорошо знакомы, и вы можете связать их функции с исходным кодом. Вот ресурсы, которые вы можете использовать для того, чтобы найти и изучить исторические исходники:
Организация «The Historical Source»: репозиторий GitHub в настоящее время содержит архив из 143 программ. Мнгие из них являются некогда популярными играми, в которые вы, возможно, играли.
Сайт "Чёрная книга игрового движка" содержит подробный разбор движков Doom и Wolfenstein 3D, с исходниками.
Каталог ПО NASA содержит свыше 1000 программных проектов, доступных для публики.
Коллекция Музея Компьютерной Истории содержит исходники исторических программ. Вот выборка из их коллекции исторических исходных кодов:
Adobe Photoshop
Microsoft Word for Windows version 1.1a
Xerox Alto OS и сопутствующие утилиты
Ранняя версия Digital Research CP/M OS
Исходник ранней версии Microsoft MS-DOS
Apple II DOS
Многие люди играли с игрушкой Furby, её исходники доступны:
PDF
Исходники Furby
Исходники оригинального SimCity (также известного, как Micropolis) доступны для скачивания
Мы полагаем, что разработчикам следует изучать исходники программ, оказавших большое влияние, подобно тому, как архитекторы изучают здания, оказавшие влияние на архитектуру (и критикуют их). Чем повторять те же ошибки снова и снова, мы должны изучить большую работу, проделанную до нас, и вынести из неё уроки.
В идеале, нам следует изучать исходные коды великих программ с комментариями и критикой, которая даёт нам информацию о контексте проекта, его сильных и слабых сторонах. Такие комментарии редки, но вот вам несколько отправных точек:
- Doom 3, игра, которую часто хвалят за исключительный дизайн кода
Исходник
Doom 3 — обзор исходника
Исключительная красота исходного кода Doom 3
- Apollo 11 Guidance Computer
Исходник
The Virtual AGC Project — исходники различных миссий Аполло, документация и симуляторы.
Virtual AGC — исодники
The Apollo Guidance Computer: доброе и мягкое введение
AGC — библиотека документов
Apollo Guidance Computer: архитектура и принцип действия
Ваш умный тостер недостоин держать свечку компьютеру Аполлона
- Книга "Архитектура приложений с открытым исходным кодом" может быть использована как руководство, содержащее обзор многих основополагающих проектов с открытым исходным кодом.
- Microsoft BASIC для 6502 — оригинальный исходник
- DOOM (оригинальный)
Исходник
Чёрная книга игрового движка: DOOM
Размышления о разработке DOOM’а
- Wolfenstein 3D
Исходник
Чёрная книга игрового движка: Wolfenstein 3D
Также можно найти исходники программ, которые вы использовали в прошлом. Важно начинать с программ, которые вам хорошо знакомы, и вы можете связать их функции с исходным кодом. Вот ресурсы, которые вы можете использовать для того, чтобы найти и изучить исторические исходники:
Организация «The Historical Source»: репозиторий GitHub в настоящее время содержит архив из 143 программ. Мнгие из них являются некогда популярными играми, в которые вы, возможно, играли.
Сайт "Чёрная книга игрового движка" содержит подробный разбор движков Doom и Wolfenstein 3D, с исходниками.
Каталог ПО NASA содержит свыше 1000 программных проектов, доступных для публики.
Коллекция Музея Компьютерной Истории содержит исходники исторических программ. Вот выборка из их коллекции исторических исходных кодов:
Adobe Photoshop
Microsoft Word for Windows version 1.1a
Xerox Alto OS и сопутствующие утилиты
Ранняя версия Digital Research CP/M OS
Исходник ранней версии Microsoft MS-DOS
Apple II DOS
Многие люди играли с игрушкой Furby, её исходники доступны:
Исходники Furby
Исходники оригинального SimCity (также известного, как Micropolis) доступны для скачивания