Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

Exploratory programming, Julia и графовые базы данных -- что в них общего?

Спасибо triampurum, который натолкнул меня на комментарии Graydon Hoare по поводу великости языка Julia -- http://graydon2.dreamwidth.org/3186.html и http://graydon2.dreamwidth.org/189377.html

Когда я спрашивал, "кто может объяснить, почему мне так симпатична Julia?" (http://ailev.livejournal.com/1139366.html) я что-то такое как раз и думал -- но в тексте Graydon Hoare всё более-менее систематически изложено, включая важность Forth (мне его больше не хватало всё это время почему-то, чем Лиспа) и попытки объяснения застоя языкостроения в период вебоискательства. И я согласен с его выводом: языковая жизнь потихоньку налаживается после веб-паузы.

Мне очень понравился заход Грейдона Хоара на подчёркивание роли multiple dispatch в Julia. Авторы Julia этим очень гордятся и ставят эту фичу языка первой, я их понимаю -- но в рассказе Хоара задана немного другая перспектива. И мне хотелось бы тут немного задержаться с пока ещё путаной идей: проблема независимости (в смысле независимого пополнения) процедур и данных лежит не только в основе решений типа multiple discpatch для проблемы выражения (http://en.wikipedia.org/wiki/Expression_problem), но и в основе разделения на базы данных и языки запросов -- что я предпочитаю сейчас обсуждать как разделение на языки моделирования (языки описания данных) и языки запросов к ним (которые сами по себе недоделанные нормальные языки программирования, тут я согласен с justy_tylor). Это я к размышлениям про SysMoLan (http://ailev.livejournal.com/1127145.html).

Дальше мысль моя пока невнятна (типа "что методы для структур данных ООП, то паттерны для семантических структур данных"), но я её буду потихоньку думать и пытаться выразить яснее.

P.S. Про Rust: я очень много программировал на "системных языках" (даже на Modula-2 мне приходилось писать промышленный код). Но от этого я никогда не испытывал такого удовольствия, как от языков хоть с каким-то REPL. Так что Rust хорош, но я к нему равнодушен. Несмотря на его скорость, поддержку pattern matching "из коробки" и прочие неоспоримые достоинства. Так что пока смотрим на Julia, как на "более современный Python" (несмотря на то, что Грейдон Хоар и относит Питон к совсем другому типу языков).
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 21 comments