Ilya
Там ещё bucklescript есть какой-то. Я так и не понял, чем они отличаются, и когда какой надо юзать.
Igor
To be implemented.
лан это шутка была https://reasonml.github.io/en/try
Ilya
Там ещё bucklescript есть какой-то. Я так и не понял, чем они отличаются, и когда какой надо юзать.
А потом они ещё сделали вот так. То есть теперь 3 синтаксиса. https://reasonml.org/blog/bucklescript-8-1-new-syntax
Anonymous
две вещи непонятны: почему ризон и почему фигурные скобочки, отступов не хватило?
Doge
Ну и с жс интероп очень уж жуткий, мне не понравилось.
Да, там вот этот момент абсурдный полностью.
Anonymous
название случвйно?
Igor
две вещи непонятны: почему ризон и почему фигурные скобочки, отступов не хватило?
ну кстати в ocaml, с которого делался reason отступы НЕ значащие, там тоже любят ; заставлять ставить. но они говорят что хотели к js сделать ближе
Aleksandr
в js скобочки is a must, потому что там популярна минификация
Ilya
А по размеру бандла свелте в топе, кстати. А за ним куча ноунеймов. https://medium.com/dailyjs/a-realworld-comparison-of-front-end-frameworks-2020-4e50655fe4c1
Anonymous
смотрю вебассембли так и непоказывает обещанной скорости
Ilya
Нету ризана. Потому что realworld приложение никто не запилил ещё.
Igor
А по размеру бандла свелте в топе, кстати. А за ним куча ноунеймов. https://medium.com/dailyjs/a-realworld-comparison-of-front-end-frameworks-2020-4e50655fe4c1
да и elm там везде в топе, кроме кол-ва кода, вербозный к сожалению что пздц еще и форматированием на любителя
Anonymous
А кто в этот последний Хитман играл? Стоит брать?
Ilya
ого у ангуляра садиться перф при добавление ngrx
Не уверен, что попугаев от гугла можно называть перфом. Но это ожидаемо, в принципе. Проц и сеть он грузить больше будет.
Igor
Igor
не компиляется
Vladimir
вот короче зафигачил себе костылей, бандл 6кб стал)
Dr. Friedrich
Dr. Friedrich
Как, в общем-то, и in
Dr. Friedrich
Когда писал на Хаскеле в прошедшие выходные, постоянно эти ины забывал ставить, и в итоге втыкал во всякие рандомные места в коде.
Dr. Friedrich
Причём там у них вообще макро содомия: иногда in нужно писать, а иногда не нужно (в монадах они, видать, и сами задолбались, и поэтому сделали in необязательным).
Dr. Friedrich
подожи это же как в f#
Как в F#? Ты часто ставишь ;; в F#-коде?
Dr. Friedrich
Я — никогда.
Igor
точно так же как в ocaml - в repl
Dr. Friedrich
А, ну тут хз, про репл ничего сказать не могу. Пользуюсь очень редко.
Igor
на сколько я знаю двойные ; (если мы про них) - только в репле юзаются
Dr. Friedrich
И в OCaml тоже?
Igor
да
Dr. Friedrich
Ну тогда норм!
Dr. Friedrich
Тогда эту претензию отзываю, остаётся только ненужный in.
Igor
и кстати насчет in - это одна и частей, почему код ocaml НЕ зависит от отступов, как другие ml можно всю программу хоть в одному строку написать или как в fortran без отступов
Dr. Friedrich
Кстати, насколько я вижу, in там не нужен для top-level let. А вот для определений внутри функций — там нужен.
Igor
а еще там есть let parse_posts json = let open Yojson.Safe.Util in ... очень веселая штука, что бы делать локальные open
Shub
https://github.com/hwayne/awesome-cold-showers#static-vs-dynamic-typing-a-literature-review
Anonymous
https://github.com/hwayne/awesome-cold-showers#static-vs-dynamic-typing-a-literature-review
ну про формальную верификацию он же не прав. хотя, там есть оговорка про ТЛА+, так что можно списать на это.
Doge
https://github.com/hwayne/awesome-cold-showers#static-vs-dynamic-typing-a-literature-review
Интересный список. Многие утверждения моим опытом подтверждаются, это любопытно.
Shub
Интересный список. Многие утверждения моим опытом подтверждаются, это любопытно.
ну здравый смысл все-таки. многие просто забывают, что хайп взят на вооружение уже давно
Ayrat
Ayrat
Какая жиза. Прям вся наша бигдата в Волмарте
Анна
А я продолжаю пропихивать культуру ассерты писать. В этот раз сама код прошерстила, добавила асертов где отвалить может, сделала merge request, автор кода его ревьювает: - Этот ассерт лишний, это поле никогда не должно получиться равным нулю, вряд ли мы сюда попадём Ураааа! Мы почти дошли до смысла и назначения ассертов в коде!
Vladislav
x
я думал во всех
Ayrat
в некоторых языках ассерты не попадают в код при сборке release
Но есть разница между ассертами и контрактами. Ассерты и не должны попадать кмк
Анна
Да, в данном случае у нас для скорейшего отлова багов разработчиками, не для прода
Ilya
Я думал, для скорейшего отлова багов тесты пишут? Хотя одно другому не мешает, конечно.
Ayrat
Я думал, для скорейшего отлова багов тесты пишут? Хотя одно другому не мешает, конечно.
Ассерты проще написать, да. По ходу дела воткнул и дальше пошёл говнокодить
Анна
У нас просто похоже все знали, зачем ассерты, кроме авторов того модуля 🤷‍♀️ и вот поэтому ошень трудно втаскиваются 🙈
Анна
Прямо сериал. Ситком наверное
Анна
Только не смешной
Shub
у вас прод в отладочном режиме работает, что ли? на чем вы пишете?
Анна
Тот кусок на C
Анна
у вас прод в отладочном режиме работает, что ли? на чем вы пишете?
Асерты включены при сборке под наши тестовые девайсы
Shub
у меня был опыт, когда один коллега активно топил за ассерты, и случайно не заметил, как перешел линию, за которой логика строилась на ассертах. никогда не забуду это искреннее удивление, когда в проде посыпались проблемы, которые эти ассерты должны были ловить
Shub
ну в общем простительно было, это было во времена VS 5.x и MFC, тогда не то, что документацию не читали - ее как бы особо и не быыло
Shub
Как на ассёртах можно построить логику? Исключения ловить, что ли?
загугли например python assert debug и посмотри на so примеры кода из вопросов
Shub
там миллионы строк а-ля def fn(arg1, arg2, ag3): assert(arg1.is_sellable) arg1.sell()
Denis
так оно же упадет, не ?
Shub
в дебаге
Denis
т е на проде просто похеру ?
Shub
а при -O ты продашь non-sellable
Denis
Круто
Shub
ну их спасает незнание про -O, 99% проектов на питоне в проде работает в отладочном режиме
Shub
потом приходит кто-то "прошаренный", меняет два символа где-то в глубине конфигов вебсервера и начинается очередной выпуск "Очевидное-невероятное"
Mikhαil
Mikhαil
Идеальный продуктовый код
Denis
ну их спасает незнание про -O, 99% проектов на питоне в проде работает в отладочном режиме
Да не может быть чтобы 99%, джанга даже ругается если ты в дебаге запускаешь!
Denis
:D
Ayrat
Я вот на куче проектах видел тонны варнингов на билде, всем было похуй. У меня пунктик на этот счёт, билд должен быть идеальным, поэтому это первое что я всегда фиксю
Ilya
Осталось понять, как в функцию попали non-sellable, если не должны были.
Shub
Да не может быть чтобы 99%, джанга даже ругается если ты в дебаге запускаешь!
это настройки самой джанги и они влияют всего лишь на обработку исключений. -О - это ключ интерпретатора и он влияет на генерацию байткода
Shub
Осталось понять, как в функцию попали non-sellable, если не должны были.
ну вот они там впилили ассерт, который где-то там наверху ловил какой-то там обработчик. все ж эффективные десятииксеры, все несут валуе