Финал исторического блока — путь от языка, писавшего операционные системы, до языка, который встретит тебя в блоке 3 этой книги, и честный ответ на вопрос "а почему именно Python выглядит именно так".
Язык C, созданный Деннисом Ритчи в 1972 году, решал другую задачу, чем Pascal — не обучение структурному мышлению, а системное программирование: на нём была переписана сама операционная система Unix. C дал программисту прямой доступ к памяти через указатели — гораздо больше контроля и производительности, чем безопасный, но более ограниченный подход Pascal, но и гораздо больше способов случайно повредить данные или вызвать трудноуловимую ошибку.
Фигурные скобки для обозначения блоков кода, точка с запятой в конце инструкции — эти синтаксические решения C оказались настолько влиятельны, что легли в основу целого "семейства C-подобных языков": C++, Java, C#, JavaScript и множество других переняли эту же визуальную грамматику. Python, который встретится в блоке 3, — заметное исключение: он сознательно отказался от фигурных скобок в пользу отступов как обязательной части синтаксиса — прямое развитие идеи, которая в Pascal (глава 07) была лишь необязательным соглашением для читаемости, а в Python стала строгим требованием языка.
В начале 1980-х Бьёрн Страуструп добавил к C концепции объектно-ориентированного программирования (классы, объекты, наследование), создав C++. Это не просто ещё один язык, а смена целой парадигмы мышления о структуре программ — от "последовательности процедур, обрабатывающих данные" к "взаимодействующим объектам, каждый из которых несёт и данные, и поведение вместе". Подробно эта идея разбирается в главе 24 этой книги, уже применительно к Python — но исторически именно C++ вывел ООП в массовое употребление.
Java (1995) предложила собственный ответ на проблему переносимости, разобранную в главе 04: вместо прямой компиляции под конкретный процессор — компиляция в промежуточный байт-код, исполняемый универсальной виртуальной машиной (JVM), устанавливаемой отдельно на каждую платформу. Лозунг "написано однажды — работает everywhere" — прямое практическое применение архитектуры байт-код + виртуальная машина, уже разобранной в главе 05 как раз на примере того, что происходит внутри Python.
Параллельно развивалось другое направление — языки, сознательно жертвующие частью производительности ради скорости написания кода и читаемости: Perl, затем Python (создан Гвидо ван Россумом в 1991 году), позже JavaScript и Ruby. Их объединяет общая философия: динамическая типизация вместо строгой (переменная просто получает значение без обязательного предварительного объявления типа, в отличие от Pascal главы 07), интерпретация или гибридный байт-код вместо прямой компиляции (глава 05), и явный приоритет на удобство программиста, а не на максимальную скорость выполнения программы.
У Python есть неофициальный, но официально распространяемый прямо внутри языка
(командой import this) манифест — "Дзен Python", формулирующий принципы
вроде "читаемость имеет значение" и "должен быть один, желательно единственный, очевидный
способ сделать это". Это прямое философское продолжение того пути, что уже прослеживался
в этом блоке: доступность BASIC (глава 06), структурная дисциплина Pascal (глава 07), но
сознательный отказ от лаконичной, но опасной терсености C и от многословной церемониальности
многих реализаций ООП вроде классической Java.
| Ниша | Типичный выбор сегодня |
|---|---|
| Системное программирование, максимальный контроль над железом | C, современный Rust (память безопаснее C, но тот же уровень контроля) |
| Веб-фронтенд (то, что выполняется в браузере) | JavaScript и его экосистема |
| Анализ данных, автоматизация, обучение, быстрые прототипы | Python — тема блока 3 этой книги |
| Крупные корпоративные системы | Java, C# |
| Мобильные приложения | Swift (iOS), Kotlin (Android) |
Разные языки решают разные задачи с разными компромиссами между скоростью выполнения, безопасностью, скоростью написания кода и удобством для конкретной ниши — вопрос "какой язык лучше" в отрыве от конкретной задачи почти не имеет содержательного ответа, это как спрашивать, какой инструмент из ящика "лучше" — гаечный ключ или отвёртка.
Три главы провели путь от GOTO-хаоса BASIC через структурную дисциплину Pascal до современного разнообразия языков — и явно показали, откуда у Python взялись отступы вместо скобок, динамическая типизация и философия читаемости. Следующий блок временно откладывает сам язык программирования и обращается к другому фундаменту — командной строке трёх операционных систем, без которой полноценная работа с Python (блок 3) остаётся неполной.
Книга бесплатна для чтения. Автор — Тариел Бежанидзе, компьютерный мастер в Батуми · tariel.ge · все бесплатные книги. Копировать текст целиком на другие сайты — только со ссылкой на источник.