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

Если не секрет, уважаемое компьюнити, почему вы выбрали между F#

и Ocaml первый. Дело в Xamarin? .Net? скорости? shugar? система типов? интеграция с windows?

2 ответов

4 просмотра

есть ещё GOвно

Выбор платформы не имеет смысла, если писать программу калькулятора или что-то специфичное, что пишешь только ты. Как только разрабатывается проект в продакшен, сразу встает вопрос платформы, на котрой он будет базироваться. Например, берем haskell | ocaml | lisp - система должна работать с аналитикой (реклама\маркетинг) - отлично, ставим кликхаус и тут оопс - нет дров на нужном языке (или есть, но что ещё хуже - они тебе не подходят, т.к. из-за нераспространенности языка их пишет один человек и там 100500 ошибок), значит - прикручиваем FFI к нативным на С\С++ (это в случае, если билд дров подошел, или билдим их сами на С\С++, и не факт, что этот билд можно сделать, потому что там 100500 параметров и половина из них не работает). Теперь все отлично, только FFI работает на виндоус и не работает на линукс, или наоборот... . Ладно, тогда поднимаем рядом сервис на GOвне, который по REST(!) будет общаться с нашей системой и делать запросы в БД. Интегрируем это с LDAP, и тут опять опс - из 10 готовых либ, 8 не пашут, в ещё одной ошибки и последняя работает почти всегда, кроме полнолуния. Ок, почти все победили и тут нам нужно отправить писмо по SMTP. Просто отправить письмо по SMTP c TLS\проверить серверный сертификат\ect.😡 К чему я это все - я это все к тому счастью, которое ожидает любого, кто решил писать на платформе, не имеющей широкого распространения. F# многие выбрали потому, что он совместим с .NET наследием и не несет той "боли и многословия", что C#.

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

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

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
Есть предложения, как подобное можно упростить?
Hemul GM
12
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
У меня вопросик назрел. Почему, создав класс без наследования и реализации деструктора Destroy, деструктор не вызывался при free. Потом указал наследование от tobject и overri...
Сергей Бычков
9
@y0zhig @shizzard А можно я опишу цель и может вообще ерланг мне не подходит. На текущий момент как я понимаю у ерланга есть легковесные потоки и задача выполняется в каком т...
Дмитрий Спиридонов
5
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
just use free version ?? pycharm has a free version
Fan / Ac
9
Карта сайта