Эйнштейн открыл, что ньютоновское пространство, описываемое геометрией, в действительности представляет собой поле, подобное электромагнитному, а поля обладают гладкостью и непрерывностью лишь при крупномасштабных измерениях. В реальности это квантовые сущности, дискретные и флюктуирующие. Из-за этого физическое пространство, в которое мы погружены, тоже представляет собой динамическую квантовую сущность, имеющую мало общего с тем, что мы называем геометрией. Скорее, это процесс размножения конечных взаимодействующих квантов. Мы все еще можем использовать для его описания понятия типа квантовой геометрии, однако реальность состоит в том, что квантовую геометрию уже вряд ли можно считать геометрией как таковой.
Нам стоит избавиться от идеи о постоянной надежности нашей пространственной интуиции. Мир намного более сложен (и прекрасен), чем «геометрическое пространство» и перемещающиеся в нем объекты.
Интегральное и дифференциальное исчисление
Эндрю Ли
Не хочу утверждать, что нам следует отказаться от изучения скорости изменений или площади координатной плоскости, ограниченной данной кривой, или что мы должны наконец похоронить Исаака Ньютона и Готфрида Вильгельма Лейбница. Тем не менее вот уже много десятилетий именно с интегрального и дифференциального исчисления (математического анализа) начинается погружение в современные области науки. Университеты до сих пор требуют от студентов младших курсов любых специальностей тратить от одного до трех семестров на математический анализ как чисто математическую дисциплину, без всякой его связи с практическими приложениями, с упором на доказательства и теоремы.
В результате прохождение курса математического анализа превратилось в пугающий ритуал и для всех тех, кого интересует одна из важнейших научных областей наших дней – вычислительная математика и кибернетика. Интегральное и дифференциальное исчисление слабо связано с повседневной работой программистов, хакеров и предпринимателей, но при этом представляет собой значительное препятствие для найма кандидатов, столь нужных в качестве «цифровой» рабочей силы.
Эта проблема обретает особую важность именно в области программирования. Хотя образовательные программы для студентов младших курсов, специализирующихся в области программирования, постепенно начинают избавляться от ненужных требований к абитуриентам, присущих эпохе раннего интернета, мы могли бы сделать намного больше, если бы избавились от устаревшего представления о программировании как расширении математики – точки зрения, существующей еще с тех времен, когда компьютеры рассматривались исключительно как усовершенствованные калькуляторы.
Математический анализ продолжает оставаться во многих учебных программах, но скорее как ритуал, не имеющий никакой практической ценности. Он обеспечивает решение некоторых проблем, а также вносит свой вклад в развитие наших способностей к усвоению более сложных концепций, однако мне кажется совершенно непродуктивным, когда студенты, желающие создавать свои собственные программы, не могут этого сделать из-за того, что им не удается успешно пройти курс математики.
Сохранение подобных чрезмерных требований я объясняю в первую очередь традиционной леностью мышления тех, кто составляет учебные программы. В итоге создаваемая в учебных заведениях модель работы отвергает людей по причинам, никак не связанным с их способностями к программированию.
И это заставляет нас задаться вопросом: «Что значит быть хорошим программистом?» Ответ состоит в способности раскладывать комплексные проблемы на набор более мелких и легче решаемых. Кроме того, хороший программист должен уметь думать о системах и структурах с точки зрения процессов, манипулировать битами и делать с ними поистине потрясающие вещи. И если математический анализ не помогает в реализации этих задач, то что должно прийти ему на смену? Я считаю, что это могут быть куда более важные вещи, такие как дискретная математика, комбинаторика, теория вычислений и теория графов. Все это – довольно стандартные и совершенно необходимые вещи для большинства современных учебных программ в области кибернетики. Однако чаще всего студенты приступают к их изучению только после того, как они смогут преодолеть все препятствия, связанные с изучением матанализа.
Люди все чаще находят иные формальные и неформальные способы для изучения программирования вне формального высшего образования – это и видеоуроки, и онлайновые курсы, и встречи программистов, и соревнования по скоростному кодированию.