Fork me on GitHub
#clojure-russia
<
2016-12-21
>
andre09:12:24

у меня тут зреет вопрос, и вот в статье https://habrahabr.ru/post/314050/ @seryh отбивается как может, но вот правда , я сейчас мониторю вакансии на cljs , и пока тихо, в отличии от elm, на котором есть какое-то количество вакансий, почему так происходит?

andre09:12:56

т.е. elm просто распиарен в хипстерских js кругах?

andre09:12:23

а cljs только в последнее время начал появлятся на js конфах?

savelichalex09:12:58

потому что люди по какой то неведомой причине верят что типы это мана небесная?

artemyarulin09:12:58

ELM очень хорош для новичков, опять же из коробки elm-architecture, т.е. это больше аля платформа

andre09:12:19

новичков в чем?

artemyarulin09:12:22

в элме 🙂 Ну реально, сообщения от ошибках там очень няшные

andre09:12:39

а cljs вообще нет ошибок 🙂

andre09:12:45

еще наяшнее

andre09:12:48

хотя зараза , вот иногда бывает подло, напишешь hiccup для reagent ,a parinfer возьмет да сдвинет одну } не туда, тишина, ошибок нет, но ничего не рабоатет 🙂

artemyarulin09:12:07

я думаю через годик CLJ/CLJS будет впереди планеты всей из-за спеки - dependent types хаскелитсы еще не скоро зарелизят, а вот у нас почти оно и будет

andre09:12:07

@artemyarulin elm-architecture это MVC что ли? 🙂

artemyarulin09:12:15

да ближе к redux

artemyarulin09:12:49

точнее redux чуваки вроде даж в ридми написали что они из элма это взяли

andre09:12:55

да, спека в cljs будет, все , красивые elm ошибки останутся в прошлом

andre09:12:19

По поводу WebGL имею сообщить, что в Elm не просто встроена поддержка данной библиотеки, а компилятор умеет распарсить текст шейдеров на GLSL и проверить согласованность типов между шейдерами и основной программой. Из Вашего утверждения следует, что в CS есть функциональность с аналогичным API и именно её я ожидал увидеть

artemyarulin09:12:58

ну дслчик запилили ок, эко ново)

seryh12:12:42

я вот для прода на работе закончил переписывать небольшой но муторный из-за вебсокетов SPA с ангуляра-1 на re-frame. вышло все очень круто в сравнении с ангуляр версией

seryh12:12:56

там из за подмешивания от WS свежих данных в различные scope в коде творился ад. а тут на события и подписки re-frame вся логика легла как родная

andre12:12:02

я вот тоже от re-frame кайфую, все приложение по полочкам, особенно когда появились fx и cofx , вообще красота

andre12:12:13

вся логика оказалась изолированной в чистых функциях

artemyarulin12:12:21

С ануляра-1 переписывать это надо очень хорош постараться чтоб сделать ЕЩЕ хуже troll

artemyarulin12:12:43

а как остальные восприняли твое скобочки @seryh ?

seryh13:12:22

На побочные внутренние проекты всем пофиг обычно ) лишбы быстро и работало

seryh13:12:57

Приучу на меньшем, как привыкнут возьмусь за крупняк

seryh13:12:49

Темболее позитивное снавнение с ангуляр версией на лицо )

roman01la14:12:42

@andre вот здесь нормально вакансий по cljs https://jobs.functionalworks.com/

andre14:12:05

в англии да, я про остальной мир 🙂

roman01la14:12:29

еще была интересная вакансия в Берлин на React Native + CLJS

roman01la14:12:40

но чет там глухо

roman01la14:12:32

@andre Elm хорошо продают, в то время как на CLJS тихо пилят продукты и ниукого нету времени делиться опытом, ибо дедлайны 🙂

roman01la14:12:55

вот сделали для Elm таймтревел дебаггер и все шумят и радуются, на кложескрипте уже давно бы сделали, просто оно никому не нужно) А в JS мире все это вновинку вот они и хавают

roman01la14:12:59

короче кложурианцы сами виноваты в непопулярности языка

roman01la14:12:37

(если это действительно нужно конечно)

artemyarulin14:12:32

>еще была интересная вакансия в Берлин на React Native + CLJS я тоже туда слал, даж не ответили 🙂

savelichalex14:12:02

@roman01la стоп, так @andre же сделал тайм-трэвел дебаггер)

andre14:12:21

ну тайм тревел пока ручной 🙂 но оно реально похоже не нжно, так побаловаться

nek16:12:18

видел Шведскую вакансию с cljs, но в целом здесь это редкость

kishanov17:12:46

про элм еще с пол-года назад срывали покровы http://reasonablypolymorphic.com/blog/elm-is-wrong

kishanov17:12:54

в продакшене его по-моему только в NoRedInk’е используют, и то им пришлось Эвана захайрить чтобы работало 🙂

kishanov17:12:48

мы пробовали элм как альтернативу кожурскрипту чуть меньше года назад - hello world приложения хорошо получаются, а чтобы форму сделать (чуть более чем простую, например, с 2мя зависимыми друг от друга дропдаунами) надо веником убиться:

artemyarulin17:12:50

@kishanov а PureScript не смотрели? гораздо веселее чем элм

kishanov17:12:59

не стали, ибо есть ghc.js и haste

kishanov17:12:13

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

artemyarulin17:12:39

ну ghc.js это ад, особенно интероп и ленивость

kishanov17:12:12

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

artemyarulin17:12:21

https://github.com/artemyarulin/ghcjs-repl-react-native я игрался с ним в контексе мобайла, но там конечно слишком специфично

artemyarulin17:12:21

дада, у меня по сути получилось тоже самое - cljs -> PureScript/Haskell -> cljs. Ибо динамизм и репл переплюнуть по скорости разработки никто не сможет

dottedmag17:12:31

@kishanov Спасибо, вычеркнул Elm из "чего попробовать" :)

kishanov18:12:36

Начал выкарчевывать re-frame datatable компонент из нашего проекта: https://kishanov.github.io/re-frame-datatable/

dragoncube19:12:46

http://prezi.com еще Elm активно использует, но у них там usecase близкий к супер марио

misha19:12:04

Ну чуваки, кложаскрипт - лисп, элм - не лисп, какие еще аргументы нужны? kappa

artemyarulin19:12:10

элм - хаскель, это тоже круто. Хотя кастрированный

artemyarulin19:12:11

нет ну правда - они оттуда убрали классы, ужас

kishanov19:12:34

У нас чувак с работы (хаскельнутый на всю голову) ходил пару раз на элм-митапы, говорит Эван - очарованный странник, только учится. Он пока еще не познал дао хаскеля и делает свой фанфик

misha19:12:25

@artemyarulin а чо, в хаскеле кроме типов что-то есть еще? troll

dottedmag20:12:01

Я вот посмотрел начало этой штуки: http://blog.cognitect.com/blog/2016/9/29/agility-robustness-clojure-spec -- на 9:00 он говорит о том, почему я перестал что-либо делать с Clojure, а на 11:12 - о том, почему я опять начал :)

dottedmag20:12:30

@artemyarulin Не хаскель, а что-то похожее на корявенький ML.

dragoncube20:12:46

кстати, а кто нибудь использует :advanced уровень компиляции в продакшене?

dragoncube20:12:07

что делать если есть баги? ведь сообщения об ошибках вообще практически нечитаемыми становятся, особенно вместе с реагентом

misha20:12:05

писать код без багов конечно же

dottedmag20:12:36

В одной компании, где я работал, в coding conventions было написано "don't write bugs into code".

dottedmag20:12:02

Так что любой багфикс можно было коммитить с комментарием "coding convention fixes".

misha20:12:15

думаю, что можно как-то стектрейс натянуть на локальные сорсмапы, постфактум.

dottedmag20:12:40

Нужно ещё cljs.spec, да.

dragoncube21:12:29

а разве для :advanced есть сорсмапы?

dottedmag21:12:54

Со страницы опций компилятора:

{:optimizations :advanced
 :source-map true
- должны быть.

morhetz21:12:57

> Он пока еще не познал дао хаскеля и делает свой фанфик удваиваю, да Ivan Kleshnin топит, например, против элма здесь, непоследовательно, но по делу http://paqmind.com/posts/elm-first-impressions/

The problem is that banning monads Elm ended up reinventing them. And banning infix functions Elm ended up in the search for a better syntax :/

dragoncube21:12:33

хм, интересно

dragoncube21:12:37

надо попробовать

dottedmag21:12:26

TIL lein-try