metaclass: (дзедline)
metaclass ([personal profile] metaclass) wrote2013-02-22 02:48 pm
Entry tags:

Патч в кложурь

Сидел до утра пилил модуль в опердени на кложуре.
Наткнулся в процессе на классическую шизу - "ошибка в обработке ошибок", некоторые ошибки в исходниках (при macroexpand) в принципе не показывают информацию о месте, где произошла ошибка.
Мне-то хорошо, я hg diff глянул и сразу вижу где чернь, потому что я коммиты делаю после каждой заработавшей функции, но такие ошибки напрягают.
Полез искать в исходники, вроде починил, сообщение об ошибке чуть более аккуратно оформил, информации добавил, оформил баг-репорт с патчем.
Даже если в апстрим попадет нескоро - возможность самостоятельно починить исходники в дебрях языка или либ сильно спасает. И является тестом на пригодность к использованию разного рода не особо мейнстримных языков - если можно их починить самому за пару часов - пригоден, иначе - нет.

[identity profile] rashid80.livejournal.com 2013-03-05 06:44 pm (UTC)(link)
на кложуре, в мире, программирует человек 10-12. Если уйдешь в отпуск, сляжешь с температурой - проекту хана.
Почему кложурь, а не какой-то ООП-язык с функциональными примочками?

[identity profile] metaclass.livejournal.com 2013-03-05 07:06 pm (UTC)(link)
Да только в минске 5 человек программирует :)
На фриноде в #clojure порядка 600 сидит, в списке контрибюторов человек под 100.

Насчет того, почему clojure - выбор реально на данный момент: скала, кложурь или F#. По крайней мере, в них доступ к БД, веб-фреймворки и GUI или родные или взяты из жабы с дотнетом. И интеграция со сторонними либами прямо, а не через "пишем на ANSI C адаптер через FFI размером больше, чем весь наш софт".

Из этого, на момент выбора, метапрограммирование было только в кложуре. Описание разного рода нетривиальных данных (конкретно, финансовая отчетность) проще всего делать на DSL сделанных поверх clojure.
Из недостатков - динамическая типизация.

Я сейчас рассматриваю вариант мигрировать вообще все на скалу, в целях исключения из продакшена бардака в языках. Но как-то пока не срастается - на кложури рестфул-веб-сервис поверх базы данных я сделал за пару дней, а в скале даже проект толком оформить пока не могу - всякие заебы с мавеном да версиями фреймворков да прочим вуду.

[identity profile] rashid80.livejournal.com 2013-03-05 07:11 pm (UTC)(link)
Бравые питерские парни из JetBrains пилят свой язык для платформы JVM - смесь Java и Scala. По отзывам - очень годный. Вот тут подробнее: http://kotlin-demo.jetbrains.com/

[identity profile] rashid80.livejournal.com 2013-03-05 07:12 pm (UTC)(link)
Бравые питерские парни из JetBrains пилят свой язык для платформы JVM - смесь Java и Scala. По отзывам - очень годный. Вот тут подробнее: (тут была ссылка, но тогда коммент помечается как спам)