ГеометрияКарло Ровелли
Физик-теоретик, профессор высшего класса, Средиземноморский университет в Марселе; автор книги The First Scientist: Anaximander and His Legacy («Первый ученый: Анаксимандр и его наследие»).
Мы планируем и дальше использовать геометрию как полезную область математики, однако при этом пришло время отказаться от прежнего понимания геометрии как способа описания физического пространства. Идея о том, что геометрия представляет собой такой способ описания, сильно укоренилась в нас, и кажется, что избавиться от нее будет крайне сложно, однако рано или поздно это неминуемо случится. По сути, это всего лишь вопрос времени.
Изначально геометрия развивалась как метод описания свойств сельскохозяйственных угодий. В руках древних греков она превратилась в мощный инструмент для работы с абстрактными треугольниками, линиями, кругами и так далее и начала применяться для описания путей движения света и небесных светил, причем с высокой точностью. В Новое время, после Ньютона, она превратилась в математику физического пространства. Казалось, что такая геометризация физического пространства получила дальнейшее развитие благодаря Эйнштейну, описавшему пространство (а точнее, пространство-время) в понятиях геометрии Римана. Однако на самом деле это было началом конца.
Эйнштейн открыл, что ньютоновское пространство, описываемое геометрией, в действительности представляет собой поле, подобное электромагнитному, а поля обладают гладкостью и непрерывностью лишь при крупномасштабных измерениях. В реальности это квантовые сущности, дискретные и флюктуирующие. Из-за этого физическое пространство, в которое мы погружены, тоже представляет собой динамическую квантовую сущность, имеющую мало общего с тем, что мы называем геометрией. Скорее, это процесс размножения конечных взаимодействующих квантов. Мы все еще можем использовать для его описания понятия типа квантовой геометрии, однако реальность состоит в том, что квантовую геометрию уже вряд ли можно считать геометрией как таковой.
Нам стоит избавиться от идеи о постоянной надежности нашей пространственной интуиции. Мир намного более сложен (и прекрасен), чем «геометрическое пространство» и перемещающиеся в нем объекты.
Интегральное и дифференциальное исчислениеЭндрю Ли
Адъюнкт-профессор, Американский Университет; автор книги The Wikipedia Revolution («Революция „Википедии“»).
Не хочу утверждать, что нам следует отказаться от изучения скорости изменений или площади координатной плоскости, ограниченной данной кривой, или что мы должны наконец похоронить Исаака Ньютона и Готфрида Вильгельма Лейбница. Тем не менее вот уже много десятилетий именно с интегрального и дифференциального исчисления (математического анализа) начинается погружение в современные области науки. Университеты до сих пор требуют от студентов младших курсов любых специальностей тратить от одного до трех семестров на математический анализ как чисто математическую дисциплину, без всякой его связи с практическими приложениями, с упором на доказательства и теоремы.
В результате прохождение курса математического анализа превратилось в пугающий ритуал и для всех тех, кого интересует одна из важнейших научных областей наших дней – вычислительная математика и кибернетика. Интегральное и дифференциальное исчисление слабо связано с повседневной работой программистов, хакеров и предпринимателей, но при этом представляет собой значительное препятствие для найма кандидатов, столь нужных в качестве «цифровой» рабочей силы.
Эта проблема обретает особую важность именно в области программирования. Хотя образовательные программы для студентов младших курсов, специализирующихся в области программирования, постепенно начинают избавляться от ненужных требований к абитуриентам, присущих эпохе раннего интернета, мы могли бы сделать намного больше, если бы избавились от устаревшего представления о программировании как расширении математики – точки зрения, существующей еще с тех времен, когда компьютеры рассматривались исключительно как усовершенствованные калькуляторы.
Математический анализ продолжает оставаться во многих учебных программах, но скорее как ритуал, не имеющий никакой практической ценности. Он обеспечивает решение некоторых проблем, а также вносит свой вклад в развитие наших способностей к усвоению более сложных концепций, однако мне кажется совершенно непродуктивным, когда студенты, желающие создавать свои собственные программы, не могут этого сделать из-за того, что им не удается успешно пройти курс математики.
Сохранение подобных чрезмерных требований я объясняю в первую очередь традиционной леностью мышления тех, кто составляет учебные программы. В итоге создаваемая в учебных заведениях модель работы отвергает людей по причинам, никак не связанным с их способностями к программированию.
И это заставляет нас задаться вопросом: «Что значит быть хорошим программистом?» Ответ состоит в способности раскладывать комплексные проблемы на набор более мелких и легче решаемых. Кроме того, хороший программист должен уметь думать о системах и структурах с точки зрения процессов, манипулировать битами и делать с ними поистине потрясающие вещи. И если математический анализ не помогает в реализации этих задач, то что должно прийти ему на смену? Я считаю, что это могут быть куда более важные вещи, такие как дискретная математика, комбинаторика, теория вычислений и теория графов. Все это – довольно стандартные и совершенно необходимые вещи для большинства современных учебных программ в области кибернетики. Однако чаще всего студенты приступают к их изучению только после того, как они смогут преодолеть все препятствия, связанные с изучением матанализа.
Люди все чаще находят иные формальные и неформальные способы для изучения программирования вне формального высшего образования – это и видеоуроки, и онлайновые курсы, и встречи программистов, и соревнования по скоростному кодированию.
Отказ от обязательного требования к изучению матанализа позволит университетам привлекать всех этих людей более простым и методичным образом. Это не означает, что мы превратим университеты в ремесленные училища. Как и прежде, нам нужны ученые-теоретики в области точных наук, умеющие работать с математическим анализом, линейной алгеброй и дифференциальными уравнениями. Проблема состоит в том, что анализ слишком долго служил камнем преткновения на пути обучения мотивированных и отлично ориентирующихся в цифровом мире новаторов.
Университет Клемсона экспериментировал с изменением места математического анализа в своей учебной программе. Этот курс перестал быть обязательным для всех, кто не занимается точными науками в чистом виде. Проведенное в 2004 году исследование показало, что после изменения подхода и переноса занятий по математике на более поздние семестры было выявлено «статистически значимое улучшение показателя удержания студентов, изучающих инженерные науки» [98].
Нам нужно больше подобных экспериментов. Нам нужно и радикальное новое мышление, которое позволит нам преодолеть ограничения прежней модели, доминировавшей в этой области в течение десятилетий.
Как могло получиться, что огромное количество людей, интересующихся программированием, пока не охвачено нашими ведущими учреждениями в области высшего образования? Возможно, это связано с тем, что мы не смогли развиться и продолжаем рассматривать компьютерные науки как точные, а не как новую дисциплину, охватывающую сразу несколько областей. И чем быстрее мы сможем отказаться от этого устаревшего мышления, тем лучше.
ИнформатикаНил Гершенфельд
Физик, директор Центра битов и атомов, Массачусетского технологического института; автор книги Fab: The Coming Revolution on Your Desktop («Фаб: грядущая революция на вашем рабочем столе»).
Информатика (computer science) обладает некоторыми любопытными свойствами – она иногда игнорирует, а иногда открыто отвергает принципы всей остальной науки.
Существует множество вычислительных моделей: императивные / декларативные / функциональные языки, SISD / SIMD / MIMD архитектуры, скалярные / векторные / многоядерные процессоры, RISC / CISC / VLIW наборы команд. А физическая реальность есть только одна – для всякой области пространства доступны некоторые состояния, она может взаимодействовать с другими областями и для перехода из одного состояния в другое ей требуется некоторое время. Все остальное – это фикция.
И сейчас мы прилагаем поистине героические усилия для поддержания этой фикции. Программирование в наши дни напоминает праздное пребывание в «садах удовольствий» из фильма «Метрополис» Фрица Ланга: вы полностью уверены, что рабочие в цехах глубоко внизу будут в точности следовать вашим указаниям. Но на самом деле «снизу» все чаще слышен ропот. Множество взаимосвязанных «бутылочных горлышек», непопаданий в кэш, совпадений по времени цепочек тока, недостаточные бюджеты дата-центров и неэффективность параллельно работающих процессоров (и программистов) – вот лишь несколько причин этого.
У программ нет физических атрибутов типа пространства и времени, однако таковые имеются у «железа», на котором работают эти программы. Код, на базе которого работает та или иная программа, исполнительный скомпилированный код, и схемы, по которым он работает, совершенно не похожи друг на друга. Если вы посмотрите на географическую карту, то увидите в ней иерархическую структуру от города к штату и стране, однако геометрия представления не меняется в зависимости от масштаба. Почему мы не делаем того же самого в отношении программ?
Я склонен винить в создавшемся положении двух человек – Алана Тьюринга и Джона фон Неймана. Оба прославились исключительно важными с исторической точки зрения и довольно нетрадиционными исследованиями. Тьюринга интересовал вопрос принципиальной вычислимости. Машина, носящая его имя, задумывалась как теоретическая модель, а не как проект реально осуществимого эксперимента. У нее имелась головка, которая читала и записывала символы на бумажной ленте. И хотя это может показаться само собой разумеющимся, различие между сохранением физического состояния и взаимодействием его с другим состоянием носит нефизический характер. Разделение функций было разработано в элементах архитектуры фон Неймана. И хотя оно присутствует почти в каждом из сделанных в наши дни компьютеров, изначально оно не должно было стать универсальной истиной. Фон Нейман писал о нем в своем известном отчете о программировании, исходя из довольно ограниченных возможностей ранних компьютеров