Программисты, давайте изучать исходники классических программ

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Современные программисты — счастливчики: мы живём в мире, в котором исторические и оказавшие существенное влияние программы имеют открытый код, доступный для изучения. Однако, многие программисты только учатся, и изучают те программы, над которыми работают сами. У нас редко находится время для изучения исторических работ, и курсы программирования редко тратят время на такие вещи.

Мы полагаем, что разработчикам следует изучать исходники программ, оказавших большое влияние, подобно тому, как архитекторы изучают здания, оказавшие влияние на архитектуру (и критикуют их). Чем повторять те же ошибки снова и снова, мы должны изучить большую работу, проделанную до нас, и вынести из неё уроки.

В идеале, нам следует изучать исходные коды великих программ с комментариями и критикой, которая даёт нам информацию о контексте проекта, его сильных и слабых сторонах. Такие комментарии редки, но вот вам несколько отправных точек:

  • 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, её исходники доступны:
PDF
Исходники Furby
Исходники оригинального SimCity (также известного, как Micropolis) доступны для скачивания
Источник: https://habr.com/ru/post/488808/


Интересные статьи

Интересные статьи

Недавно прочитал, что многие знаменитые и богатые люди в конце своего жизненного пути жалели только об одном — что не уделяли достаточного времени и внимания своим детям. Издание «Коммерс...
Громкие публичные заявления правоохранительных органов о трудности получения информации с заблокированных гаджетов не должны вводить вас в заблуждение. Информацию получаю...
В июле пройдет онлайн-интенсив по Kubernetes. TL;DR Мы в мае провели онлайн-интенсив. Формат работает. Мы получили хороший фидбек. Онлайн-интенсивы удобнее проводить в два раза чащ...
Рабочий понедельник начался со следующего диалога: Руководитель (P): У тебя в команде не понятно, кто чем занимается. Я (Я): Это да, у нас нет инструмента, который бы отображал общую картину ...
Адепты функционального программирования любят завлекать новичков обещаниями идеальной выразительности кода, 100% корректностью, лёгкостью поддержки и простотой рефакторинга, а иногда даже пророча...