metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-02-14 10:28 am

Тащемта clojure

Вы будете смеяться, но самое простое для изготовления веб-приложения для JVM в режиме "вижу всю эту хреновину первый раз, но понимаю что делаю" - это clojure.
http://bestinclass.dk/index.clj/2011/01/building-a-social-media-site.html
https://github.com/mmcgrana/ring
http://mmcgrana.github.com/2010/08/clojure-rest-api.html

Leiningen спасает мозг от разборок с зависимостями чуть более чем полностью.
Документации, впрочем, нет, как и для 99% всех других немейнстримных вещей - блоги-гуглогруппы-исходный код. Причем, как всегда - примеры устаревшие, особенно что касается версий в project.clj для leiningen.

[identity profile] blackyblack.livejournal.com 2012-02-14 02:02 pm (UTC)(link)
Много скобок или большая вложенность означают, что код кривой. В обоих случаях избавляются при помощи выноса кода в отдельные функции. В императивных языках лишнюю вложенность прибивает ранний выход из цикла или функции. В функциональных - паттерн-матчинг, генераторы и функции высшего порядка.