Научная работа – в её современном виде – стала одним из изобретений, позволивших прогрессу развиваться. До того, как её форму разработали в XVII веке, результаты работ передавались частным образом в письмах, эфемерным образом в лекциях, или все скопом – в книгах. Не существовало мест для публичного обсуждения постепенных продвижений. Оставляя на своих страницах место для описания отдельных экспериментов или небольших технических продвижений, журналы творили хаос из разраставшейся науки. С той поры учёные стали походить на социальных насекомых: они постоянно двигали прогресс вперёд, с жужжанием, подобным стае пчёл.

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

Чем сложнее становится наука, тем тяжелее ей сообщать о своих результатах. Сегодняшние работы получаются длиннее, чем когда бы то ни было, и полны жаргона и разных символических обозначений. Они зависят от набора компьютерных программ, выдающих данные, подчищающих данные, строящих графики, обрабатывающих статистические модели. А эти программы иногда так небрежно написаны и так сконцентрированы на результате, что это тоже вносит свою лепту в кризис повторяемости – то есть, работа не справляется со своей основной задачей: сообщить о сделанном открытии достаточно просто, чтобы кто-то ещё мог тоже его сделать.

Возможно, стоит винить в этом привычку к бумаге, на которой печатают работы. Научные методы эволюционируют со скоростью софта; более всего от физиков, биологов, химиков, геологов, и даже антропологов и психологов требуется умение владеть языками программирования и пакетами "даталогических" программ. И при этом основной способ донесения научных результатов не менялся за последние 400 лет. Конечно, работы можно выкладывать в интернет – но это всё ещё текст и изображения, расположенные на странице.

Что бы получилось, если бы мы сегодня разрабатывали стандарт научной работы с нуля? Недавно я беседовал с Бретом Виктором, исследователем, работавшим в Apple над ранними прототипами пользовательского интерфейса для iPad, а сейчас руководящим собственной лабораторией в Окланде, Калифорния, изучающей будущее вычислительных систем. Виктор давно считает, что учёные до сих пор не пользуются всеми преимуществами компьютера. «Ситуация не сильно отличается от печатного станка и эволюции книг», — сказал он. После Гуттенберга печатные станки в основном использовались для воспроизведения каллиграфии библий. Почти 100 лет технических и концептуальных улучшений потребовалось для того, чтобы изобрести современную книгу. «Был целый период, во время которого у людей была новая технология печати, а они использовали её для воспроизведения старых носителей».

Виктор показал, чего можно достичь, когда он переделывал журнальную статью, написанную Дунакном Уоттсом и Стивеном Строгацем, «Коллективная динамика сетей малых миров». Он выбрал её потому, что это одна из самых часто цитируемых работ во всей науке, и потому что это модель чёткого представления информации. (Строгац более всего известен, как автор колонки «Элементы математики» в газете The New York Times).

Работа Уоттса-Строгаца описывала ключевые открытия так, как и большинство других – текстом, картинками, математическими символами. И, как у большинства работ, эти открытия очень сложно переварить, несмотря на понятное описание. Самыми сложными местами работы были те, что описывали процедуры или алгоритмы, поскольку читателю приходилось брать на себя «роль компьютера», как сказал Виктор – пытаться поддерживать в уме картину происходящего, проходя по шагам алгоритма.

После переработки Виктора пояснительный текст стал перемежаться интерактивными диаграммами, иллюстрировавшими каждый шаг. В этой версии можно было проследить работу алгоритма на примере. Можно было даже контролировать его.



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

Стогац изучает нелинейную динамику и хаос, системы, склонные к синхронизации или самоорганизации: мигание светлячков, тиканье метрономов, электрические импульсы клеток сердца. Ключ в том, что такие системы работают циклично, и Строгац визуализирует это через точки, идущие по кругу: когда точка возвращаетсяы на место старта – это моргание светлячка или срабатывание клетки сердца. «Почти 25 лет я делал небольшие компьютерные анимации точек, бегущих по кругу, с цветами, обозначавшими их частоту, — сказал он. – Красные – медленные ребята, фиолетовые – быстрые… На моём компьютере кружатся все эти точки, я этим весь день занимаюсь, — сказал он. Я гораздо лучше улавливаю закономерности в бегущих по экрану цветных точках, чем в 500 временных рядах. Подобным образом я мало что увижу, потому что на самом деле это выглядит совсем не так. Я изучаю динамические процессы, поэтому их представление тоже должно быть динамичным».

Программы – носитель динамический, а бумага – нет. В этом смысле кажется странным, что такие исследования, как у Строгаца, посвящённые динамическим системам, так часто распространяются на бумаге, не имея преимуществ в виде кружащихся точек – поскольку именно такие точки и помогли ему увидеть то, что он увидел, и могут помочь увидеть это и читателю.

В этом и состоит вся проблема научного общения: сегодня научные результаты очень часто находятся при помощи компьютеров. Идеи сложные, динамичные, их нелегко охватить внутренним взором. И при этом самым популярным инструментом для распространения результатов остаётся PDF – буквально симуляция листка бумаги. Вероятно, мы можем придумать что-то получше.

Стивен Вольфрам опубликовал свою первую научную работу в возрасте 15 лет. К концу обучения в институте он опубликовал уже 10 работ, а к 20 годам, в 1980-м, он уже закончил докторскую по физике частиц в Калифорнийском технологическом институте. Его супероружием было активное использование компьютера в те времена, когда самые серьёзные учёные считали вычислительную работу ниже своего достоинства. «К тому моменту, вероятно, я использовал компьютерную алгебру больше всех в мире, — рассказал он в интервью. Это было очень удобно, я так просто мог провести все расчёты на компьютере. Я развлекался, размещая особенно витиеватые формулы в моих научных работах».

С ростом амбициозности его исследований он всё чаще доводил существовавшее ПО до пределов возможностей. Для одного проекта ему приходилось использовать по полудюжине различных программных инструментов. «Я много времени проводил, связывая всё это вместе, — сказал он. – И я решил, что должен попробовать создать единую систему, которая бы делала всё, что мне надо – такую, которая могла бы расти вечно». И вместо продолжения академической деятельности, Вольфрам решил создать компанию Wolfram Research, и сделать идеальную вычислительную среду для учёных. Заголовок в Forbes от 18 апреля 1988 года гласил: «Physics Whiz Goes Into Biz» [Учёный-волшебник ударился в бизнес].

В центре системы Mathematica, как назвала компания свой главный продукт, находится «блокнот», в котором вы пишете команды на одной строке и видите результаты на другой. Напишите «1/6 + 2/5» и он выдаст вам «17/30». Попросите его перемножить многочлены, и он подчинится. Mathematica способна на матанализ, теорию чисел, геометрию, алгебру. У неё есть функции для подсчёта химических реакций и фильтрования генетических данных. В её базе данных есть все картины Рембрандта, и она может выдать вам диаграмму разброса его палитры по времени. В неё встроены модели орбитальной механики, и она сможет подсчитать, как далеко F/A-18 Hornet сможет спланировать, если его двигатели выключатся на высоте 10 000 км. Блокнот в Mathematica – не просто запись подсчётов пользователя, а расшифровка его беседы с всезнающим оракулом. Вольфрам называет тщательно написанные блокноты «вычислительными эссе».

Интерфейс блокнота был детищем Теодора Грэя, вдохновлённого работой со старым редактором кода для Apple. Большинство сред программирования позволяют вам выполнять код построчно или же сразу и целиком. Редактор Apple позволял вам выделить любую часть кода и выполнить только её. Грэй перенёс эти основные концепции в Mathematica, а помогал улучшать дизайн ему не кто иной, как сам Стив Джобс. Блокнот разработан для превращения научного программирования в интерактивное упражнение, в котором отдельные команды можно подправлять и перезапускать десятки и сотни раз, обучаясь на результатах вычислительных экспериментов, что позволяет приходить к более глубокому пониманию данных.

Особенно хорошо блокнот справляется со своими задачами благодаря способности рисовать графики, изображения и красивые математические формулы, при том, что всё это динамически реагирует на изменения в коде. В Mathematica можно ввести запись голоса, применить сложные математические фильтры к аудиозаписи, и визуализировать итоговую звуковую волную. Перетаскивая мышкой параметры, можно изменять её вид и смотреть, какие фильтры подходят лучше всего, играясь с ними. Возможность пакета легко обрабатывать так много различных вычислительных задач в одном простом интерфейсе является результатом «буквально человеко-веков работы», как говорит Грэй.

Видение, стоящее в основе работы, многократно повторено Вольфрамом в его лекциях, записях в блоге, презентациях и пресс-релизах. Не просто сделать хороший софт, но создать точку перегиба в самом занятии наукой. В середине XVII века Готфрид Лейбниц разработал систему записей интегралов и производных (знакомые ? и dx/dt), сделавшую сложные идеи матанализа механическими. Лейбниц считал, что схожие символы в более широком применении могли создать «алгебру мыслей». С тех пор логики и лингвисты мечтают об универсальном языке, который сможет устранить двусмысленность и превратить решение сложных задач в подобие матанализа.

Карьера Вольфрама заключается в постоянных попытках вобрать всё знание мира в пакет Mathematica, а позже — сделать его доступным через Wolfram Alpha, «движок вычислительных знаний» компании, стоящий за многими возможностями отвечать на вопросы у таких электронных помощников, как Siri и Alexa. Это попытка Вольфрама создать Interlingua, язык программирования, одинаково понятный и людям, и машинам – алгебру всего.

Задача характерно амбициозная. В 1990-х Вольфрам иногда поддразнивал общественность комментариями о том, что в процессе создания своей компании он работает над революционным научным проектом. Ожидание нарастало. Наконец, проект прибыл: огромная книга, толщиной со шлакоблок, и почти таким же весом, с вековечным названием: "Наука нового типа".

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

Чем больше вы сталкиваетесь с Вольфрамом, тем больше это походит на его стиль. В статье о нём от 1988 года в Forbes попытались докопаться до корней этого явления: «Как сказал Гарри Вульф, бывший директор престижного Института передовых исследований (в Принстоне), где Вольфрам в 23 года был одним из самых молодых старших научных сотрудников, — он обладал „культивируемыми трудностями в характере, поддерживаемыми ощущением одиночества, изоляции и уникальности“.

Когда один из ассистентов Вольфрама объявил о значительном математическом открытии на конференции, служившем ключевой частью „Науки нового типа“, Вольфрам пригрозил засудить его в случае публикации работу. „Ни в одной серьёзной исследовательской группе младшему исследователю не позволят говорить о том, чем занимается старший“, — сказал он в то время. Массивную книгу Вольфрама другие учёные критиковали за то, что она была основана на других работах, но при этом их не упоминала. „Он намекает на то, что является автором основных идей, бывших центральной идеей теории сложных систем последние 20 лет“, — один из исследователей рассказал журналу Times Higher Education в 2002.

Самовосхваление Вольфрама кажется тем удивительнее, поскольку оно совершенно необязательно. Его достижения говорят сами за себя – если бы он позволил бы им это делать. Mathematica достигла успеха практически сразу после запуска. Пользователи давно ждали такой продукт; в университетах программа стала настолько же распространённой, как Microsoft Word. Вольфрам же использовал стабильный доход для найма дополнительных инженеров и экспертов по разным отраслям, скармливая всё больше информации своей ненасытной программе. Сегодня Mathematica знает об анатомии ступни и законах физики, о музыке, систематике хвойных деревьев и основных сражениях Первой Мировой войны. Сам Вольфрам помогал обучать свою программу архаичной греческой записи цифр.

Все эти знания „вычисляемы“. Если хотите, можете обозначить через x местоположение битвы на Сомме, а через y – ежедневное выпадение осадков в 1916 в радиусе 50 км от этого места, и Mathematica вычислит, случалось ли больше смертей во время битв Первой Мировой в то время, когда шёл дождь.



»Я заметил интересную тенденцию, — писал Вольфрам в посте в блоге. – Выберем любую область X, от археологии до зоологии. Тогда с ней будет связана «вычислительная X», которая либо уже существует, либо только нарождается. И это считается будущим данной области". Вольфрам утверждает, что чем лучше специалисты в этих областях будут овладевать вычислительными методами, тем больше будет расширяться область открываемого. Блокнот в Mathematica может стать ускорителем науки, поскольку он может породить новый стиль мышления. «Интереснее всего наблюдать, — говорит он, — как происходит такой же переход, что имел место в XVII веке, когда люди получили возможность читать математические записи. Это становится формой общения, обладающей очень важной особенностью – возможностью запуска».

Идея в том, что «научная работа» такого рода сможет обладать таким же динамизмом, который хотели иметь Строгац и Виктор – интерактивные диаграммы, перемежающиеся текстом – с дополнительным преимуществом, благодаря которому весь код, генерирующий эти диаграммы, и все данные, будут доступны читателю, который сможет их рассмотреть и поиграться с ними. «Честно говоря, когда вы пишете что-то такое простое и понятное на языке Wolfram в блокноте, там не остаётся места для обмана. Есть то, что есть, и работает оно так, как работает. Нет возможности подогнать результат», — говорит Вольфрам.

Написать работу в блокноте Mathematica – значит, раскрыть и результаты и методы вашей работы; и научная работа, и всё, что вы сделали, чтобы её написать. А в результате читателям будет проще не только понять её, но и воспроизвести (или не воспроизвести). Когда миллионы учёных по всему миру делают свой вклад в науку постепенно, единственным способом превратить всю эту работу в нечто важное будет дать возможность другим надёжно строить что-то на основе этих вкладов. «Вот чего могут добиться научные работы, сделанные в виде вычислительных эссе», — сказал Вольфрам.

Вольфрам говорит, что удивлён тем, что вычислительные эссе не набрали популярности. Он вспоминает свою работу с Elsevier, гигантом научных публикаций, в начале 1980-х. «Elsevier наняла меня для консультаций по поводу чего-то вроде „как будет выглядеть будущее научных публикаций“. Это было ещё до появления блокнотов Mathematica, но он толкнул им речь примерно из той же области. „Несколько лет назад я снова беседовал с кем-то из руководства компании. И на той встрече я понял – о боже мой, я же говорил абсолютно то же самое 35 лет назад!“

Я пообщался с Теодором Грэем, ушедшим из Wolfram Research с тем, чтобы стать писателем. Он сказал, что его работа над блокнотом в частности была мотивирована его ощущениями, хорошо сформировавшимися уже к 1990-м, „что, очевидно, всё научное общение и все технические работы, в которых использовались какие-либо данные или математика или моделирование или графики или схемы или что-то вроде того, не нужно публиковать на бумаге. Это было совершенно очевидно уже к 1990“, — сказал он.

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

В начале 2001 года Фернандо Перез понял, что находится примерно в том же положении, что и Вольфрам 20 лет назад. Он был аспирантом-физиком, доведшим свои инструменты до пределов их возможностей. Он использовал целый ворох систем, и Mathematica среди них, и, казалось, выполнение каждой задачи требует переключения от одного инструмента к другому. Он вспоминает, что на его столе лежало 6-7 различных книг по программированию. Ему хотелось создать объединённую среду для научных вычислений.

Но вместо того, чтобы начать открывать компанию, он нашёл двоих учёных, немецкого океанографа и аспиранта по информатике из Калтеха, думавших примерно в том же направлении. Они все влюбились в Python, язык программирования общего назначения с открытым исходным кодом, и независимо друг от друга начали создавать для него инструменты, призванные упростить работу с языком для учёных: инструменты, упрощавшие работу с наборами данных и построение графиков, поощрявшие более исследовательские стили программирования.

Перез свёл три проекта в один и взял над ним управление. С самого начала проект IPython (I значило интерактивный) имел открытый код. Программа не просто была бесплатной, любой мог изучить её код и подправить его, сделав свой вклад в общее дело. Это решение было принято намеренно. «Мне был интересен как этический аспект возможности поделиться своей работой с другими, — рассказал мне Перез, сам родом из Колумбии, где получить доступ к коммерческим программам было сложнее, — так и эпистемиологическая мотивация». Он считал, что если науке необходимо быть открытой, то и инструменты, используемые для работы с ней, должны быть открытыми. Коммерческое ПО, чей исходный код по закону нельзя было читать, было «антитезой идее науки», чьё предназначение состоит в том, чтобы открыть чёрный ящик природы.

Поэтому и использовался Python. Базовая версия языка не такая мощная, как Wolfram Language, на котором работает Mathematica. Но если Mathematica черпает свои возможности из работы армии программистов, костяк Python поддерживается массивной библиотекой дополнительных возможностей – по обработке изображений, созданию музыки, построению ИИ, анализу языка, построению графиков – созданных сообществом людей, бесплатно делающих вклад в открытый код. Python стал стандартом де-факто для научных вычислений, поскольку разработчики открытого кода, такие, как Перез, создали для него полезные инструменты; а разработчиков Python притягивал потому, что он был стандартом де-факто для научных вычислений. Сообщества языков программирования, как любая социальная сеть, процветают или умирают благодаря мощности этих петель обратной связи.

Идея интерфейса блокнота для IPython была взята у Mathematica. Перез восхищался тем, как блокноты в Mathematica поощряли исследовательский стиль работы. «Можно было что-то набросать, потому что именно так вы рассуждаете о задаче, так вы её понимаете». Вычислительные блокноты «выдвигают на первый план идею живого повествования. Можно продумать процесс и эффективно использовать компьютер как, если хотите, партнёра по размышлениям и по вычислениям».

Вместо того, чтобы разрабатывать специальное отдельное приложение, не говоря уже о том, чтобы тратить на него человеко-века, команда IPython – к Перезу присоединились Брайан Грейнджер, профессор физики из Калифорнийского политехнического университета в Сан-Луис-Обиспо и Мин Рейган-Келли, кандидат наук из Калифорнийского университета в Беркли, работающий в области вычислительной физики – сделала блокноты в виде простых веб-страниц. Интерфейсу не хватает красоты работ Стива Джобса и их сложности. Но, задействовав веб, IPython получил бесплатные дополнения: каждый раз, когда Google, Apple или случайный программист выпускали новый инструмент для построения графиков, или публиковали улучшенный математический код, это улучшение присоединяли к IPython. «Это всё прекрасно окупилось», — сказал Перез.

Работа, объявлявшая о первом подтверждённом обнаружении гравитационных волн, была опубликована традиционным способом, в виде PDF, но в комплекте с блокнотом IPython. В блокноте можно отследить всю работу, сгенерировавшую все графики для статьи. Каждый желающий может сам запустить код, подправлять его, как хочется, играться с вычислениями, чтобы лучше понять, как они работают. В определённом месте блокнота повествование доходит до той части, в которой сигнал, сгенерированный гравитационными волнами, превращается в звук – и его можно проиграть в браузере, услышать то, что первыми услышали учёные, бульк от двух сталкивающихся чёрных дыр.



«Думаю, научное сообщество приняло этот инструмент, и он уже считается универсальным, — говорит Теодор Грэй о группе Переза. – А такого принятия Mathematica пока ещё не достигла». На Github в публичном доступе выложено уже 1,3 млн таких блокнотов. Их используют в Google, Bloomberg и NASA; музыканты, учителя и исследователи ИИ; и «почти во всех странах Земли».

Каждый раз IPython выбирал путь развития, включавший в себя что-то ещё, и в итоге его уже не называют IPython. Проект в 2014-м переименовали в Jupyter, чтобы подчеркнуть, что он работает уже не только с Python. Jupyter notebook похож на блокнот Mathematica, только подходит для любого языка программирования. Можно сделать блокнот для Python, или C, или R, или Ruby, или JavaScript, или Julia. Любой может создать поддержку Jupyter для своего языка программирования. Сегодня его поддерживает уже более 100 языков.

Теодор Грэй, разрабатывавший интерфейс для оригинального блокнота Mathematica, сказал, что он однажды ради эксперимента попробовал сделать его поддержку для других языков программирования. «Из этого ничего не вышло, — сказал он мне. – Компании было не интересно это поддерживать. А если вам нужно поддерживать множество языков, вы не можете делать это так же тщательно».

Эссе Эрика Рэймонда от 1997 года под названием "Собор и Базар" в некотором смысле стало основным документом современного движения открытого кода. Оно отвергает мнение о том, что сложное ПО необходимо строить, как собор, «тщательно изготовленный отдельными волшебниками или небольшими командами магов, работающих в изоляции». Опыт Рэймонда как одного из управляющих разработкой ядра Linux научил его тому, что «огромный шумный базар с различными целями и подходами», определяющей проекты с исходным кодом, представляет собой преимущество. «То, что такой базарный стиль работает, и работает хорошо, явилось шоком», — писал он. Своим эссе он пытался пояснить, почему «мир Linux не только не разлетелся от непонимания, но, кажется, следует от одного сильного достижения до другого со скоростью, которую с трудом могут представить себе строители собора».

Mathematica была в разработке задолго до опыта Рэймонда с Linux, и разрабатывается с тех пор уже много лет. Это квинтэссенция собора, и его строители всё ещё скептически относятся к базару. «Там всегда есть место хаосу, — говорит Грэй по поводу систем с открытым кодом. – Количество движущихся частей огромно, и разные части контролируют разные группы. У вас ни за что не получится собрать их вместе в интегрированную систему так же, как это возможно в едином коммерческом продукте, с единственным, так сказать, маньяком в его середине».

Маньяком, естественно, выступает Стивен Вольфрам. Грэй отметил, что при Муссолини поезда ходили по расписанию. «Аналогия плохая», — сказал он, но всё же «я за наличие маньяка в середине». Блокнот Mathematica более связно разработанный, более отполированный продукт – по большей части потому, что каждое решение прошло через разум одного упрямого гения. «Я видел этих ребят из Jupyter, — сказал мне Вольфрам, — и они в среднем находятся на уровне того, что было у нас в 90-х». Он говорит, что они срезают углы. «А мы реально пытаемся сделать всё правильно».

Но научному сообществу тяжело рекламировать коммерческое ПО. Хотя Wolfram Research годами раздавал бесплатную программу для просмотра блокнота, и хотя большинство крупных университетов обладают лицензией, позволяющей их студентам и преподавателям свободно использовать Mathematica, возможно, будет слишком просить издателей отказаться от открытого формата PDF в пользу коммерческого продукта. «Пока что ситуация такая: если вы попытаетесь отправить в журнал блокнот из Mathematica, они будут жаловаться: у нас нет Mathematica, это очень дорогая программа, дайте нам что-то более стандартное».

Не помогает и тот факт, что Вольфрам – как человек, так и компания – назойливо расхваливает превосходство продукта, его необходимость, так, что даже Грэй сравнивает его с приверженцами кроссфита, которых невозможно заткнуть. Это ведь тот же самый Стивен Вольфрам, который назвал свою книгу, посвящённую своей работе над клеточными автоматами, «Наука нового типа». В его посте по поводу вычислительной науки он пишет: «В центре вычислительных эссе лежит идея выражения вычислительных мыслей при помощи Wolfram Language».



Возможно, это и так – возможно, вычислительные блокноты смогут прижиться, только если их будет поддерживать единый сверхъязык, или компания с глубокими карманами и существенно заинтересованная в их работе. Но, возможно, что верным будет противоположное. Интегрированные усилия, пусть и более хаотичные, могут оказаться и более надёжным, а также единственным способом завоевать доверие научного сообщества.

Вольфрам мало что замечает за пределами Wolfram, и, возможно, по этой причине блокнот Mathematica остаётся довольно непрозрачным, а его противник – пусть и вторичный и упрощённый, но открытый – судя по всему, завоёвывает мир.

Пройдёт какое-то время до того, как вычислительные блокноты заменят PDF в научных журналах, поскольку это будет означать смену побудительной структуры самой науки. До тех пор, пока журналы не начнут требовать у учёных присылать им блокноты, и до тех пор, пока свободная раздача своей работы и данных не станут способом завоевать престиж или получить финансирование, люди, скорее всего, будут делать всё так, как и раньше.

Я беседовал с нейробиологом, ставшим программистом и вносившим свой вклад в Jupyter, и он рассказал мне, что профессор, заведовавший лабораторией, где он раньше работал, изначально был электрофизиологом – измерял активность нейронов через имплантированные электроды. «Получение таких данных — настолько затратный и дорогой проект», сказал он, что ими никто никогда не будет делиться. «Вы собираете один срез данных и можете перерабатывать их до конца карьеры».

«На данном этапе ни один разумный человек не будет спорить с тем, что практика научных исследований испытывает сдвиг», — писал Перез, создатель Jupyter, в посте в блоге от 2013. Наука всё больше использует вычисления, и навыки, необходимые для того, чтобы стать хорошим учёным, становятся всё более привлекательными в индустрии. Университеты теряют лучших людей, организовывающих свои стартапы, а также уходящих в Google и Microsoft. «На моих глазах множество талантливых коллег за последнее десятилетие покидали академический мир, отчаявшись, — писал он, — и не могу припомнить ни одного из них, кто не был бы много лет спустя доволен этим».

Перез рассказывал мне истории об учёных, пожертвовавших академическими карьерами ради разработки ПО, поскольку в их области исследования разработку ПО ни в грош не ставили. Создатель matplotlib, вероятно, наиболее часто используемого инструмента для построения графиков в научных работах, был постдоком по нейробиологии, но ему пришлось покинуть академический мир ради индустрии. То же случилось с создателем NumPy, популярного сейчас инструмента числовых расчётов. Перез сказал: «Я получал недвусмысленные комментарии от множества коллег и старших товарищей, которые говорили: Прекращайте этим заниматься, вы тратите свою карьеру и свой талант». Они, не смущаясь, советовали мне «возвращаться к физике, к математике, к написанию статей».

Но те, кто остаются, достигают прогресса. Перез недавно получил место в статистическом департаменте в Беркли. Через день после нашей беседы он должен был обучать студентов старших курсов науке о данных, по программе, построенной полностью на блокнотах Python и Jupyter. «Версия этого курса для младшекурсников привлекла, по-моему, 1200 студентов, — сказал он. – Это был самый быстро растущий курс в истории Калифорнийского университета в Беркли. И всё это на основе инструментов с открытым кодом».

Те, кто стремятся улучшить практику научных занятий, мечтают и об улучшении их результатов. Запись Лейбница, позволившая проще записывать матанализ, расширила пространство мыслимого. Величайшие научные задачи сегодняшнего дня очень часто являются вычислительными загадками: как интегрировать миллиарды спаренных оснований в данных по геномам, и в 10 раз больше данных по протеомике, и исторические данные по пациентам, и результаты фармакологических исследований в связную базу того, как кто-то заболел и что нужно сделать, чтобы ему помочь? Как на практике подступиться к бесконечному потоку новых данных по температуре и осадкам, океанографии, вулканической и сейсмической активности? Как создавать и понимать карты нейронных связей думающего мозга? Если снабдить учёных вычислительными блокнотами или какими-то более совершенными их версиями, это, возможно, поможет поднять их разум до уровня проблем, сегодня недоступных.

В какой-то момент Перез рассказал мне, что проект Jupyter чествовал Галилея — возможно, первого учёного в современном смысле. Логотип Jupyter – абстрактная версия оригинальных рисунков Галилея, изображающих луны Юпитера. «Галилею некуда было пойти, чтобы купить телескоп, — сказал Перез. – Ему пришлось сделать свой собственный».

Комментарии (36)


  1. TimsTims
    21.05.2018 15:22
    +1

    Сколько ни читал про wolfram language, столько раз и смущает: это же сколько слов надо выучить, чтобы знать, что к картинам из списка нужно обращаться как RandomSample, а не как RandomFromArray, что координаты берутся условно GetLatitude(solarsystem.planets.earth), а не GetXFromEarth.
    То, что в нём есть всё — это одновременно и плюс и минус этого языка. Из-за того, что в нём есть всё, очень сложно, как мне кажется, со всем этим работать. Например я хочу получить значение каждой точки всех картин Ван-Гога, и сравнить их друг с другом. Наверняка есть такая команда, но наизусть я её наверняка не запомню, и надо будет в любом случае крутить маны. Но наверняка есть команда «взять пиксель», а есть «взять красный цвет от пикселя», а есть взять цвет по cmyk. Это значит, что маны будут либо слишком раздутыми и запутанными, либо сжатыми и непонятными.
    Это и преимущество: «язык почти всё может», это же и недостаток: «капец как сложно».
    Помните, сколько холивара про php? Что дефолтные строковые функции называются то strpos, то str_rot13 (через подчеркивание). В тех же функциях (поиск подстроки) — в разных вариантах функций (возврат позиции вхождения, и возврат подстроки) — очередность одних и тех же параметров идет в разном порядке. И из-за этой разницы столько холивара. А что будет с Вольфрам?


  1. AEP
    21.05.2018 18:53
    +3

    Не надо путать инструменты для математического исследования и инструменты для публикации. Первые должны дать возможность исследователю получить и «пощупать» результат. Ничего страшного, если уже завтра это не получится — есть другие способы восстановить цепочку мыслей. Вторые должны донести результат и метод его получения до других исследователей и, что тоже важно, до историков науки, а потом и до студентов. Аналогично, не следует путать задачи воспроизведения исследований в краткосрочной («проверка рецензентом») и долгосрочной («перенос в учебники») перспективе.

    Так вот, я утверждаю, что на данный момент бумага, фото/кинопленка, и, возможно, их эквиваленты в виде неинтерактивных файлов текста, изображений и видео являются единственными видами носителей, которые гарантированно пролежат несколько десятков лет без потери возможности понять, что там излагается. Возможно, переработанную Виктором версию математической статьи сейчас проще «прочувствовать», чем оригинал. Но через десятилетия выяснится, что, условно говоря, javascript, на котором были реализованы интерактивные диаграммы, больше нигде не поддерживается, и у бумаги будет преимущество.

    Слово «неинтерактивных» в предыдущем абзаце появилось не случайно. Неинтерактивные форматы мультимедиа можно массово и автоматизированно переводить в современные форматы (например, перепаковывать из Intel Indeo в H.265), или, если надо, обратно на аналоговые носители. При этом адекватность преобразования проверяется элементарно глазами. Интерактивные элементы — это программы, а адекватность перевода программ на другой (не мертвый) язык, или адекватность эмулятора оригинальной среды, требуют для своей проверки огромной работы. Так что будет лучше, если авторы научных работ (а в идеале — и учебников) научатся понятно излагать свои мысли без использования таких недолговечных выразительных средств.


    1. Shkaff
      21.05.2018 19:05
      +6

      image


      1. xMushroom
        21.05.2018 20:27
        +1

        CD, по-моему, незаслуженно обидели. Scratched — а книга порваться не может? New computer has no CD drive anyway — а микрофильмы чем смотреть будем?


        1. MTyrz
          21.05.2018 21:43

          Книга порваться может. Вот только процент книг, стоящих на полке и читаемых (в смысле, могущих быть прочитанными без специальных усилий), почему-то очень-очень заметно превышает процент читаемых дисков с соседней полки.

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

          Например, такой
          image


        1. Z0K
          21.05.2018 21:49

          Микрофильмы видно глазом на просвет.


      1. Wizard_of_light
        21.05.2018 21:38
        +1

        Да ну, это решаемые проблемы — было бы кому нужно. А если вдруг не так нужно, так всё равно конец, хоть в граните отливай. Фестский диск вот — неплохо сохранился…


        1. avrelian
          22.05.2018 00:49

          Между прочим, сохранился он только потому, что сильно обгорел при пожаре.


          1. RomanoBruno
            22.05.2018 10:41

            В вечность уйдет только высеченный на камнях текст.
            Других вариантов нет))


    1. Hardcoin
      22.05.2018 13:00

      9/10 этих работ через десять лет не будут никому нужны. Зато сейчас они дают почву для той десятой, которую и имеет смысл издать на бумаге. А задача этих девяти — быть как можно удобнее.


      Конечно, не всегда сразу ясно, какая работа не потеряет значимость. Но тратить время для перевода компьютер->бумага на каждую не факт, что разумно. Через десять лет выборочные работы можно и переиздать/переработать.


    1. cozycow
      23.05.2018 11:09

      К вопросу о «долговечности» статических форматов, как Вам такая публикация?


      1. AEP
        23.05.2018 11:58

        Стандартная статья об опечатке. Бывает :)

        Спасибо, что подняли вопрос о двух смыслах слова «долговечность»: возможность прочитать в будущем (со всеми ошибками и заблуждениями) и вера в то, что статья все еще будет соответствовать нашим представлениям о предмете.

        Считаю, что хранить старые версии с опечатками необходимо. Иначе (особенно в области ядерных исследований) возможен сценарий, когда под видом исправлений в статью по требованию государственных органов вносятся новые ошибки, специально затрудняющие воспроизведение результатов. Хорошо сделано на arxiv.org: доступны все версии.


  1. geisha
    21.05.2018 23:09

    Краткое содержание для тех, кому лень читать это нытьё:


    Самые ранние из работ в каком-то смысле были более читаемыми, чем сегодняшние.

    Сегодняшние работы получаются длиннее, чем когда бы то ни было, и полны жаргона и разных символических обозначений

    программы иногда так небрежно написаны

    Mathematica достигла успеха практически сразу после запуска.

    но (как же так!)


    блокнот Mathematica остаётся довольно непрозрачным, а его противник – пусть и вторичный и упрощённый, но открытый – судя по всему, завоёвывает мир.

    И стандартное


    истории об учёных, пожертвовавших академическими карьерами ради разработки ПО, поскольку в их области исследования разработку ПО ни в грош не ставили

    Просто хочется напомнить, сколько уже существует "консервативная" наука, а сколько — разработка ПО и IPython с математикой в частности. Когда через лет 30 надо будет вернуться к той или иной статьи — грош цена будет этим ноутбукам. А статья в pdfке будет живее всех живых.


    1. MechanicZelenyy
      23.05.2018 11:08

      Спорно. Научные методы и философия науки постоянно развивается и наука в современном смысле существует a) не так уж долго, около 70 лет (сравнимо с появлением FORTRANа и программын апсанные на нем до сих пор используются) б) проникла не во все свои отрасли.

      Статья в pdf будет живее всех живых, но вопрос сколько от неё будет пользы. Уже сейчас реальная польза от существующих статей ничтожна. И будет падать дальше, если не будет найдена новая парадигма обмена знаниями.


      1. geisha
        23.05.2018 21:24
        +1

        наука в современном смысле существует a) не так уж долго, около 70 лет

        Это, конечно, неправда. Второе я просто не понял и комментировать не буду.


        реальная польза от существующих статей ничтожна

        Формулировка — булшит какой-то. Не могу даже приблизительно представить, в чём измерить "пользу от статей" и с чем ее сравнить. С пользой от горчичников? С пользой от телевидения?


  1. mat300
    22.05.2018 00:56

    "Вольфрам — маньяк" — это реально в точку. Тот еще самодовольный самонадеянный напыщенный павлин.


  1. SpaceEngineer
    22.05.2018 02:09

    Проблема математики очевидна — она стоит каких-то немыслимых денег. Что идёт вразрез со светлыми мечтами Вольфрама. Сделай ты ее бесплатной — тогда может все станут ею пользоваться? Но время, наверное, уже упущено…

    PS: Сам пользуюсь математикой ещё со школы. Пираткой, естественно) Но знаю лишь одного человека, который в ней работает — своего научрука, который меня с ней и познакомил.


    1. Shkaff
      22.05.2018 09:11

      Расчет же в первую очередь не на частных пользователей, а на компании и институты. А у них есть деньги, чтобы купить лицензию. Мне кажется, любой институт (в Европе и штатах уж точно) имеет как минимум серверную лицензию, т.к. в физике-химии она просто незаменима, в первую очередь для символьных вычислений. У нее буквально нет аналогов…
      Плюс, для студентов и независимая версия достаточно недорога (меньше 200 евро).


      1. Arastas
        22.05.2018 12:53

        Многие предпочитают Maple для символьных вычислений, так что не любой институт в Европе.


        1. amartology
          22.05.2018 13:14

          Но зачем рассказывать про Maple в рекламной статье Jupyter? Одной злодейской Математики под руководстом психа Вольфрама вполне достаточно для того, чтобы выгодно подсветить усилия рыцарей добра по созданию открытого ПО.


        1. Shkaff
          22.05.2018 13:56

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


      1. Hardcoin
        22.05.2018 13:03

        Так приходит младший научный сотрудник в институт, у которого есть и деньги и лицензия, а она ему уже не нужна. Не знает он этот пакет, а ipython знает. А работать надо уже сейчас.


        Это не значит, что математика вымрет, но это серьезный удар по всеобщему использованию.


        1. Shkaff
          22.05.2018 14:00

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


          1. Hardcoin
            22.05.2018 16:28

            Я сравнил, потому что они в статье противопоставляются. В ipython я работал, в математике нет. Если они совсем-совсем для разного, значит математике пока нечего не грозит :)


            1. Shkaff
              22.05.2018 18:11

              Да я статье и удивляюсь:) Скажем так, в ipython можно делать символьные вычисления, но очень громоздко, не так функционально и совсем не настолько читабельно, как в математике. С другой стороны с численными методами или статистикой в математике — медленно и неудобно.
              Когда мне нужно посчитать аналитически сложные выражения, посмотреть на них, сравнить с ручным расчетом, что-нибудь упростить и построить графики, а потом презентовать кому-нибудь в виде интерактива — я беру математику. Когда нужно построить известные функции, нарисовать красивые картинки для публикации, обработать экспериментальные данные — питон рулит по скорости и удобству.


      1. worldmind
        23.05.2018 20:41

        Не знаю можно ли их считать аналогами, но когда-то из интереса гуглил — были всякие Axion, Maxima, Octave, Sage всех не вспомню, уверен что часть задач они могут покрыть


        1. Shkaff
          23.05.2018 22:55

          Ну да, я пользовался немного octave — это для численных вычислений, математика тут не особо, и sage — весьма неплохо (и опенсорс!), особенно что хорошо совместим с питоном, но до полноты математики далеко. Maxima вроде входит как модуль в Sage, а про axion не знаю.
          В конечном итоге так: для конкретных задач можно найти разные альтернативы. Но если нужно решать разные задачи из совсем разных областей, математике я равных не знаю (кроме Maple, о чем я написал выше, но это все равно платить).


          1. worldmind
            24.05.2018 09:29

            Вот ещё про scilab напомнили.


            1. Shkaff
              24.05.2018 12:29

              Scilab он скорее к Octave и Matlab ближе — тоже численные расчеты, аналитики нет в нем.


    1. amartology
      22.05.2018 10:28

      Писал в университете код в математике десять лет назад, и сейчас в университете продолжают писать код в математике (и оставшиеся в науке выпускники продолжают писать код в математике). академия действительно много ей пользуется.


  1. maybe_im_a_leo
    22.05.2018 09:10

    Мне кажется эту идею можно обобщить до примерно следующего: не принимать к публикации статьи по прикладным наукам если в них нет ссылок на raw data или другие исходники, выложенные на GitHub или OSF/Researchgate или подобных сайтах (про доступность как и про актуальность этого через N лет — отдельный вопрос ;).
    Ещё лично мне не всегда нравится что научная статья пишется как отчёт о победе. Но не всегда понятно как автор дошел до своего результата, какие "поражения" он потерпел, в какие негативные результаты получил. Всегда интересно знать что не исследовано потому что нужды и времени не было, а что не исследовано потому что это кто-то зашёл в тупик. В этой связи мне кажется научные работы (или хотя бы какие-то их версии) должны больше походить на "лог" чем на отчёт.
    К счастью упомянутые Research Gate, OSH и много других сайтов позволяют как выкладывать данные так и черновики работ. Т.е. open science однозначно вещь.


    1. Shkaff
      22.05.2018 09:21

      если в них нет ссылок на raw data или другие исходники

      Это нормальная практика и сейчас, как минимум все данные должны быть доступны по запросу авторам. К сожалению, по крайней мере в физике, очень часто raw data и исходники не помогут никак: чтобы понять, что эти данные значат, как были измерены, и как их правильно обработать, нужно досконально знать эксперимент, гораздо подробнее, нежели это можно написать в обычной статье.


      Ещё лично мне не всегда нравится что научная статья пишется как отчёт о победе.

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


      К счастью упомянутые Research Gate

      На мой взгляд, увы, это большая помойка получилась, наполненная фриками и странными документами. Я по крайней мере не смог найти адекватного варианта его использования.


      1. ignorabimus
        23.05.2018 11:15

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


        1. Shkaff
          23.05.2018 12:33

          Хм, я не очень знаком с этой идеей, но не уверен, насколько ее можно применить в данном случае (по крайней мере в физике). Собственно, любой физик мечтает получить адекватный результат, противоречащий современной парадигме. Многие думают именно в этом направлении — возможно так как парадигма сама по себе неполна (т.е. известно, что современная физика не описывает вселенную правильным образом). Поэтому ученые могут быть несколько свободнее в своей "связанности с определенной парадигмой".


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


  1. neon_coke
    23.05.2018 11:08

    Приходилось немного работать с математикой.
    Плюсы: быстро можно войти в написание программ
    Минусы: порой портянка программы растягивается на многие километры.


  1. worldmind
    23.05.2018 20:44

    Чуть не бросил читать от обилия рекламы Вольфрама и его продукта