Size: a a a

2020 October 10

dl

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

dl

dzmitry lahoda in F# Chat
Vasily Shapenko
Давайте вы с растом пойдете во флуд?
Да.
источник

IC

Ilya L Che in F# Chat
Вот бы тоже покодить на C# 10. Как там в 2021?
источник

ХГ

Хаскелль Моисеевич Г... in F# Chat
Выкинули класс в главном файле. Праздник.
источник

ХГ

Хаскелль Моисеевич Г... in F# Chat
Pytonish.
источник

dl

dzmitry lahoda in F# Chat
Ilya L Che
Вот бы тоже покодить на C# 10. Как там в 2021?
Это оффтоп тоже. Но если например знать хорошо F# 5 и посмотреть роадмапы и воуты за фичи на год то можно кодить так что где фича заменит бойлерплейт то писать под этот это бойлерплейт пока не заменит или анализатор пока не заменит проверку типов проверять головой или пока герератор не замерит копи паст копипастить. Когда фичи выдут такая кодо база сразу лучше будет тк удалиться куча кода.
источник

VS

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

NK

ID:0 in F# Chat
источник

DS

Doge Shibu in F# Chat
IdiocyAcceptance
почему ты считаешь что Rust по Verbosity лучше C#? Особенно сравнивая с 8-9 - там же миллиард сахара синтаксического
Ну раст в этом плане лучше из-за более продвинутой системы типов.

Уже тот же дерайвинг тайпклассов сильно болйерплейт убирает
источник

PD

Prunkles Dreemurr in F# Chat
А как написать такой активный паттерн, который, как в примере выше, будет сопоставлять данные данные, и если всё подходит, то записывать в данные переменные?
источник

PD

Prunkles Dreemurr in F# Chat
Я так понял, что активные паттерны делятся на две части: в первой ты передаёшь всякие аргументы, а во второй можно повторно сопоставить с возвращёнными значениями. Но как это впихнуть сюда я что-то не могу додуматься
источник

I

IdiocyAcceptance in F# Chat
Я чёт не совсем понял что ты хочешь сделать на самом деле. У тебя hasSubsetOf (мне кажется лучше containsElements, т.к. subset подразумевает что в массиве есть конкретный кусок, который ты передаешь, а не просто элементы) больше используется как функция, а не как паттерн
источник

I

IdiocyAcceptance in F# Chat
Тебе надо привести значение jsonValue к массиву (если там массив) и что-то с ним сделать
источник

I

IdiocyAcceptance in F# Chat
Плюс ты же обычно матчиш значения и паттерны аля match array with l containsElements -> ... | _ -> ...
источник

I

IdiocyAcceptance in F# Chat
Откуда тут jsonValue?
источник

PD

Prunkles Dreemurr in F# Chat
Я хочу проверить, соответствует ли данный JsonValue некоторому паттерну, и вместе с этим записать такие-то поля в такие-то переменные (я не уверен как этот процесс называется в паттерн матчинге)
источник

I

IdiocyAcceptance in F# Chat
Тогда сделай актив паттерн на JsonValue, не на массив
источник

g

gsomix in F# Chat
Prunkles Dreemurr
Я хочу проверить, соответствует ли данный JsonValue некоторому паттерну, и вместе с этим записать такие-то поля в такие-то переменные (я не уверен как этот процесс называется в паттерн матчинге)
То, что нужно в дальнейшем сопоставить, следует вернуть из активного паттерна.
источник

PD

Prunkles Dreemurr in F# Chat
gsomix
То, что нужно в дальнейшем сопоставить, следует вернуть из активного паттерна.
Я вот догадывался до этого, но оно же также напрямую зависит от получаемых значений
источник

I

IdiocyAcceptance in F# Chat
А внутри if jsonValue is array then match array with ... И так далее
источник