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

Добрый день. Долгое время на проекте на могли распилить монолитики

на микросервисы пока не перешил на tf+k8s. Как перешли уже можем. Мы не пишем юнит тесты вовсе, поэтому я топил за систему типов. Весь код на C# написан пока что. И я топил чтобы писать новые сервисы при распиле на F# чтобы не писать тесты вовсе и далее:) Пока моя позиция была сильна против много более сильной позиции тех лида(он давно на проекте) который топил за Rust. Потому что не было azure sdk for Rust. Но тут как то неожиданно случился полуофициальный релиз azure sdk for rust. Ну не ясно какие мои будут аргументы за F#? Аргумент типа корректность и лучшая многопоточность отпали. Количество кода тоже (я потрогал Rust и он по вербосити хуже F# но много лучше C#). Какие неочевидные аргументы я могу еще применить? Кода на С# у нас мало шареного мало, но есть с одной стороны(если F# то можно реюзать). С другой стороны часть проекта писана на C++(по тому с той стороны за Rust). Сравнения в гугле Rust vs F# ниочем.

11 ответов

13 просмотров

Привет! Понятны плюсы ф# перед с#. Перед растом действительно не очень понятно, особенно если ты его не трогал. Есть один момент, какую цель в этой истории преследуешь ты?

dzmitry-lahoda Автор вопроса
Romɑn Melnikov
Привет! Понятны плюсы ф# перед с#. Перед растом д...

ну наверно минимизация затрат на поиск аргументов - если у меня есть какие фри аргументы - закину. а так кончились (ну я типа защищал позицию fsharp)

dzmitry-lahoda Автор вопроса
Romɑn Melnikov
Нет, я про то, зачем тебе там ф#?

ну что то лучше С# уже хорошо. а F# или Rust - ну не сильно важно. просто позиция была fsharp в аргументации.

dzmitry lahoda
ну что то лучше С# уже хорошо. а F# или Rust - ну ...

Понял. Т.е. у тебя там не холивар, спасибо)

советую послушать мой докладик на F# Ukraine 28 Октября Building an efficient replication system for thousands of terminals https://fsharp-ukraine.org/2020/anton_moldovan.html у нас дофига инфраструктурных штук в общем причина юзать F# vs C# vs Rust - это FP если тебе FP не нужен то можно и что-то другое

почему ты считаешь что Rust по Verbosity лучше C#? Особенно сравнивая с 8-9 - там же миллиард сахара синтаксического

dzmitry-lahoda Автор вопроса
IdiocyAcceptance
почему ты считаешь что Rust по Verbosity лучше C#?...

Я кодил на C# 10, Rust nightly, F# 5. В порядке уменьшения вербосити как написано для микросервисов. Если портировать F# не так как в интернетах пишут в С# 10 в среднем фунциональном стиле то получается verbose Rust. То есть тут небольшой аргумент я уже привел. Но так разница не в разы между fsharp и rust, то типа не сильно важно. F# пробелы и код лейоут слева направа сверху вниз примерно похоже на строгость Rust по шарингу данных и флюент синтаксису из коробки. То есть и терс и не спагетти.

сведи спор к обсуждению раст против дотнета, если дотнет победит, то потом останется только фшарп против сишарпа)

IdiocyAcceptance
почему ты считаешь что Rust по Verbosity лучше C#?...

Ну раст в этом плане лучше из-за более продвинутой системы типов. Уже тот же дерайвинг тайпклассов сильно болйерплейт убирает

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
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
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта