@Fsharp_chat

Страница 216 из 772
Evgeniy
24.06.2017
20:20:37
Я попрошу не начинать этот разговор. :)

Ну, или перенести его в личку.

Pawel
24.06.2017
20:21:38
сложные правила наследования/перегрузки/боксинга-анбоксинга @gsomix а что не так? мы вроде нормальную тему обсуждаем

Evgeniy
24.06.2017
20:22:07
Сейчас начнется бесполезный холивар про C#, который здесь никому не интересен.

Google
Vlad
24.06.2017
20:22:24
ну интересен

Pawel
24.06.2017
20:22:46
а чего сразу холивар? давайте по существу

Evgeniy
24.06.2017
20:22:46
Если интересен, то для этого есть C# чат.

Напомню, что это чат про F#. :)

Antoxa
24.06.2017
20:23:06
@gsomix не холиварю, просто интересно понять недостатки языка

Pawel
24.06.2017
20:23:18
вот именно. и достоинства F#

Andrey
24.06.2017
20:24:40
В с# слишком много элементов и движущихся частей. И наследование и параметрический полиморфизм вытекающие отсюда констреинты на дженерики, отсюда ковариантность и контрвариантность итд, много чего еще. Это не недостататки, а скорее куча возможностей. Я за простоту, за отсутствие классов, и за максимальное уменьшение когнитивной нагрузки.

Pawel
24.06.2017
20:26:22
==Я за простоту, за отсутствие классов, и за максимальное уменьшение когнитивной нагрузки. welcom to F#

Andrey
24.06.2017
20:27:13
А то как многие любят навернуть иерархии. А потом кучи разных визиторов в проекте. Зато все гибко и дженериково, да. Но ладно, никто не любит холиваров.

Pawel
24.06.2017
20:31:03
ну тут смысл не в том, чтобы холиварить, объявляя программситов на C# лузерми (что не соответствует действительности), а в том, чтобы понять, каким образом F# облегчит им жизнь

Igor
24.06.2017
20:31:31
Вот где можно безастоновочно сраться за .NET языки https://t.me/CSharpRest

Evgeniy
24.06.2017
20:31:49
@angmarr Спасибо.

Утро.

Google
Evgeniy
25.06.2017
05:36:29
Баги F#4.1 потихоньку закрывают. https://github.com/Microsoft/visualfsharp/pull/3249

Evgeniy
25.06.2017
07:41:01
Вот, кстати, это хороший вопрос, зря вы от него отказываетесь
Я поясню. Это в первую очередь сложный вопрос. Его первоначальная постановка "чем C# корявый и сложный" мне не нравится. Если кому-то это действительно интересно, и при этом мы сможем вести адекватную беседу, то давайте обсудим.

Но лучше пойти код пописать.

Kirill
25.06.2017
07:43:09
тогда я переформулирую: какие плюсы по я получаю при использовании F# в реальном энтерпрайзном проекте?

я уже два года так делаю, и почти всегда всё упирается в то, что инфраструктуру нужно линковать на c# либы

в результате, F# хорошо занимает место питона или пш. но ценность использования его как основного языка не ясна

Friedrich
25.06.2017
07:55:43
я уже два года так делаю, и почти всегда всё упирается в то, что инфраструктуру нужно линковать на c# либы
Я считаю, что у тебя вот тут постановка ложная. Как тебе такое? C#-либ не существует.

Либы — это просто бинарники, и неважно, на чём они написаны.

Я не вижу ни малейшей проблемы в том, чтобы использовать "C#-либы" из кода на F#.

С обратным процессом (с F#-либами в C#-окружении) есть маленькая решаемая проблема с FSharp.Core, он она решается так же, как в общем случае с любыми другими транзитивными зависимостями, тут ничего страшного.

Ну а в целом мне непонятно, почему должно быть какое-то предубеждение против C#-кода в приложении. Если инструмент решает свою задачу хорошо, то нет причин его не использовать.

Летучая
25.06.2017
08:12:16
Вернее сказать .NET либы. Какая разница, C# там или Визуальный Основной?

Kirill
25.06.2017
08:12:34
Я не вижу ни малейшей проблемы в том, чтобы использовать "C#-либы" из кода на F#.
это не так, например, для того, чтобы использовать async деоегат как входной параметр, нужно писать довольно много обвеса.

Friedrich
25.06.2017
08:13:28
Да, я несколько упростил ситуацию, но часто ли такое требуется в настоящем продакшен-коде?

Пожалуй, единственный по-настоящему важный случай из продакшена, когда F#-программист существенно стеснён — это когда он пытается использовать EF (или другие LINQ-провайдеры).

Всё остальное решается.

Kirill
25.06.2017
08:14:40
часто, если используешь Azure

Friedrich
25.06.2017
08:18:33
Не, тут мне возразить нечего. Большого опыта использования Azure у меня нет.

Google
Kirill
25.06.2017
08:18:37
как раз проблема в том, что при моей примерно одинаковой производительности написания на том и на другом, в случае с F# много времени тратится на _преодаление_ таких искусственных ограничений.

Friedrich
25.06.2017
08:21:10
Ну, с такими ограничениями не поспоришь. Если есть какая-то технология, которая ориентирована исключительно на C# (какой-нибудь .NET Native, например), то тут ты уже с F# никак не влезешь.

Evgeniy
25.06.2017
08:21:23
как раз проблема в том, что при моей примерно одинаковой производительности написания на том и на другом, в случае с F# много времени тратится на _преодаление_ таких искусственных ограничений.
Если в твоей конкретной ситуации использование F# осложняет жизнь и не приносит выгоды, то нужно использовать другой более подходящий язык. Это нормально.

Friedrich
25.06.2017
08:22:41
Ну, это уже авторы технологии решают. Если что-то открытое — то можно форкнуть, ну а с закрытым ничего не попишешь. Или бросать, или терпеть ограничения.

Kirill
25.06.2017
08:22:49
тогда получается, что пока, как минимум, не починят тулинг для семнадцатой студии, этот вопрос нужно откладывать )

т.к. он изотерический

Friedrich
25.06.2017
08:23:47
Можно бесконечно откладывать вопросы, а можно брать и писать код.

В моём домене завязки на студию нет. Но, наверное, если что-то связано с Azure, то без студии могут быть проблемы.

Kirill
25.06.2017
08:29:33
если бы я не писал то и проблем не было бы

Friedrich
25.06.2017
08:31:13
(ну, впрочем, врать не стану, большую часть разработки на F# до сих пор веду в студии для десктопного фреймворка)

Evgeniy
25.06.2017
08:36:00
если бы я не писал то и проблем не было бы
Мне кажется, имелось в виду другое. Вместо ожидания, нужно самим писать библиотеки, упрощающие жизнь, и исправлять тулинг.

К сожалению, в F# за нас самих никто ничего не будет делать. Если это не подходит лично тебе или твоей компании, то имеет смысл обратить внимание на другие языки и технологии.

И это тоже нормально.

Kirill
25.06.2017
08:49:03
из-за такой абсолютистской позиции многие не хотят связываться с F#-сообществом

Friedrich
25.06.2017
08:50:22
Да и с C# тоже :)

Evgeniy
25.06.2017
08:57:44
F# Weekly #26, 2017 - What is Next? https://sergeytihon.com/2017/06/25/f-weekly-26-2017-what-is-next/

Простите, не удержался. :)

Vasily
25.06.2017
09:10:27
Я про абсолютистскую позицию не понял...

Google
Evgeniy
25.06.2017
09:36:42
Кто-нибудь пробовал Hedgehog?

А то здесь новая версия вышла. https://github.com/hedgehogqa/fsharp-hedgehog/releases/tag/v0.3.0

это не так, например, для того, чтобы использовать async деоегат как входной параметр, нужно писать довольно много обвеса.
А можно подробнее? Мы можем написать библиотеку с этим бойлерплейтом, чтобы никому больше не пришлось писать самому?

Xander Привет!

Привет!

@BlOCKCHAIN_Kanrisha Скажи, что ты тот чувак из weekly, который что-то про блокчейны пилит на F#. :)

Anton
25.06.2017
20:04:37
Представляете, хотел попробовать в реальном вопросе возможности F# в Data Science и обломался на том - что не нашел ресурса с цветами. Вопрос был: разгатать какие цветы нравятся моей девушке, она дала пару подсказок: 2 гласные и 2 согласные, всего 5 букв. Я тут подумал, ага, сейчас нахожу любую REST DB по цветам, через JSON TypeProvider сливаю инфу, формирую как нибудь фильтр и вауля! Но облом =( Обидно как-то.

Anton
25.06.2017
20:06:09
@Worldbeater это как?

Летучая
25.06.2017
20:07:39
Берешь какую-нибудь онлайн-энциклопедию по цветам, находишь поиск по алфавиту и собираешь все названия.

F# и это позволяет красиво сделать ?

Anton
25.06.2017
20:08:24
проблема в том, что про цветы что-то почти ничего нету во всём интернете

это странно

я только тут вроде нашел... https://garden.org/plants/search/text.php

но не уверен, то ли это вообще

Aleksander
25.06.2017
20:10:23
2 гласные, 2 согласные, 5 букв - в названии есть мягкий \ твердый знак?

Roman
25.06.2017
20:10:36
Википедия

Anton
25.06.2017
20:11:10
она сказала, что мне мол нужно 3 буквы де-факто отгадать =)

Google
Anton
25.06.2017
20:12:01
Кажется простая задача - но нету базы данных, к которой можно обратиться и это странно.

забыл уточнить: 2 гласных и 2 согласных повторяются

Aleksander
25.06.2017
20:13:12
лилия :)

Anton
25.06.2017
20:13:16
т.е круг поиска крайне мал

хм

хммм

а вот вполне подходит под её определение: мол оно долго стоит, не всем нравится запах и родом "вроде бы с востока" (с)

Летучая
25.06.2017
20:14:13
Ну что ж, тебя можно поздравить

Aleksander
25.06.2017
20:14:14
но ты программу все-равно напиши))

Anton
25.06.2017
20:14:18
угу

мысль появилась сделать такую rest BD

с цветами

Aleksander
25.06.2017
20:15:27
http://www.obradoval.ru/encyclopedia-cvetov/#.WVAZu2jyiM8 - отсюда можно HtmlTypeProvider'ом взять названия

Anton
25.06.2017
20:15:48
хм

Aleksander
25.06.2017
20:15:54
о, там даже верстка табличная

есть шанс, что провайдер выдаст все что надо:)

Anton
25.06.2017
20:17:02
Можно даже лучше - взять HtmlTypeProvider'ом, спарсить это всё и сделать БД

Страница 216 из 772