Как стать автором
Обновить
0
Рейтинг

Julia *

Высокоуровневый высокопроизводительный язык

Сначала показывать
Порог рейтинга

Десять предупреждений для желающих познакомиться поближе с Julia

Программирование *Julia *

Julia – мой любимый язык программирования и основной рабочий инструмент для проведения научных исследований и подготовки научной графики. Я восхищаюсь её простотой, изящностью и производительностью. Именно благодаря Julia я вошёл во вкус и начал получать удовольствие от самого процесса программирования. Иногда могу программировать что-то с утра и до вечера несколько дней подряд, но при этом я не являюсь в полной мере ни программистом, ни работником IT-отрасли. У меня нет полноценного IT образования и я никогда не работал программистом. В некотором смысле я являюсь именно тем, для кого разрабатывался язык - я учёный, исследователь. Моя работа всегда была связана с геологией, а программирование было только способом автоматизации каких-то операций или получения результата, недостижимого с использованием существующих средств. Года три я программировал на R, потом перешёл на Julia. И вот, по прошествии двух лет, я хочу поделиться некоторыми проблемами, которые я вижу у Julia и её экосистемы. Не чтобы пожаловаться, а чтобы предупредить и подготовить тех, кто только приступает к освоению этого прекрасного языка, или только присматривается к нему. В сети много восторженных статей двух-трёхлетней давности, есть и современные разборы проблем от профессиональных программистов. А я хочу постараться передать взгляд учёного, простого пользователя, решающего с помощью Julia свои повседневные не самые сложные задачи.

Читать далее
Всего голосов 26: ↑25 и ↓1 +24
Просмотры 7.6K
Комментарии 9

Новости

Запускаем Julia на Arduino

Блог компании RUVDS.com C *Julia *Программирование микроконтроллеров *Разработка под Arduino *
Перевод
Tutorial

У меня нет особого опыта работы с микроконтроллерами. Раньше я немного экспериментировал с Arduino, а главной точкой входа моей домашней сети является Raspberry Pi, но на этом мой недавний опыт заканчивается. Я прошёл один курс по микроконтроллерам несколько лет назад, и справлялся с ним ужасно, едва набрав проходной балл. Тем не менее они меня восхищают — это устройства с низким энергопотреблением, которые можно запрограммировать выполнять практически любые операции, если быть аккуратным с управлением ресурсами и не стрелять себе в ногу.

При обсуждении Julia всегда подразумевается обязательное наличие двух аспектов: среды исполнения и сборщика мусора. Чаще всего оптимизация Julia (да и любого другого кода) сводится к двум аспектам:

  1. минимизация времени, потраченного на выполнение кода, который вы не писали,
  2. иметь достаточно кода, который нужно запускать скомпилированным в нативные команды той системы, где он должен работать.

Требование 1 сводится к принципу «не обменивайтесь информацией со средой исполнения и GC, если это необязательно», а требование 2 — к принципу «убедитесь, что не выполняется ненужный код, например, интерпретатор», то есть статически компилируйте свой код и по возможности избегайте динамичности.
Читать дальше →
Всего голосов 42: ↑40 и ↓2 +38
Просмотры 5.6K
Комментарии 1

Почему я больше не рекомендую Julia

Программирование *Визуализация данных *Julia *
Перевод

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

Я опубликовал несколько опенсорсных пакетов для работы с такими вещами, как поля расстояний со знаком, поиск ближайших соседей и паттерны Тьюрингатакже с другими), создавал визуальные объяснения таких концепций Julia, как broadcasting и массивы, а ещё применял Julia при создании генеративной графики для моих визиток.

Какое-то время назад я перестал пользоваться Julia, но иногда мне задают о нём вопросы. Когда люди спрашивают меня, я отвечаю, что больше не рекомендую его. Мне подумалось, что стоит написать, почему.
Читать дальше →
Всего голосов 41: ↑40 и ↓1 +39
Просмотры 15K
Комментарии 30

Внедрение Q# в ваши любимые языки и платформы (Python, .NET, ASP.NET, Julia, Lua, PowerShell)

Блог компании Microsoft Python *.NET *C# *Julia *

Не секрет, что Q# и Quantum Development Kit позволяют легко писать квантовые программы и запускать их на симуляторах и на оборудовании через службу Azure Quantum, с использованием Python, .NET или даже через Jupyter Notebook. Более того, инфраструктура, которая поддерживает все эти различные способы использования Q#, также позволяет создавать новые и захватывающие способы написания и выполнения квантовых программ. В этой статье мы немного рассмотрим эту инфраструктуру и то, как вы можете использовать эту инфраструктуру для подключения Q# к вашим любимым языкам и платформам.

Читать далее
Всего голосов 15: ↑13 и ↓2 +11
Просмотры 4.3K
Комментарии 2

Волны, которые появляются из ниоткуда и исчезают бесследно

Блог компании RUVDS.com Julia *Научно-популярное Физика Транспорт
Tutorial

Это было утро 12 апреля 1966 года. Элегантный лайнер «Микеланджело» направлялся через Атлантику в Нью-Йорк. 275-метровый красавец водоизмещением 46 тысяч тонн некоторое время был флагманом флота Италии и являлся одним из крупнейших судов в стране. Он принадлежал семейству суперлайнеров, воплощавших в себе как отработанные технологии, так и прогрессивные решения: для безопасности пассажиров часть палуб и кают лишена иллюминаторов, дизайн и устройство дымовых труб не позволяли окуривать верхние прогулочные палубы, а также судно было оборудовано стабилизаторами качки, чтобы богатые пассажиры не пролили ни капли мартини.

В это апрельское утро «Микеланджело» с 745 пассажирами на борту столкнулся с очень плохой погодой. Капитан Джузеппе Солетти дал указания всем пассажирам оставаться в своих каютах и приказал судну следовать более южным маршрутом, чем обычно, чтобы избежать центра шторма. Обычное дело при путешествии через океан. Но внезапно перед судном возникла экстремально высокая волна. Все люди на судне ощутили мощный удар как после выстрела 305-мм пушки. Волна поднялась над носом на высоту около 18 метров и прошла вдоль палубы, оставляя за собой лишь покорёженный металл. Даже окна двухсантиметровой толщины находящиеся на 25 метров над ватерлинией были выбиты ударом воды. Всё произошло в считанные секунды. Два пассажира погибли сразу, один член экипажа погиб через несколько часов, более пятидесяти человек получили ранения. И ещё четверть века существование таких волн будет подвергаться сомнениям.
Читать дальше →
Всего голосов 197: ↑197 и ↓0 +197
Просмотры 52K
Комментарии 62

Самую холодную капельку во Вселенной уронили с высокой колокольни

Блог компании RUVDS.com Julia *Научно-популярное Физика Квантовые технологии

И остались довольны результатом. Теперь хотят отправить ее на орбиту Земли.

Сегодня мы попробуем разобраться в физике пятого состояния материи и выясним, зачем ее сбрасывать с башни.
Читать дальше →
Всего голосов 117: ↑115 и ↓2 +113
Просмотры 43K
Комментарии 38

Кадрим девчонок с помощью метрики Эллиса-Бронникова

Julia *Научно-популярное Физика Астрономия
Tutorial

Ничто так не вызывает интерес у противоположного пола, как страстные разъяснения физики кротовых нор.

Читать далее
Всего голосов 98: ↑97 и ↓1 +96
Просмотры 28K
Комментарии 24

Первые шаги в ОТО: прецессия орбиты Меркурия

Julia *Научно-популярное Физика Астрономия
Tutorial

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

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

Читать далее
Всего голосов 36: ↑35 и ↓1 +34
Просмотры 14K
Комментарии 26

Вечеропятничное моделирование: как плавает акула-собака

Julia *Научно-популярное Биотехнологии Физика
Перевод
Tutorial

Катран, или морская собака (Squalus acanthias) – достаточно широко распространенная акула, относящаяся к роду колючих акул и семейству Катрановые акулы из отряда Катранообразные. Обитатель умеренных вод бассейнов всех мировых океанов, как правило, встречается на глубине не более 1460 метров. На сегодняшний день максимальной зарегистрированной является длина тела в пределах 160-180 см.

Эта рыбка будет хорошим примером для начала изучения пакета гидродинамического моделирования WaterLily.jl.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 2.5K
Комментарии 1

Новая система автоматически очищает массивы ненадёжных данных

Блог компании SkillFactory Программирование *Julia *Искусственный интеллект Data Engineering *
Перевод

Специально к старту курса о Data Science мы перевели статью о созданной исследователями из Массачусетского технологического института программе, занимающей около 50 строк кода (ссылку на который мы разместили в конце) и автоматически очищающей "грязные данные" — описки, дубликаты, пропущенные значения, опечатки и несоответствия, которых так опасаются аналитики, дата-сайентисты и дата-инженеры.

Система, получившая название PClean, — уже третья в серии проблемно-ориентированных языков вероятностного программирования, созданных членами Проекта вероятностного программирования (Probabilistic Computing Project), целью которого является упрощение и автоматизация разработки приложений ИИ (первая система была посвящена 3D-восприятию с помощью инверсной графики, а вторая — моделированию временных рядов и баз данных).

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 2.1K
Комментарии 3

Cosmo Communicator — возможно еще один Linux телефон

Настройка Linux *Разработка под Android *Julia *Разработка под Linux *Смартфоны
Из песочницы

Возможно еще один Linux телефон, но это не точно... не точно - что получится, хотя даже то что есть очень любопытно.

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

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 15K
Комментарии 32

Julia+R: преимущества интеграции

R *Julia *
Tutorial

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

И обязательно ли что-то выбирать?
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 2.3K
Комментарии 2

Javis v0.3 и анимация рядов Фурье

Программирование *Математика *Julia *Компьютерная анимация *
Перевод
Tutorial


Прошло уже достаточно времени с релиза Javis v0.2, что обсуждалось в соответствующем посте. Там я дал представление о потенциальном будущем этого графического пакета. Мы наконец-то выпустили v0.3, и будущее стало стандартом по умолчанию.


Просто перечислять все изменения, которые мы ввели, вероятно, было бы довольно скучно, так что лучше я создам аккуратную анимацию, а по пути буду объяснить некоторые удивительные штуки про ряды Фурье.

Всего голосов 33: ↑33 и ↓0 +33
Просмотры 6.6K
Комментарии 3

Визуализация Пи, Тау и простых чисел

Ненормальное программирование *Программирование *Визуализация данных *Julia *
Перевод
Tutorial


источник изображения


Возможно, вы видели предыдущий пост, где были предоставлены визуализации первых 1000 цифр $\pi, \tau$ и $\sqrt{2}$. Он возник в результате небольшого спора о том, лучше ли $\tau$, чем $\pi$. По этому поводу идут бесконечные дебаты, и я подумал, что могу пошутить по этому поводу. В этом посте я хочу показать, как создать визуализации, и надеюсь, что вы захотите попробовать удивительный пакет Luxor.jl после прочтения. Вчера я начал читать туториал, и это потрясающе! В прошлый раз визуализация делалась на Javascript, и я подумал, что этот аккуратный маленький проект сойдет, чтобы начать изучать Луксор. Как уже упоминалось в let me be your mentor: я думаю, что очень важно иметь такие маленькие проекты, чтобы освоить новый инструмент.

Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 5.9K
Комментарии 1

Истории

Debugging в Julia — два способа

Программирование *Отладка *Julia *
Перевод
Tutorial


скришнот из metal slug 3


2020 год — это определенно год странностей. Мой код тоже часто включает в себя некоторые странные ошибки. И в данном посте я хочу показать вам несколько методов отладки кода на языке julia.

Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 2K
Комментарии 0

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

Высокая производительность *Программирование *Совершенный код *Julia *
Перевод
Tutorial


источник изображения


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


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

Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Просмотры 11K
Комментарии 8

Как разобраться с пауками в квантовой программе

Программирование *Julia *Квантовые технологии Визуальное программирование *
Перевод

image


Продолжаем рубрику тем для первого свидания. На сегодняшней повестке дня — упрощение схем для квантовых программ методами ZX-исчисления.

Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 3.2K
Комментарии 3

Julia готова для прода

Высокая производительность *Программирование *Промышленное программирование *Julia *Исследования и прогнозы в IT *
Перевод


автор картинки


Сейчас мне хочется поделиться своими выводами сделанными после нескольких бесед, в которых я участвовал на JuliaCon 2020.


Я потратил уже 20 лет на развертывание в корпоративных средах проектов связанных с наукой о данных (тогда она так еще не называлась, но мы уже обучали нейронные сети делать прогнозы), и у меня есть много коллег, которые глубоко занимаются разработкой корпоративного программного обеспечения. Процитирую Томаша Ольчака, который воистину является армией из одного человека во время реализации сложных корпоративных проектов:


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

В течение многих лет я бы с этим согласился, но после JuliaCon 2020, я думаю, мы можем с уверенностью заявить, что


Джулия готова идти в производство!

Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 8.7K
Комментарии 14

Непристойное приложение

Ненормальное программирование *Программирование *Julia *Физика Квантовые технологии


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

Читать дальше →
Всего голосов 31: ↑31 и ↓0 +31
Просмотры 9.6K
Комментарии 32

Фармакокинетическое моделирование в Julia: практическое использование DiffEquations.jl и Optim.jl

Программирование *Julia *
Из песочницы

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

Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 3.7K
Комментарии 2

Вклад авторов