С высоты-2

Jul 08, 2019 17:25


В предыдущем посте я разочаровывался в Clojure, а точнее в тех задачах, которые хочу на ней решать. С языком-то все нормально, он ровно то, за что себя выдает. Просто до какого-то момента и для каких-то задач на это удобно закрывать глаза, ну а мне уже не удобно.

Ну и что я сделал. Я пошел учить Rust. Не, ну интересно же, как компьютеры сегодня ( Read more... )

Leave a comment

anonymous July 8 2019, 14:39:34 UTC
Переписать готовую логику с кложи или питона на раст конечно несложно. Ты это уже писал один раз, недавно, всё хорошо помнишь как работает. Прототипировать и растить программу на расте значительно сложнее, чем на кложепитонорубях.

Reply

ext_3289791 July 8 2019, 18:40:06 UTC
>Не сильно ли мешает множество каких-то разнообразных фич в языке? Допилят еще все GAT’ы, как потом в этом разбираться всем, почти плюсы получатся. Я на расте пару сотен строк кода написал только, довольно простых.

Сложно сказать. У меня уже взгляд замылен, плюс я наш текущий код с нуля практически писал -- рос вместе с кодом, так сказать.

Reply

urod July 9 2019, 07:14:07 UTC
Как С++нику, мне нравится злобность компилятора, она дисциплинирует, не позволяет делать всякую хрень. В плане долгосрочном это, как по мне, хорошо и помогает разработке.

Reply

thedeemon July 9 2019, 09:21:33 UTC
Это отлично, когда ваяешь нетленку. А если надо по-быстрому что-то наговнякать (как в контесте или прототипе), то получается
"Сунул Грека.unwrap() руку.unwrap() в реку.unwrap(),
unwrap().unwrap().unwrap().unwrap()"

Reply

metaclass July 8 2019, 18:02:17 UTC
Типы ЛЮТО мешаются под ногами. И никаким any (как в тайпскрипте) их не заткнешь.
Просто скажем, пока ты прототипируешь и архитектура того что делается, не совсем очевидна - типы от входа не очевидны. А когда эти типы еще и нагружены решением вопроса "кто на ком стоял" и реализацией zero-cost абстракций - ну, тяжеловато.

Reply

vit_r July 8 2019, 19:20:10 UTC
Угу, правильно. Решение непонятной задачи сильно отличается от решения решённой задачи.

Reply

blackyblack July 8 2019, 20:30:25 UTC
Делай JSON объект на входе, он же на выходе. Сразу жизнь наладится.

Reply

metaclass July 9 2019, 08:00:24 UTC
Ну да, т.е. == clojure.
И я так и делал - для бухгалтерской отчетности - на входе результаты запросов, на выходе отчеты в json.
Чтобы такое же сделать с типами - нужна типовыводилка с структурными типами и прочими row types и заодно автоматически подгребающая типы из SQL запросов. И уж точно тут не место zero-cost abstractions ценой ебли с борроучекером.

Reply

plumqqz July 8 2019, 21:05:25 UTC
Эх, лайков нету.

Reply

anonymous January 29 2020, 11:30:51 UTC
Геморрой?

Reply


Leave a comment

Up