Разве это не вечеринка, как вечеринка виртуальной конференции на языке программирования

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

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

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

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

Читайте также:
ZTE Axon 20 5G - первый телефон с экранной камерой на рынке -

Шесть лет назад я писал на этих страницах о непреходящей роли Фортрана в научных вычислениях и сравнивал его с несколькими другими языками. Я закончил эту статью предсказанием: через 10 лет у нового языка под названием Julia есть хорошие шансы стать тем, к которому ученые обратятся при решении крупномасштабных числовых задач. Однако мой прогноз оказался не очень точным.

На самом деле Джулии потребовалось только о половина то время.

Достаточно волнения для мошенничества

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

Я основывал свою оценку на уникальном сочетании удобного синтаксиса Джулии с бескомпромиссной производительностью. В то время, хотя Джулия все еще была в статусе до 1.0, уже было много возбужденной болтовни. Джулия, похоже, решила «проблему двух языков» — головоломку, с которой часто сталкиваются программисты Python, а также пользователи других выразительных интерпретируемых языков. Вы пишете программу для решения проблемы на Python, наслаждаясь ее приятным синтаксисом и интерактивностью. Программа работает над тестовой версией вашей проблемы, но когда вы пытаетесь масштабировать ее до чего-то более реалистичного, она становится слишком медленной. Это не ваша вина. Python по своей сути медленный — это не имеет значения для некоторых типов приложений, но имеет значение для большого моделирования. После применения различных методов для его ускорения, но с получением лишь небольшого выигрыша, вы, наконец, прибегаете к переписыванию наиболее трудоемких частей вычислений на C (чаще всего). Теперь это достаточно быстро, но теперь вам также нужно поддерживать код на обоих языках, отсюда и проблема двух языков.

Читайте также:
Realme Q2 вбьет клин в Xiaomi. Вам больше не придется покупать флагман!

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

Баннер для JuliaCon 2020
Увеличить / Баннер для JuliaCon 2020

Пока я работал над этой статьей, в этом году прошел JuliaCon, ежегодный съезд Джулии (разумеется, онлайн). Обычно расписание компьютерной встречи заполнено заголовками о вещах, связанных с программированием, компиляторами, алгоритмами, оптимизацией и другими предметами, связанными с информатикой. И хотя на встрече с Джулией в этом году этого было много, беглый просмотр названий оставляет впечатление, будто кто-то случайно попал на научную конференцию. Есть презентации по всему, от гидродинамики до изображений мозга и обработки речи. Однако, несмотря на ошеломляющее разнообразие областей, просмотр презентаций дает чувство общности вокруг общей позиции, на которую, похоже, повлияло движение за свободное программное обеспечение.

Все код находится на GitHub. Если вы заинтересованы в использовании чьего-либо алгоритма в своем исследовании, вы можете прочитать источник, и у вас будет доступ к последней версии по мере ее разработки. Ученые определенного возраста будут знать, насколько это сильно отличается от того, как раньше проводились вычислительные исследования. Раньше код редко покидал лабораторию.

Сообщество Джулии объединяет и кое-что еще: общее восхищение магической (это слово появлялось не раз) силой Джулии, облегчающей сотрудничество и повторное использование кода. Рассмотрим лишь некоторые из похвал, исходящих от докладчиков JuliaCon 2020:

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

Леон Алдай, молекулярное моделирование

Julia — действительно тот язык, на котором существует такой проект:

Джордж Дацерис, доктор Ватсон, научный сотрудник

Юля с удовольствием программирует:

Мауро Вердер, Толщина льда ледника

Язык Юлии […] это особенно гибкий инструмент:

Валери Васкес, Динамика векторов болезни

Выбор Юлии был очевиден:

Рафаэль Схоутен, Пространственное моделирование

[Julia allows] мне нужно использовать инструменты из разных дисциплин для продвижения исследований рака:

Меган Ферролл-Фэрбенкс, Динамика опухолей

Эту работу было очень приятно выполнить в Julia из-за хороших абстракций, которые позволяют использовать очень общий код:

Вилим Штих, Динамика мозга рыбок данио

Приятно иметь быстрый язык, на котором можно писать что угодно. […] но что меня действительно впечатляет в наши дни, так это кое-что еще: Джулии каким-то образом удается повысить мою продуктивность […]. Джулия позволяет легко мыслить на правильном уровне абстракции ».

Петр Крысль, Уравнения с частными производными.

Почему заниматься наукой в ​​Юлии — это круто […] Межпакетное взаимодействие = чистая магия !:

Георгий Дацерис Анализ музыкального исполнения

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