20 августа 2017 · Запись

Пост-объект-ориентированная Julia

Крис Партридж говорил, что современных программистов легче убить, чем переучить в другие парадигмы -- например, в них в ВУЗе намертво вколочен аристотелевский онтологический подход с объектами и атрибутами, а факт-ориентированность для них интеллектуально недоступна. Julia тоже плохо понимается современными ООП-программистами, ибо она не объект-ориентирована: в ней используется multiple dispatch. Я тут подобрал несколько ссылок, где можно почитать подробней о пост-объект-ориентированном стиле программирования в Julia: -- две большие фичи Julia: multiple dispatch (который вместо ООП) и средства интроспекции -- http://ailev.livejournal.com/1218155.html (и там довольно много дополнительных ссылок на разъяснения). -- The Design Impact of Multiple Dispatch As the core paradigm of Julia (Stefan Karpinski): http://nbviewer.jupyter.org/gist/StefanKarpinski/b8fe9dbb36c1427b9f22 -- базовый пример. -- Type-Dispatch Design: Post Object-Oriented Programming for Julia (Сhristopher Rackauckas): http://www.stochasticlifestyle.com/type-dispatch-design-post-object-oriented-programming-julia/ -- Modular Algorithms for Scientific Computing in Julia (Christopher Rackauckas): http://www.stochasticlifestyle.com/modular-algorithms-scientific-computing-julia/ -- 7 Julia Gotchas and How to Handle Them (Christopher Rackauckas): http://www.stochasticlifestyle.com/7-julia-gotchas-handle/ (о 7 типовых ошибках, которые делают начинающие работать на Julia) -- DSL в Julia http://ailev.livejournal.com/1366789.html (и там ссылка на общий паттерн метапрограммирования для DSL в https://julialang.org/blog/2017/08/dsl). За всё нужно платить. Julia -- более трудный в изучении язык, чем Python, R или Matlab. И материалов для изучения особенностей Julia пока не так много. Хотя на Julia можно достичь бОльшего, чем на Python, R или Matlab, платить за это нужно дополнительным временем обучения, дополнительной ломкой мозга. Это скрипка Энгельбарта (http://ailev.livejournal.com/1158826.html), да ещё и специально заточенная на вычислительную математику. UPDATE: обсуждение в фейсбуке -- https://www.facebook.com/ailevenchuk/posts/10211017119477982

Читать обсуждение →