Выдержка из аннотации:
Большая часть значительных успехов в эффективности программного обеспечения в прошлом достигалась за счет устранения искусственных барьеров, которые делали случайные задачи чрезмерно сложными, таких как серьезные аппаратные ограничения, неудобные языки программирования, нехватка машинного времени на обработку. Большая часть того, что сейчас делают инженеры-программисты, по-прежнему посвящена случайным действиям.
Я думаю, интересно, что мы действительно видим, что случайная сложность в крупных кодовых базах становится достаточно большой, чтобы вносить улучшения на порядок (мотивируя, например, инвестиции Google в Clang MR и тому подобное). Так что, возможно, мы не так далеко продвинулись в переходе к существенной сложности, как хотелось бы верить.
33. «Система для работы с разделением времени UNIX» (The UNIX Time-Sharing System).
В этой статье описываются основы UNIX по состоянию на 1974 год. Что действительно примечательно, так это то, как многие проектные решения используются до сих пор. От модели разрешений, которой мы все манипулировали с помощью программы для изменения прав доступа к файлам и директориям, до системных вызовов, используемых для управления файлами. Удивительно, как много остается прежним.
Выдержка из аннотации:
UNIX – это универсальная многопользовательская интерактивная операционная система для компьютеров Digital Equipment Corporation PDP-11/40 и 11/45. Она предлагает ряд функций, редко встречающихся даже в более крупных операционных системах, в том числе: (1) иерархическую файловую систему, включающую съемные диски; (2) совместимый файловый, аппаратный и межпроцессный ввод-вывод; (3) возможность инициирования асинхронных процессов; (4) индивидуальный выбор языка системных команд для каждого пользователя; и (5) более 100 подсистем, включая дюжину языков. В этой статье обсуждается природа и реализация файловой системы и пользовательского командного интерфейса.
Также интересно наблюдение о том, что UNIX отчасти стал такой успешной системой, потому что авторы разработали ее для решения общей проблемы (работа с PDP-7 оказалась настоящим разочарованием), а не для продвижения к более конкретной цели.