1

Перевод Т. Гнедич. – Примеч. ред.

2

Фильм, вышедший в США в 1970 году, в нашей стране известный под названием «Колосс: Проект Форбина». – Примеч. пер.

3

«Луна жестко стелет», роман Роберта Хайнлайна. – Примеч. пер.

4

Фильм, вышедший в 1968 году, в нашей стране известный под названием «2001 год: Космическая одиссея». – Примеч. пер.

5

Именно «ее», потому что в те годы программистами были в основном женщины.

6

Роберт Мартин. Идеальный программист. Как стать профессионалом разработки ПО. СПб.: Питер, 2016. – Примеч. пер.

7

Роберт Мартин. Чистый код: создание, анализ и рефакторинг. СПб.: Питер, 2013. – Примеч. пер.

8

Роберт Мартин. Быстрая разработка программ. Принципы, примеры, практика. М.: Вильямс, 2004. – Примеч. пер.

9

Из речи, произнесенной в Северо-Западном университете в 1954 году.

10

На самом деле Дейкстра озаглавил свое письмо A Case Against the Goto Statement («Дело против оператора goto»), но редактор CACM Никлаус Вирт изменил заголовок. – Примеч. пер.

11

Перевод статьи на русский язык можно найти по адресу http://hosting.vspu.ac.ru/~chul/dijkstra/goto/goto.htm. – Примеч. пер.

12

Чтобы иметь возможность определить размер экземпляра каждого класса.

13

Например, Smalltalk, Python, JavaScript, Lua и Ruby.

14

И не только программисты на C: большинство языков той эпохи позволяли маскировать одни структуры данных под другие.

15

И продолжает применяться.

16

В разных версиях UNIX требования разные; это всего лишь пример.

17

Перфокарты IBM Hollerith имели ширину 80 колонок. Я уверен, что многие из вас никогда даже не видели их, но они широко были распространены в 1950-е, 1960-е и даже в 1970-е годы.

18

Хотя и косвенно.

19

Спасибо Грегу Янгу, что объяснил мне суть этого понятия.

20

CRUD – аббревиатура, обозначающая набор основных операций с данными: Create (создание), Read (чтение), Update (изменение) и Delete (удаление). – Примеч. пер.

21

В данном случае слово «SOLID» можно перевести как «прочный», «надежный», «основательный». – Примеч. пер.

22

Например, Agile Software Development, Principles, Patterns, and Practices, Robert C. Martin, Prentice Hall, 2002 (Роберт С. Мартин. Гибкая разработка программ на Java и C++: принципы, паттерны и методики. М.: Вильямс, 2017. – Примеч. пер.), http://www.butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod и https://en.wikipedia.org/wiki/SOLID_(object-oriented_design) (можно просто выполнить поиск в Google по слову «SOLID»).

23

Bertrand Meyer. Object Oriented Software Construction, Prentice Hall, 1988, p. 23 (Бертран Мейер. Объектно-ориентированное конструирование программных систем. Русская редакция, 2005. – Примеч. пер.).

24

Barbara Liskov. Data Abstraction and Hierarchy, SIGPLAN Notices 23, 5 (May 1988).

25

То есть функцию, которая вызывается операционной системой в момент запуска приложения.