Автоматизация технических расчётов
0,1
рейтинг
5 января 2015 в 11:00

Разработка → SageMathCloud — мечта для любителей Python, математики и Linux

SageMathCloud (сокращённо SMC) — это онлайновый сервис, в котором можно написать математический или любой другой расчёт в Sage или IPython Notebook. Расчёт можно комбинировать с HTML, CSS, JavaScript, CoffeeScript, Go, Fortran, Julia, Gap, Axiom, R, Ruby, Perl, Maxima, Maple, Markdown, Wiki (и это неполный список!). При редактировании поддерживается мультикурсорность, можно включить биндинги Vim или Sublime Text. Пользователю также доступна консоль Ubuntu и доступ к проекту по ssh. Можно создавать документы LaTeX и встраивать в них код на Python, который не будет отображаться в итоговом pdf. Широкие возможности позволяют написать не просто расчёт с 2D и 3D графикой, а целое интерактивное приложение или собственный веб-сервер на Flask. Можно расшарить расчёт пользователям на редактирование, и Вы будете видеть, что они меняют и даже где стоит их курсор! При этом великолепии SageMathCloud имеет открытый исходный код, который выложен на Github.




Краткие сведения о проекте


Идея создания SMC принадлежит профессору математики университета Вашингтона William Stein. Кроме него над SMC работают Harald Schilly (маркетинг и тестирование), Keith Clawson (оборудование), а также Jon Lee, Andy Huchala и Nicholas Ruhland (веб-разработка).

SMC разрабатывается за счёт грантов National Science Foundation и образовательной грантовой программы от Google.

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

Большинство серверов расположено в США на территории университета Вашингтона. Есть несколько серверов в Европе. На серверах стоит Ubuntu 14.04.1 LTS (Trusty) c математической программой Sage. Также используется Google App Engine.

Основным источником информации и ресурсом для общения является форум пользователей SMC. Недавно открылся форум для разработчиков после окончательного перехода SMC в разряд открытых проектов. Активное общение идёт в чате Gitter; есть очень информативное FAQ на Github.

Каждый месяц количество пользователей неуклонно растёт. На сегодняшний день на SMC более 68 тыс. аккаунтов. Подробные статистические сведения об использовании SMC можно посмотреть на этой странице.

Обзор функционала и интерфейса SMC


Вход на сайт


Чтобы начать использовать SageMathCloud, перейдите на страницу https://cloud.sagemath.com, зарегистрируйтесь или залогиньтесь. К сожалению, изредка может появляться ошибка входа на сайт (обычно из-за нехватки памяти для баз данных). В этом случае Вы можете обратиться напрямую к европейским серверам SMC по следующим ip: 146.148.26.36 и 192.158.29.251.

Элементы интерфейса


Зайдя на сайт, Вы попадёте на страницу со списком проектов. Элементы интерфейса этой страницы представлены на скриншоте ниже (все скриншоты кликабельны).



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



Файловый менеджер


Ниже на скриншоте представлен интерфейс файлового менеджера:



Хотелось бы отметить несколько важных моментов:

  1. Файловый менедежер SMC умеет фильтровать файлы. Например, введя в фильтр строку pyparsing, я увижу только файлы, которые содержат в своём имени слово pyparsing.
  2. В файловом менеджере есть доступ к командной строке Linux. Я обычно использую эту строку, чтобы создать архив или распаковать его. Обратите внимание, что root заблокирован и в этой строке нет автодополнения по Tab. Ниже мы увидим 2ой способ доступа к терминалу с работающим автодополнением.
  3. SMC регулярно делает снимки проекта (кнопка Snapshots). Года два назад из-за сбоя я потерял было один файл, но через Snapshots восстановил его. После этого случая я больше таких сбоев не видел.


Настройки проектов: хештеги, совместное редактирование, ssh доступ, темы, биндинги Sublime Text и Vim.


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



Чтобы получить остальные фишки, перейдите к общим настройкам для всех проектов, кликнув по своему e-mail. Ниже скриншот с пояснениями.



Документы в SMC: Sage Worksheet, Ipython Notebook, LaTeX document, Terminal, Task list и Course.


SMC позволяет работать с обширным типом документов. Перейдём во вкладку New.



Несколько слов про «From Internet». Изначально эта кнопка работала для любых файлов с других сайтов. Увы, так получилось, что появилось много людей, которые злоупотребляли этим. Также в одно время часто пытались использовать сервера SMC для майнинга криптовалют. В итоге William Stein написал специальный антимайнинговый скрипт. Длительно выполняющиеся процессы этот скрипт может убить (сейчас, возможно, эта проблема решена). По этой же причине большинство сайтов заблокировано. Я точно помню, что работает копирование с GitHub и ряда ресурсов университетов Европы и США. В принципе можно скачать файл самому на компьютер и загрузить его на SMC. Если всё же нужна связь с конкретным сайтом, то нужно попросить William Stein открыть доступ к этому сайту (это бесплатно). Для этого напишите ему письмо или просто создайте сообщение с Вашей просьбой на форуме SMC.

В будущем в SMC появятся платные функции (планируется использовать Freemium). При их появлении можно будет разблокировать доступ к другим сайтам за денежку.

Работа в Sage Worksheet


Первый взгляд на Sage Worksheet


Sage Worksheet является наиболее напичканым различными возможностями. Создадим тестовый файл sage worksheet. Зайдя на чистый лист sage worksheet, вы увидите ещё одну панель инструментов, скриншот которой представлен ниже.



Из кнопок я обычно использую Run (вычислить), А (увеличить шрифт) и Save (Сохранить). Особенно интересна кнопка History (История). Она даёт пользователю ползунок — «шкалу времени». Перемещая ползунок, Вы увидите, как выглядела Ваша страница с расчётами раньше. Ничего более завораживающего я ещё не видел! Просто взгляните на видео ниже (оно без звука).



Информационные полоски


Давайте напишем любой код и вычислим его, нажав кнопку Run или комбинацию клавиш shift-enter. Ниже представлен скриншот с примером python-кода. Обратите внимание на информационные полоски.


Двойной клик на выводе (результате расчётов) скрывает код, повторный двойной клик отображает код.

Магические команды. Вставка html, css, js, пр.


Добавление html, css, js, coffescript, markdown, wiki и других вкусностей осуществляется через использование магических команд. Для получения полного списка из 56 магических команд вычислите:

%magics

Полный список магических команд в SMC:
%auto
%axiom
%capture
%coffeescript
%command
%cython
%default
%default_mode
%exercise
%file
%fork
%fortran
%fricas
%gap
%gap3
%giac
%go
%gp
%hide
%hideall
%html
%javascript
%julia
%kash
%lie
%lisp
%load
%macaulay2
%magics
%magma
%maple
%mathematica
%matlab
%maxima
%md
%mupad
%mwrank
%octave
%pandoc
%perl
%prun
%python
%r
%reset
%ruby
%runfile
%sage0
%scilab
%script
%sh
%singular
%time
%timeit
%typeset_mode
%var
%wiki


Рассмотрим к примеру использование html и css:



HTML и CSS код
%html(hide=False)
<style>
    a.hlink {
        cursor: pointer;
    }
    a.hlink:hover {
        background-color: yellow;
    }
</style>
<h3>
    Мои избранные сайты:
</h3>
<ol>
    <li>
        <a class="hlink" src="https://habrahabr.ru">Хабрахабр</a>
    </li>
    <li>
        <a class="hlink" src="http://www.opennet.ru">Opennet</a>
    </li>
    <li>
        <a class="hlink" src="https://cloud.sagemath.com">SageMathCloud</a>
    </li>
</ol>


Совсем короткий пример для Julia:

%julia
println("Привет, Хабр!")


Для остальных случаев (markdown, wiki, R, go, пр.) полностью аналогично.

Код можно загружать с помощью функции load(). Пример простенькой графической формы на HTML, CSS и JavaScript в SMC:



Современные веб-технологии позволяют встраивать 3D графику в страницу без использования flash и других плагинов. В SMC можно создавать двухмерную и трёхмерную графику, используя js фреймворки, например, three.js. Что интересно, если убрать курсор с 3D области, она преобразуется в картинку. Этот подход сделал работу с 3D графикой заметно удобнее (страница перестала дёргаться, повысилась производительность). Трёхмерный объект можно:
  • масштабировать (вращение колёсика мыши или левый клик + shift + перемещение курсора)
  • поворачивать (левый клик + перемещение курсора)
  • перемещать (ctrl + левый клик + перемещение курсора)

Видео ниже демонстрирует работу с 3D графикой (видео без звука).



Работа с терминалом


Выше я обещал показать вариант работы с терминалом, в котором работает автодополнение. Для этого необходимо нажать кнопку New, написать название файла, в котором будет запускаться терминал (например, Console) и нажать кнопку Terminal. Работа в терминале практически неотличима от работы в обычном терминале Linux. Главное отличие в том, что заблокирован root и копирование-вставка работают по ctrl+c и ctrl+v (а не ctrl+shift+c и ctrl+shift+v, как в обычной консоли). Ниже скриншот демонстрирует работу в терминале в SMC:



Кстати, я в одно время использовал в этой консоли git. Работало хорошо.

Про возможности Sage и SMC можно рассказывать ещё очень долго. В следующих статьях я буду стараться подробно освещать различные фишки и недокументированные возможности.

Вместо заключения


Дорогие пользователи Хабра! Видя, какие возможности для математических (и не только) расчётов предоставляет пользователю свободное ПО, в частности SageMathCloud, мне грустно видеть, что школьники и студенты зачастую даже и не знают о нём и используют проприетарные программы типа Mathcad и Matlab. Я считаю, что свободное ПО должно быть первым выбором!

Если мы объединимся, мы можем изменить это положение вещей. На мой взгляд необходимо сделать 3 вещи:

  1. Русифицировать интерфейс SMC,
  2. Написать справку и учебные пособия на русском языке,
  3. Рассказать про SMC своим друзьям и детям.

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

Основной объём работ- написание документации по SMC на русском языке. В прошлом году я начал собирать эту информацию на своём ресурсе wikisage.ru (пожалуйста, не сочтите за рекламу). Я собирал материал по работе в Python и Sage (SMC). В планах — информация на русском про Pyparsing, Numpy, Matplotlib и другие пакеты Python. При желании Вы можете помочь проекту советом или помощью, написав в личку, в ВК или на почту. Моя мечта — чтобы большинство школьников, студентов, учёных и инженеров использовало Sage и Python для своих расчётов, а этот ресурс стал главным источником информации в рунете.
Андрей Ширшов @AndreWin
карма
25,0
рейтинг 0,1
Автоматизация технических расчётов
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

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

  • +2
    Все это конечно хорошо и выполнена просто огромная работа, но тут есть подводные камни.

    1. Кто профессионально работает с системами компьютерной алгебры, в основной массе, очень не любят навороченный и чрезмерно перегруженный интерфейс.
    2. Здесь каких-то только систем нет. Значит надо делать для каждой свою документацию по пользованию. Там одно оглавление будет на несколько сотен страниц, да и поиск будет давать на конкретный вопрос опять несколько сотен ссылок. В результате, проще залезть в документацию первоначального продукта, например в GSL (GNU Scientific Library), и по ней все сделать. Я на конференции задавал одному из (восторженных) разработчиков этот вопрос, но вразумительного ответа не получил.

    Сам, поскольку мне нравится Python, пытался пользоваться лет 7 назад, даже студентам на практике задачи давал на Sage, но мне кажется проще считать на wxMaxima, SymPy и SciPy, чем пользовать этого монстра. Вдобавок написать на Python конвертер из одного формата данных в другой для своей конкретной задачи достаточно просто и работать он будет на специализированных данных гораздо быстрее.

    А так, Ваша мечта, мне нравится.
    • 0
      Огромное Вам спасибо за обратную связь! Скажу честно — вы не одиноки в таком мнении. Я тоже пытался научить своих студентов работать в Sage и даже возникали похожие мысли. У Sage есть одна особенность, из-за которой я так и не перешёл на Python Notebook. Sage самостоятельно следит за точностью расчётов, и это жутко удобно. Например, если Вы хотите поделить 2/3, то Sage выдаст дробь 2/3. Sage самостоятельно определит и даст числу 2/3 тип «дробное число». Если я попробую то же самое на чистом Python, я получу ноль.



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

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

      Вторая часть — человек берёт уже готовую последовательность действий и думает только, как реализовать алгоритм.

      Я уже успел частично протестировать это на двоих и увидел, что у людей трудности начинаются уже на первом этапе. И если они только его осилят, им, надеюсь, уже будет без разницы, какая программа или язык программирования. Но последнее утверждение пока ещё нуждается в проверке.
  • +2
    А в чем именно преимущества перед IPython? Сходу заметил только 3D-графику «из коробки» (в IPython вроде пока нет такого).
    • 0
      Я к сожалению почти не работал в IPython Notebook. Отвечу, что знаю. Помимо 3D из коробки это:
      1. Бо'льшее число магических команд
      2. Sage самостоятельно следит за точностью расчётов
      3. Поддержка биндингов Vim и Sublime Text
      4. Поддержка мультикурсорности
      5. Можно написать своё приложение, которое на js обрабатывает результат расчёта на сервере SMC

      Может, потом вспомню что-то ещё…
      • 0
        Вы вполне можете получить 0,6666666666666666 после деления в IPython, если возьмёте третью версию Python, либо напишете во второй from __future__ import division. Но вот получить рациональную дробь так не получится, нужно что‐то более сложное. Возможно, можно создать (или даже уже есть) дополнение для IPython, которое это делает. Впрочем, взять уже готовое из Sage проще, чем возиться с доделкой IPython.
        • 0
          Про эту инструкцию импорта я знаю. В Sage получение дробного числа производится за счёт встроенного препарсера. Этот препарсер передаст Python вместо кода 2/3 выражение Integer(2) / Integer(3), где Integer — это класс, написанный специально для Sage. При необходимости препарсер можно отключить.
      • +1
        Преимущество IPython Notebook в том числе то, что разработанный в ней алгоритм/куски кода можно просто скопипастить безо всяких изменений в питоновский файл и получить готовую программу/модуль для запуска. Разрабатывать алгоритмы «с нуля» удобнее в notebook, а потом для распространения готовой программы, которую будут запускать множество людей, получается обычный питоновский файл.
        С другой стороны, там много удобных фич для написания технических отчётов с кодом, графиками, пояснениями. Есть форматирование, markdown (в том числе генерируемый программно), экспорт в latex, pdf, web и т.п. Так же можно достаточно удобно создавать динамические части на python+javascript. Можно в одном документе работать с python, cython, R, C/C++, bash и многими другими языками — в общем возможностей полно!
        У нас в институте достаточно популярен ipython, а вот веб-sage я вообще первый раз увидел — поэтому и интересуюсь, что полезного можно из него получить дополнительно :)

        Из перечисленных вами не совсем понял 3, 4, 5 пункты — можете немного пояснить? А символьные вычисления (в том числе дробей) — это конечно хорошо на этапах разработки, но в итоге-то в программе обычно всё равно нужно переходить к вычислениям с float/double…
        • 0
          Мне нужно несколько дней, чтобы сделать видео, демонстрирующее работу биндингов и мультикурсорность. Вкратце, можно поставить несколько курсоров, как в Sublime Text и одновременно в нескольких местах напечатать один и тот же текст (это мультикурсорность). У меня включены биндинги Sublime Text, и у меня в SMC работают комбинации клавиш Sublime Text. Например, сочетание клавиш ctrl+shitf+стрелка вверх/вниз перемещает строку вверх/вниз точно также, как и в Sublime Text. Про пятый пункт (js + python) я найду код и Вас уведомлю.
  • 0
    Спасибо за полезную статью. Что мне не нравится в Sage — это его ориентированность на онлайн-версию. Если Интернета нет или он медленный, то ничего сделать невозможно. И не люблю, когда мои документы лежат где-то кроме моего компа. Пробовал оффлайн-версию Sage — он всё равно запускается через вёб интерфейс. Мне больше нравятся фронтенды наподобие wxMaxima. Для себя сейчас использую для численных расчётов Octave, а если иногда нужно что-то посчитать символьное — то Maxima.

    Нужно заметить, что на Маткад у нас подсажены не только студенты, но и преподаватели.

    Я сейчас в течение двух лет провожу эксперимент над своими студентами — перевёл семинары по цифровой обработки сигналов на Octave вместо Matlab/Mathcad. В этом году эксперимент завершается, т.к. курс ликвидируют в связи переходом на бакалавриат. Там мы изучаем как посчитать спектр сигнала, окна, синтез цифрового фильтра и т.п. Устанавливать свою ОС на компах, где проходят л.р. нельзя, поэтому используем Octave для Windows. Интерфейс у Octave под Windows мягко-говоря не очень дружественный (консольный). Ещё сказывается отсутствие под Windows нормальной консоли. На первой лабораторной раздаются вопли: «А в Маткаде всё понятно, а здесь консоль!». Потом студенты понемногу привыкают. Ещё распространённая жалоба: «А у меня в Windows8 (дома) ничего не работает». У нас часть семинаров выполняется в виде ДЗ. Некоторые приносят результат выполненный в Матлабе. Возможно следовало взять Scilab, который хотя и менее популярен, но имеет более дружественный интерфейс у версии для Windows. Наиболее успешно выполняют лабораторки студенты, у которых есть Linux. Их удаётся пересадить с Маткада на open-source математическое ПО.

    Результаты данного эксперимента неоднозначные. Перевести учебный процесс на open-souce ПО возможно, но для этого требуется выделить специальные компы, на которые можно установить Linux, так как полноценно работать с математическим open-source ПО можно только под Linux.
    • 0
      Лично я, когда обучал студентов Sage, ставил на компы лаборатории VirtualBox + Xubuntu. Я согласен, что не совсем хорошо, что документы лежат где-то ещё, но с другой стороны студентам не надо ничего устанавливать, достаточно иметь только браузер. Отпадают требования к ОС, расчёты можно запускать на относительно слабых компьютерах. Кроме того, некоторые возможности (например, совместная работа) возможна только через интернет.

      Вообще говоря, у SMC есть очень мощное API. Увы, недокуменированное. Однако этот момент вполне мог бы решить задачу создания декстопного клиента SMC как минимум для Linux. Мы ставим серверную часть (оболочка; загружаемая в браузере, нам тогда не нужна), нативное приложение и сервер держим на одном компе.
      • 0
        Интернет, к сожалению, есть не повсеместно, а там где он есть в учебных учреждениях — может быть медленным, т.к. например на одном шлюзе сидит несколько аудиторий, набитых компами.
        • 0
          С такими учебными учреждениями наверно будет сложнее. Единственное, что я могу сказать сейчас — для каждого учебного учрежедения (и даже для каждой кафедры) вопрос внедрения нужно решать индивидуально. У меня есть планы показать SMC главе НУК МТ (Машиностроительные Технологии) МГТУ им. Баумана. Может быть, ему понравится :)
    • +1
      >Перевести учебный процесс на open-souce ПО возможно
      Какой в этом смысл, если на работе будет Matlab, в среде которого производительность труда выше? Эксперименты ради экспериментов.
      • 0
        Извините, а можно вкратце, за счёт чего производительность труда в Matlab выше? Я с ним знаком очень поверхностно (были лабораторные в вузе).
        • 0
          Ну у нашей специальности Матлаба на работе не будет, а будет спираченный Маткад. Задачи для которых его используют (по сути дела программируемый калькулятор), можно успешно решать на open-source ПО.

          Octave представляет собой Matlab без части тулбоксов и с консольным интерфейсом. Вот здесь mydebianblog.blogspot.ru/ где-то было сравнение Octave и Matlab. Фундаментальные проблемы Octave — отсутствие графического встроенного фронтенда и вывод графики через Гнуплот, в котором курсорные измерения отсутсвуют. Обе проблемы можно решить. Как с этим дела в Python — не знаю, т.к. Python не использую.
          • 0
            Начиная с 3.8.0 у Octave есть встроенный GUI. Но даже без него, кстати, особой проблемы нет. Код прекрасно пишется и в emacs. Проблема Octave в том, что аналогов многих матлабовских тулбоксов под него нет и производительность ниже.

            Если выбирать из свободного ПО, то, как мне кажется, Python + IPython + библиотеки будут лучшим выбором, когда производительность не столь важна. Sage почти не использовал, так как особых преимуществ перед IPython не вижу.
        • +3
          Например, полноценная среда (а-ля IDE) с дебаггером, анализом графиков и прочими казуальными штуками типа drag'n'drop с автоматическим импортом исходных данных, легкий вызов java, mcc (автоконверт подмножества языка в си), если есть parallel toolbox, можно за пару часов собрать кластер из офисных компьютеров. Что-то в octave уже есть (например, последний раз, когда я устанавливал octave, GUI из коробки не было, теперь какой-то примитивный есть), только в более сыром виде с худшей документацией.
    • +2
      Интересно, а с чем связан выбор именно Octave для преподавания? Обязательно нужна совместимость с Matlab? Я не преподаватель, но мне более предпочтительными кажутся либо какой-нибудь научный дистрибутив Питона типа Anaconda, либо R + RStudio. Во-первых, все-таки более продвинутые языки, чем в Matlab, во-вторых, в вышеупомянутых дистрибутивах есть IDE (Spyder в Анаконде, RStudio для R), которые независимо от ОС выглядят примерно одинаково и не так будут пугать начинающих, как командная строка. Ну и количество библиотек на все случаи жизни побольше, чем для Octave (насколько я знаю, не все матлабовские тулбоксы с ним работают). Если говорить с точки зрения идеологии:), то Octave, имхо — это точно такой же способ подсадить людей на проприетарный Matlab, как и пиратская версия Matlab.
      • +2
        Я значительно лучше владею Matlab/Octave, чем Python. Ещё студенты могут взять любой учебник по цифровой обработке сигналов, в котором есть скрипты на Matlab и запустить их в Octave. Поэтому выбрал Octave.

        Anaconda используется на кафедре математики ВШЭ, там прошлом году даже прошёл семинар по переходу на него. R больше используют специалисты по статистике.

        Сейчас можно сделать вывод, что Python в мире математического свободного ПО побеждает всех остальных. Он и развивается активнее, и больше библиотек под него делают. В будущем, если будет такая необходимость, нужно будет давать студентам Python.
  • –9
    Первая картинка очень завликательная.
    Для тех кому эта картинка тоже понравилась, рекомендую:
    itunes.apple.com/us/app/fungu-wallpapers-backgrounds/id444092884?mt=8
    image
    • +3
      Честно, не понимаю Вашего комментария. Если бы ссылка была на сайт с рисунками, созданными в Sage или хотя бы Python, я бы ещё мог понять. Но тут на itunes…
      • 0
        Комментарий только к первой картинке, а в itunes програмка которая генеририт похожие картинки
        • +2
          О, спасибо, большое, а то я продукцией Apple не пользуюсь… Правда, для меня остался вопрос, что общего между трёхмерной поверхностью и этой картинкой.
          • +2
            Эти картинки и есть поверхность вида z=f(x,y), где f — случайным образом сгенерированная функция. После значение z преобразуется в цвет, в самом простом случае из белого в черный, но можно сделать более сложную последовательность цветов например как в радуге.
            В картинке выше например просматриваются гипербола и синусоида.
  • +3
    Для интересующихся, ребята из IPython недавно стартанули пооект Jupyter. По сути это эволюционное развитие IPython с уходом от конкретного языка Python. Языки для интерактивных вычислений могут быть любые, та же Julia, например, что уже давно поддерживается на уровне ipython kernels. В рамках этого проекта ведётся работа над coLaboratory — интерактивной вычислительной средой на базе IPython Notebook с возможностью совместной работы через гуглодоки и расширение для Chrome.

    Кому интересно, подробности тут:
    jupyter.org
    colaboratory.jupyter.org/welcome/
    github.com/jupyter/colaboratory
    • +3
      Спасибо за отзыв. Я слышал про проект Jupyter, но к сожалению толком не разбирался. В целом я понял, что мне нужно осветить сходство и различие Ipython, Jupyter и Sage Worksheet. Как только я разберусь, я обязательно расскажу об этом на Хабре в виде новой статьи.
  • +1
    Андрей, спасибо за описание, очень интересный сервис.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.