
『Ark』∞
05.07.2018
23:00:11
О, барьер в 400 пересекли

Friedrich
06.07.2018
05:12:02
Кстати, туповатый вопрос, но все же.
Хочу попробовать написать веб-сервис на f#. Но вопрос в фреймворках. Ибо как задался идей осознать язык, узнал, что есть несколько разных подходов.
Как понял, стандартный шаблом студии это такое смешение ооп и функциональности.
А жираф и Suave больше заточены под функциональность.
Ну сам пришел из мира c#.
Или не страдать фигней, написать первую версию на стандартом шаблоне студии, а потом рефакторить и рефакторить?
Я советую взять шаблон от жирафа и делать на нём. Если хочется достучаться до C#-штук (DI пощупать, например) — спрашивай, мы подскажем, как это делается.

Pavel
06.07.2018
10:43:02
а ионид умеет показывает типы биндингов внутри функций?

Ayrat
06.07.2018
10:43:31

Google

Pavel
06.07.2018
10:43:53
это недоработка или фича? :D
просто можно в настройках включить показ типа в конце строки, но оно работает только внутри модулей или мемберов класса

Ayrat
06.07.2018
10:45:56
Я вот считаю что это правильно, и так эти сигнатуры выглядят страшно, ещё их и внутри функций выводить было бы лишним.

Pavel
06.07.2018
10:46:26
ясно, спасибо!

Ayrat
06.07.2018
10:46:37
кстати, поставь в настройках "replaceCodeLens": "always"
чтобы у тебя не дублировались сигнатуры НАД функцией и СБОКУ от функции

Pavel
06.07.2018
10:47:28
да я думаю, эти комментарии тогда не так удобны, как кодленс
проще их отключить

Ayrat
06.07.2018
10:47:44
отнюдь. От комментариев сбоку код не скачет

Pavel
06.07.2018
10:48:15
просто я ожидал, что их включение будет показывать типы всех биндингов, а раз нет, то буду дальше в студии писать

Ayrat
06.07.2018
10:48:42
так студия тоже не показывает для всех let такие сигнатуры

Google

Ayrat
06.07.2018
10:49:07
у неё такое же поведение - кодленс только над let в модуле

Pavel
06.07.2018
10:49:22
да, но она мне как-то милее =)

Ayrat
06.07.2018
10:49:22
если хочешь тип вложенного let - наведи мышку

Roman
06.07.2018
11:14:47
Привет!!

Денис
06.07.2018
11:19:11
Привет!!
Привет! Я пишу на C#, решил познакомиться с F#

Roman
06.07.2018
11:21:15

Денис
06.07.2018
11:21:46
Спасибо))

Roman
06.07.2018
14:29:03
Привет!

Vladimir
06.07.2018
14:34:41
Добрый день!

mirsait
06.07.2018
14:35:11
Всем привет!

Vadim
06.07.2018
14:44:02
Про F# + Azure Functions стрим идёт ?
https://www.twitch.tv/csharpfritz

Roman
06.07.2018
14:47:52

Вексельберг
06.07.2018
15:30:52
На f# написаны какие нибудь повсеместно используемые приложения, сервисы, сайты? Не хватает мне мотивации чтобы двинуть его в прдакшон

Ayrat
06.07.2018
15:31:24
это типа валмарт онлайн. там весь бекенд на нём

Вексельберг
06.07.2018
15:34:27

Ayrat
06.07.2018
15:34:42
ну вот тут написано ещё
https://fsharp.org/testimonials/

Evgeniy
06.07.2018
15:34:45
а запиненный сайт на f#?

Ayrat
06.07.2018
15:35:38
да чо уж там, у меня в конторе бекенд на F#, не весь очевидно, а тот который я пишу) но всё равно.
Я не знаю что тут ещё сказать.
Не хватает мотивации - не надо переходить.

Google

Vlad
06.07.2018
15:37:31
Мне кажется при продавливании чего-то в прод ещё необходимо хоть сколько-то объемным знанием «как надо». Чтобы потом потом тачку говнокода не написать, пусть и на f#

Вексельберг
06.07.2018
15:38:05

Ayrat
06.07.2018
15:38:42

Вексельберг
06.07.2018
15:44:01
Что мешает тест драйвить?
Пока что не обнаружил для себя достаточно бонусов. Продолжаю ковырять чужой опыт. Синтаксис мне знаком по ocaml- лу, но как то мало гуглица практически пригодного кода который вот прям бьёт цшарп
В net native фшарпа тоже нет насколько я могу видеть

Pavel
06.07.2018
15:49:18
На сколько я помню дальше uwp он не приспособился


Ayrat
06.07.2018
15:51:44
Пока что не обнаружил для себя достаточно бонусов. Продолжаю ковырять чужой опыт. Синтаксис мне знаком по ocaml- лу, но как то мало гуглица практически пригодного кода который вот прям бьёт цшарп
Могу только за себя сказать, может появится инсайт:
Плюсы перехода:
1) Нормальная, человеческая система типов, а не говно слизанное с джавы, где компилятор использует void как юнит, но запрещает использовать void в сигнатурах функций. Ну и DU из F# машет ручкой любителям побойлерплейтить.
2) Более строгий компилятор, запрещающий неявные преобразования и касты. Сложить инты с даблами чтобы получить инты с потерей точности? В C# запросто. Получить боксинг на ровном месте, а потом героически его искать? В C# запросто. Получить InvalidCastException когда из-за грёбаных инвариантных возможно такое
Animal[] animals = new Monkeys[];
......//где-то в другой части проекта
animals[0] = new Giraffe() // получи, рантайм эксепшн :D
3) меньше кода - лучше, C# это про бойлерплейт. Да сишарписты там пальцем тычут в жаву, а сами руками типы выводят как не очень.
Минусы перехода:
1) Повышенная когнитивная сложность языка, который поддерживает ФП парадигму. Найти F#ера непросто
2) Хуже поддержка в VS, это на самом деле главный минус.
3) Поддержка от MS в продуктах приходит позже


Вексельберг
06.07.2018
15:55:57

Pavel
06.07.2018
15:56:59

Ayrat
06.07.2018
15:57:03
F# это бекенд и веб по большей части. Дружба с десктопом сделана для галочки в районе WPF (и то слышал только по рассказам что она есть)
веб нормас пилится уаще

Вексельберг
06.07.2018
15:58:28

Pavel
06.07.2018
15:58:43

Roman
06.07.2018
15:59:40
но в проде старое не фшарповое)

Ayrat
06.07.2018
16:00:06
я давно забил даже интересоваться десктопными приблудами, будь то WPF или UWP. Мёртвая тема.
VS Code показывает как можно сделать на казалось бы вшивом электроне отличное мультиплатформенное приложение.

Vlad
06.07.2018
16:01:31

Ayrat
06.07.2018
16:01:39
ну сорян :D

Google

Ayrat
06.07.2018
16:01:54
вот ещё хороший пример фулстак F#
https://github.com/SAFE-Stack/SAFE-Chat/blob/dev/docs/FsChat-login.gif

Pavel
06.07.2018
16:02:03
Для бэка идеально
Система типов, композиция, алгеброические типа, CE, краткий и выразительный синтаксис, компилятор который помогает писать код, а не вставляет палки в колёса
Лучше один раз попробовать, чем 100 раз услышать

Вексельберг
06.07.2018
16:02:27

Ayrat
06.07.2018
16:03:08

Roman
06.07.2018
16:03:17

Ayrat
06.07.2018
16:03:19
они там не боги

Pavel
06.07.2018
16:03:28

Вексельберг
06.07.2018
16:04:22

Pavel
06.07.2018
16:04:45
Ну а вообще wpf отлично пишится на f#

Vlad
06.07.2018
16:04:59

Ayrat
06.07.2018
16:05:26
да я не против. Код всё равно открыт. Взял посмотрел best practice, сделал так же
т.е. был бы у них там секрет какой, то да. А сейчас чо мучаться, они уже всё выстрадали и доказали что электрон могЁт
а про тех, у кого электрон течёт и тормозит, можно уже говорить что руки из жопы растут. (извините, если тут такие есть)

Roman
06.07.2018
16:07:27
lol

Klei
06.07.2018
16:18:00

Roman
06.07.2018
16:28:01
Перенес

Вексельберг
06.07.2018
17:16:12
а про тех, у кого электрон течёт и тормозит, можно уже говорить что руки из жопы растут. (извините, если тут такие есть)
Электрон запускает для каждого процесса отдельный инстанс настоящей ОС, имхо это не есть гут во всех отношениях. Во-2, что хуже, он навязывает веб. При всех недостатках uwp я уж лучше на ней буду писать, чем на css, npm, react, redux, webpack. Если есть опция не юзать перечисленное выше, имхо надо за неё хвататься обеими руками. А что до vscode, он хорош конечно, но точно не как успешная история электрона. Он как бы отвечает на вопрос - а можно ли на электроне написать что то годное. Но! Не отвечает на вопрос - а надо ли)))


Ayrat
06.07.2018
17:18:08
Электрон запускает для каждого процесса отдельный инстанс настоящей ОС, имхо это не есть гут во всех отношениях. Во-2, что хуже, он навязывает веб. При всех недостатках uwp я уж лучше на ней буду писать, чем на css, npm, react, redux, webpack. Если есть опция не юзать перечисленное выше, имхо надо за неё хвататься обеими руками. А что до vscode, он хорош конечно, но точно не как успешная история электрона. Он как бы отвечает на вопрос - а можно ли на электроне написать что то годное. Но! Не отвечает на вопрос - а надо ли)))
Да хрен с ним, с электроном. Ты лучше фшарп попробуй)

Google

Ayrat
06.07.2018
17:19:23
Тем более он позволяет делать фронт нормальный без электрона и знания жс.

Вексельберг
06.07.2018
17:20:28

Roman
06.07.2018
17:20:37
И можно воскресить фанскрипт
Лол

Ayrat
06.07.2018
17:25:20

Вексельберг
06.07.2018
18:24:03
Меня смущает что для fable требуется ставить net core и комплект тулинга для f# ( vs2017 ?) Как то это многовато в сравнении с тайпскриптом который идёт обычным npm пакетом.
Ещё удивляет документация на библиотеки и биндинги, которая fixme сводится к " смотри пример"

Ayrat
06.07.2018
18:26:13

Вексельберг
06.07.2018
18:32:12

Ayrat
06.07.2018
18:33:29

Ivan
06.07.2018
18:34:58
Hopac кто нибудь ментайнит? У меня создается ощущение, что библиотека дохнет. А жалко, сильнее я не видел...