169 похожих чатов

Мне интересно, какие есть истории истории “we moved to Haskell

from …”? Т.е. не те, кто на stackshare указал, что используют, а кто что-то переписал?

7 ответов

10 просмотров

например кложура -> хаскель https://medium.com/wit-ai/open-sourcing-our-new-duckling-47f44b776809

A64m AL256m qn<cores> I0
например кложура -> хаскель https://medium.com/wit...

А может есть на примете ещё какие-нибудь примеры? Конкретно этот кажется относительно "очевидным". Не в том плане, что он плох, а в том, что в Clojure особо нет программирования на типах, чего, я так понимаю, сильно недостаёт при работе с временнЫми выражениями, у которых довольно явно вырисовывается некий тип.

И "we moved to … from Haskell"

Мы в своё время переписали всю систему со Скалы на Хаскель. Это несколько десятков сервисов и пара сотен библиотек. Не переписали только маленькие кусочки, которые должны были использовать ORC и Parquet, а ни того, ни другого в то время на Хаскеле не было (cейчас, вроде, Parquet доделал Huw Campbell)

Знойная Булочка Pachin
Какая мотивация для переезда на хаскель была?

Ну ФП же. У нас и Скала была ФП. Ну почти. Несколько мотиваций/причин, на самом деле. Некоторым хотелось Хаскель попробовать. Некоторые были резко против. На Скале - там же Maven. Чтобы либу зарелизить и использовать - это же целые танцы с бубном. А если ещё и либа не твоя, а в ней баг или с производительностью проблемы - то и совсем "ой". Помню, мы нашли багу в либе Конфлюента, зарепортили, те ответили "ой, какой стыд-то, поправим в следующем релизе". А у нас продакшн горит. Палец сосать до их релиза не катит. В Хаскеле тогда stack умел с гита пакеты брать. Форканул что нужно - и всего делов. В отличие от. Как-то мы две недели бились: был некий ML функционал на Питоне. Надо было его заюзать. Стали делать весь сервис на Питоне (это Кафка, Авро, все дела), а оно не взлетает: Медленно работает, с Авро вообще беда - есть быстрая либа fastavro, но она (на тот момент как минимум) падала в некоторых случаях. Есть которая не падает, но она, хм, медленная. Две недели на Питоне народ бился - путно не выходит. Оборачивать в Скалу - сервис получается со всем питоновым и скаловым багажом под два гига контейнер, кому это интересно. Да и интерфейсить из Скалы в Питон не улыбается. Короче, я попробовал просто на хаскеле запрототипить это дело. Ушёл один вечер дома, работало в 21 раз быстрее, чем на Питоне, интерфейсилось с МЛ через Си-Пайтон. На работе показал ребятам, что, дескать, оно может работать быстро и не падать. И написать быстро можно. Встал естественный вопрос: мы берём вот этот вот код и доводим до ума, или продолжаем мудохаться ещё хрен знает сколько. В общем-то даже самые скептики решили, что попробуем. Когда закончили сервис, один мой коллега сказал "надеюсь, что мы больше не будем писать новых вещей на Скале". Мы и не писали больше.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта