![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
В целях недопущения упрощения жизни, а так же чтобы псить, при необходимости, со знанием дела, осиливаю скалу.
Причем начал практически с конца - клепаю RESTful сервис на основе spray с всякими json-маршалингами внутри через имплициты и прочую адову содомию.
При достаточном количестве type-level магии оно выглядит, конечно, так же просто, как какое-нибудь руби, или как лиспы без скобок и с инфиксной записью, но внутренняя сложность, по-моему, зашкаливает. "Импортируй себе немножечко имплиситов и получи на халяву сериализаторы в json для всего", "Оберни маршруты в директивы логгера" и прочее такое.
Сборку завел, сначала через sbt (простой способ), потом импортировал в IDEA (условно простой) и потом стырил у
jdevelop конфигурацию для мавена (нормальный способ). Воедино надо это как-то свести, чтобы не редактировать при добавлении новых зависимостей все вручную. Плюс еще импорт sbt в IDEA выглядит как ад и смерть.
Завести то я это чюдо заведу, но вот что с ним дальше делать, не совсем понятно. На данный момент картина выглядит так: Clojure проще, но скобки и стектрейсы компилятора отпугнут новых пользователей, Scala дико сложнее, но поначалу она выглядит как "почти жаба", обработка ошибок более читабельна и есть шансы, что в эту западню попадутся и желающие новеньких языков и любители сойти с ума на почве вычислений на типах.
Причем начал практически с конца - клепаю RESTful сервис на основе spray с всякими json-маршалингами внутри через имплициты и прочую адову содомию.
При достаточном количестве type-level магии оно выглядит, конечно, так же просто, как какое-нибудь руби, или как лиспы без скобок и с инфиксной записью, но внутренняя сложность, по-моему, зашкаливает. "Импортируй себе немножечко имплиситов и получи на халяву сериализаторы в json для всего", "Оберни маршруты в директивы логгера" и прочее такое.
Сборку завел, сначала через sbt (простой способ), потом импортировал в IDEA (условно простой) и потом стырил у
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Завести то я это чюдо заведу, но вот что с ним дальше делать, не совсем понятно. На данный момент картина выглядит так: Clojure проще, но скобки и стектрейсы компилятора отпугнут новых пользователей, Scala дико сложнее, но поначалу она выглядит как "почти жаба", обработка ошибок более читабельна и есть шансы, что в эту западню попадутся и желающие новеньких языков и любители сойти с ума на почве вычислений на типах.
no subject
Date: 2013-03-09 09:30 pm (UTC)no subject
Date: 2013-03-09 11:32 pm (UTC)no subject
Date: 2013-03-10 03:10 am (UTC)no subject
Date: 2013-03-10 07:28 am (UTC)no subject
Date: 2013-03-10 07:50 pm (UTC)no subject
Date: 2013-03-10 08:34 am (UTC)Количиства ада уменьшиться на 2 единицы.
no subject
Date: 2013-03-10 08:42 am (UTC)Впрочем, в 2.10.0 полной красоты не получится - для каждого класса надо все еще писать руками вызов генерирующего макроса (например, val fooSerializer = genSerializer[Foo]). Я сам дурак конечно, что оставил SI-5923 в 2.10.0, но я ж тогда ничего не понимал в тайпчекере. О, а ведь этот фикс можно легко бэкпортить из 2.11.0-SNAPSHOT в 2.10.2! Следите за новостями.
no subject
Date: 2013-03-10 10:15 am (UTC)no subject
Date: 2013-03-10 09:59 am (UTC)no subject
Date: 2013-03-10 11:24 am (UTC)no subject
Date: 2013-03-10 11:33 am (UTC)no subject
Date: 2013-03-10 05:09 pm (UTC)no subject
Date: 2013-03-10 09:39 am (UTC)no subject
Date: 2013-03-10 02:45 pm (UTC)no subject
Date: 2013-03-10 04:39 pm (UTC)