Хроники вычислений — Введение

«Но наука об операциях, особенно полученная из математики, является наукой о себе и имеет свою собственную абстрактную истину и ценность; точно так же, как логика имеет свою особую истину и ценность, независимо от предметов, к которым мы можем применить ее рассуждения и процессы».

Понимание окружающего мира часто начинается с понимания нашего прошлого. Это верно независимо от того, изучаем ли мы историю цивилизаций, эволюцию биологических видов или разработку программного обеспечения. Корни нашего настоящего уходят в наше прошлое, и часто, раскапывая эти корни, мы получаем самое ясное представление о том, где мы находимся сегодня.

Разработка программного обеспечения не является исключением. Подобно дереву, выросшему из крошечного семени, область, которую мы сегодня знаем как разработка программного обеспечения, развивалась со скромного начала, добавляя со временем несколько уровней абстракции. Этот процесс начался не с первых цифровых компьютеров 20-го века, а с первых инструментов и методов, разработанных нашими предками, чтобы помочь им вычислять и понимать окружающий мир.

Эта книга — не только исследование, но и практическое руководство. Каждая глава организована вокруг ключевого исторического периода или события и сопровождается практическими примерами, написанными на Python, которые демонстрируют обсуждаемые концепции.

Использование Python не является произвольным. Python — это элегантный язык высокого уровня, который легко читать и писать, что делает его отличным выбором для обучения и демонстрации сложных идей. Его простота и ясность делают его мощным инструментом для воплощения в жизнь абстрактных концепций разработки программного обеспечения. Сам язык Python является продуктом эволюции разработки программного обеспечения, что делает его подходящим средством для изучения его истории.

Этот подход — сочетание истории с практическими примерами — предназначен для обеспечения глубокого и увлекательного понимания разработки программного обеспечения. Обосновывая абстрактные принципы поля конкретными историческими событиями и практическими примерами, он делает эти принципы осязаемыми и доступными. Это также подчеркивает тот факт, что программная инженерия — это не область, полностью сформированная в сознании одного человека или группы, а дисциплина, которая формировалась и совершенствовалась бесчисленным количеством людей на протяжении многих столетий.

Более того, понимая исторический контекст, в котором возникли эти принципы, мы можем лучше оценить трудности, с которыми столкнулись наши предшественники, и изобретательность, которую они проявили при их преодолении. Эта историческая перспектива также помогает нам понять, почему существуют определенные практики и условности и как они могут развиваться в будущем.

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

Добро пожаловать в наше исследование разработки программного обеспечения — путешествие сквозь время, инновации и код. Когда мы переворачиваем страницу к нашей первой главе, мы готовим почву для путешествия, которое сочетает в себе глубину истории с практичностью практического кодирования. Наше исследование начинается с простейших инструментов, инструментов, которые в своей простоте отражают суть вычислений.

Эта история входит в книгу Хроники вычислений. Следующий раздел — Вычисления каменного века.