Size: a a a

Clojure — русскоговорящее сообщество

2020 May 08

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Ну есть, конечно, при разборе AST может некоторые ошибки показать.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
когда ты в репл грузишь функцию - может ошибка выскочить
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
плюс в кложе есть вывод типов неявный
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Может выскочить. Но это всё намного слабее, чем происходит в CL.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
И это чувствуется.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
ну короче
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
В чем был мой тезис
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Никто до сих пор не показал наглядно что типы лучше
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Нет никаких количественных метрик
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Ну вот ты данные в мапке кидаешь?
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Anton Chikin
Никто до сих пор не показал наглядно что типы лучше
Не, ну я вообще сторонник методологии "разработка через страдание". То есть если тебе норм, то пользуйся.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Мне вот, например, не норм.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Кстати, потыкал свежую кложу. Эти вещи стали получше с тех пор, когда они меня сильно добивали.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
То есть он что-то уже выводить пытается вменяемо.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
поведение CL и кложи разнится, да.
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Блин, думал избежать обсуждения этого выброса, но оно везде настигает 😅

У меня Kotlin pays the bills, а на кложе пишу свои сайд-проекты)
И там и там есть свои заморочки по поводу типов.

Вот например в строгой типизации меня бесит что на каждый чих приходится объявлять новый класс/структуру. Ну вот делаю я хэндлер запроса на сервере, мне там этот Pojo не нужен, я итак каждое поле от юзера валидирую. Намного приятней принять мапу, провалидировать ключи и пойти дальше. Толку от того, что я эти ключи в классе перечислю - нуль.

Но вот в других местах хочется точно знать что тебе приходит в функцию, этого иногда не хватает в динамическом языке.
Всякие спеки и pre-condition конечно помогают, но всё равно чуть больше работы надо сделать)

Поэтому думается мне что gradual typing - самое оно.
Написал статически-типизированные функции где надо, сказал чекеру «check types” и поехал дальше кнопки красить))
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Tim Plotnikov
Блин, думал избежать обсуждения этого выброса, но оно везде настигает 😅

У меня Kotlin pays the bills, а на кложе пишу свои сайд-проекты)
И там и там есть свои заморочки по поводу типов.

Вот например в строгой типизации меня бесит что на каждый чих приходится объявлять новый класс/структуру. Ну вот делаю я хэндлер запроса на сервере, мне там этот Pojo не нужен, я итак каждое поле от юзера валидирую. Намного приятней принять мапу, провалидировать ключи и пойти дальше. Толку от того, что я эти ключи в классе перечислю - нуль.

Но вот в других местах хочется точно знать что тебе приходит в функцию, этого иногда не хватает в динамическом языке.
Всякие спеки и pre-condition конечно помогают, но всё равно чуть больше работы надо сделать)

Поэтому думается мне что gradual typing - самое оно.
Написал статически-типизированные функции где надо, сказал чекеру «check types” и поехал дальше кнопки красить))
«gradual typing - самое оно»
он где-то есть такой, как хочется?
и возможно ли это?
источник

TP

Tim Plotnikov in Clojure — русскоговорящее сообщество
Sergey Trofimov
«gradual typing - самое оно»
он где-то есть такой, как хочется?
и возможно ли это?
Ну вот в Raku (Perl 6 бывший) вроде довольно прикольно работает, хотя я лишь поверхностно тыкал)
Понятное дело что всем не угодишь, но для этого есть разные инструменты наверное
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
мне как-то плохо представляется gradual typing на этапе компиляции
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
Tim Plotnikov
Блин, думал избежать обсуждения этого выброса, но оно везде настигает 😅

У меня Kotlin pays the bills, а на кложе пишу свои сайд-проекты)
И там и там есть свои заморочки по поводу типов.

Вот например в строгой типизации меня бесит что на каждый чих приходится объявлять новый класс/структуру. Ну вот делаю я хэндлер запроса на сервере, мне там этот Pojo не нужен, я итак каждое поле от юзера валидирую. Намного приятней принять мапу, провалидировать ключи и пойти дальше. Толку от того, что я эти ключи в классе перечислю - нуль.

Но вот в других местах хочется точно знать что тебе приходит в функцию, этого иногда не хватает в динамическом языке.
Всякие спеки и pre-condition конечно помогают, но всё равно чуть больше работы надо сделать)

Поэтому думается мне что gradual typing - самое оно.
Написал статически-типизированные функции где надо, сказал чекеру «check types” и поехал дальше кнопки красить))
А что если скажу, что классы / структуры и типы это ортогональные вещи ?
источник