@Fsharp_chat

Страница 151 из 772
Anton
22.05.2017
14:37:27
Я думал у нас там чего есть, просто я не в курсе дел.

Pavel
22.05.2017
14:37:33
Еще года два назад были, потом все заглохло

Anton
22.05.2017
14:37:37
=(

Pavel печалька. Нужно бы исправить это дело.

Google
Anton
22.05.2017
14:39:46
Собрать людей в чатике и поговорить.

Pawel
22.05.2017
14:41:36
книга - это обычно слишком глубоко и подробно для доклада, можно на много проще. Например код с проверкой ошибок на C# и с выч. выр. ResultBuilder в F#. Или про ORM с провайдерами типов сущностей. Но этого не достаточно конечно, так, чисто заинтересовать. Более или менее нормалный доклад по ФП обязательно должен касаться ТК.

Anton
22.05.2017
14:42:13
вмысле теории категорий?

Тогда уж теории типов и теории множеств =)

вот это бы я послушал с радостью.

Pawel
22.05.2017
14:43:00
да - вот что то в этом роде
мне не понравилась. Слишком узко специализированная и скучная книга.

Evgeniy
22.05.2017
14:45:36
Для практических докладов теория категорий совершенно необязательна.

Pawel
22.05.2017
14:46:55
действительно, если заинтересовать, то будут копаться, книга, чаты, репозитории это то что помогает
Когда парни приводят что-то типа этого, получается эффект глубоко обратный заинтересованности. Якобы код короче, значит хорошо. http://cs4.pikabu.ru/images/big_size_comm/2015-01_5/14221976559824.jpg

а это же прям классика рускоязычных докладов по F#

Для практических докладов теория категорий совершенно необязательна.
она как таковая вообще не нужна, но базовые понятия применительно к программированию совсем не затронуть в докладе - это не правильно

Evgeniy
22.05.2017
15:01:21
@ruzzke_mir Это интересно. А какие понятия базовые, например? И как к ним подвести в докладе?

Pawel
22.05.2017
15:41:47
@ruzzke_mir Это интересно. А какие понятия базовые, например? И как к ним подвести в докладе?
Да собственно функторы, моноиды, апликативы, монады. Подвести на самом деле легко на практических примерах если хорошо предсталять суть предмета. Вот шикарный пример как это показывать в F#, горячо рекомендую https://www.youtube.com/watch?v=E8I19uA-wGY

Evgeniy
22.05.2017
15:42:05
@ruzzke_mir Спасибо.

Google
k0balt
22.05.2017
16:55:37
https://gist.github.com/fpawel/d39209ddbec53a49420079f2a726c102
а где там выполнено условие "Команда не должна играть два дня подряд."?

Artemy
22.05.2017
17:32:32
Добрый вечер. Небольшой вопрос. Чем будет отличаться IQueryable от IEnumerable в случае, когда нету привязки к БД? Вернее, как будут отличаться функции по работе с IQueryable от тех, что работают с IEnumerable в этом случае?

Функции по работе с IQueryable просто вызывают аналогичные для IEnumerable (естественно, я имею в виду стандартные функции типа Where, GroupBy и т.п.) ?

Alexey
22.05.2017
17:38:19
IQuaryable аггрегируют структуру 'запроса' в виде LINQ Expression

И потом можно этот expression проинтеретировать как захочется

Artemy
22.05.2017
17:46:46
Ну да, точно. Тогда ход выполнения в случае пайплайна для seq и запроса над IQueryable будет разным. А есть ли ощутимя разница по скорости выполнения между этими двумя вариантами?

Roman
23.05.2017
00:52:24
По поводу книг. Меня в своё время вставила книга Петричека, после этого хватало референса и статей. А для заинтересования людей нужно показывать примеры реального кода.

Roman
23.05.2017
04:28:19
Ага.

Ilya
23.05.2017
04:29:03
Год выпуска: 2010 не страшо же?

Roman
23.05.2017
04:30:47
Там основы функциональщины на цшарпе и фшарпе. Для начала более чем. Ну и когда я её читал она новая была ))

Как раз 2010 год был.

Но она и сейчас вполне актуальна. Ещё хороша Deep Dive. Там хорошие примеры практического использования.

Ilya
23.05.2017
04:36:42
да мне как раз то что надо. Функцианальные подходы в c# тоже мне по нраву. На плюралсайте курс посмотрел на эту тему, теперь угараю по => методам в с#6

Pawel
23.05.2017
04:38:24
а где там выполнено условие "Команда не должна играть два дня подряд."?
сначала формируется список уникальных пар, потом они из него берутся с удалением из списка

Рекомендую эту для новичков имхо лучшая https://books.google.ru/books?id=e0Wl6id4unQC&printsec=frontcover&dq=isbn:1449326048&hl=ru&sa=X&ved=0ahUKEwj9nID6mYXUAhXBkiwKHQGeDHYQ6AEIKDAA#v=onepage&q&f=false

есть на русском

Базовый курс - Expert F# 4.0 Antonio Cisternino, Adam Granicz, Don Syme

Denis
23.05.2017
04:45:05
В чем F# лучше, чем С#? Где он больше пригодится

Pawel
23.05.2017
04:45:29
Если кому надо, могу скинуть эти книги и другие глянуть наличие

Google
Roman
23.05.2017
04:45:32
Рекомендую эту для новичков имхо лучшая https://books.google.ru/books?id=e0Wl6id4unQC&printsec=frontcover&dq=isbn:1449326048&hl=ru&sa=X&ved=0ahUKEwj9nID6mYXUAhXBkiwKHQGeDHYQ6AEIKDAA#v=onepage&q&f=false
Для новичков да, Петричек для тех кто на цшарпе уже давно пишет и хочет потихоньку перейти.

Roman
23.05.2017
04:45:59
Pawel
23.05.2017
04:46:16
Он не лучше, он другой.
Он определённо лучше

Denis
23.05.2017
04:46:36
В чем?

Pawel
23.05.2017
04:47:40
Более понятный код с меньшей когнитивной нагрузкой без накладных расходов если в кратце

Denis
23.05.2017
04:48:16
Пойду загуглю)

Roman
23.05.2017
04:49:31
http://ericsink.com/entries/fsharp_chasm.html

Pawel
23.05.2017
04:49:50
Пойду загуглю)
посмотри https://fsharpforfunandprofit.com/posts/designing-for-correctness/

Roman
23.05.2017
04:49:54
По мне так лучше, но люди разные

Friedrich
23.05.2017
05:05:41
В чем F# лучше, чем С#? Где он больше пригодится
F# и практики программирования на нём позволяют строить более чёткую доменную архитектуру: отдельно рассматривать бизнес-логику, а отдельно какой-нибудь инфраструктурный код с побочными эффектами. Как ни парадоксально, но мне кажется, что это может очень пригодиться в каком-нибудь энтерпрайзе и других областях со сложной, развесистой бизнес-логикой.

Roman
23.05.2017
05:07:56
Может, но не хотят. Не хватает критической массы девелоперов. В энтерпрайзе уйдешь из конторы, а остальным проблемы.

Friedrich
23.05.2017
05:08:31
А в чем тут парадокс?
Парадокс в том, что часто ФП рассматривают как "игрушечки для хипстеров в песочнице", а тут вдруг оказывается, что он хорошо подходит для махрового энтерпрайза :)

(ну, про игрушечки это расхожая точка зрения, и я её не поддерживаю вовсе, не подумайте)

Alexey
23.05.2017
05:19:20
F# не даёт особо никаких преимуществ только при работе с wpf в mvvm стиле, ну или при работе с ооп'шными фреймворками

В случае любого data processing'а сразу почувствуешь удовольствие

За две недели чатик разросся в 2 раза по количеству участников ?

Evgeniy
23.05.2017
05:29:46
Во многом благодаря @sergey_tihon, я думаю.

Google
Pawel
23.05.2017
05:30:08
Во многом благодаря @sergey_tihon, я думаю.
да, я из его блога ссылку нашёл

Pawel
23.05.2017
05:30:57
каким же образом?

Alexey
23.05.2017
05:30:59
На C# можно делать так же хорошо

Admin
ERROR: S client not available

Friedrich
23.05.2017
05:31:35
каким же образом?
Мешает писать в стиле big ball of mud. За счёт, например, задания порядка файлов в проекте.

Pawel
23.05.2017
05:31:35
http://ericsink.com/entries/fsharp_chasm.html
какой вывод следует сделать из этого холиварчика по твоему мнению?

Alexey
23.05.2017
05:33:18
Мешает писать в стиле big ball of mud. За счёт, например, задания порядка файлов в проекте.
Тут как и во многом другом F# скорее просто не позволяет делать плохо

Roman
23.05.2017
05:33:22
Это к сожалению жизнь. Я на работе народу рекламируют фшарп, показываю код, даже презентацию делал. Все говорят круто, но учить никто не хочет. Цшарпа хватает. Rx и то с трудом пропихнул.

Alexey
23.05.2017
05:33:48
Покажи им тайп провайдеры

Roman
23.05.2017
05:34:29
Покажи им тайп провайдеры
Здесь бы от стринг тайп программинга бы избавиться.

Friedrich
23.05.2017
05:34:30
Тут как и во многом другом F# скорее просто не позволяет делать плохо
Не то чтобы не позволяет, а просто осложняет. Например, мутабельную переменную можно же сделать, но это сложнее, чем иммутабельную. И сделать все классы в одном рекурсивном неймспейсе тоже можно, но это тоже сложнее, чем сделать более аккуратно.

Pawel
23.05.2017
05:34:42
@fvnever не очень сильно мешает на самом деле. ООП ни куда не делось. Фреймворки используют DI. Верхний модуль один хрен видит всё. и т.п.

Friedrich
23.05.2017
05:35:02
Это не фичи ФП, а просто, гм, мелкие фишки, которые помогают делать вещи более аккуратно и правильно.

Alexey
23.05.2017
05:35:12
Я понимаю

Friedrich
23.05.2017
05:35:44
надо не кодерам объяснять, а менеджменту.
У нас, например, менеджмент не против последовать техническим рекомендациям инженеров, если они обоснованы.

Надо уговорить основную массу инженеров на проекте — и дело в шляпе. С начальством договоримся :)

Roman
23.05.2017
05:36:02
надо не кодерам объяснять, а менеджменту.
Там главный вопрос где взять девелоперов.

Алексей
23.05.2017
05:36:41
2-3 недели и перешел на другой язык, не сильно большая проблема если у людей есть заинтересованость

Google
Pawel
23.05.2017
05:37:07
Там главный вопрос где взять девелоперов.
главный вопрос - зачем это надо и как это делать. Кодеры найдутся, уверяю тебя

Alexey
23.05.2017
05:37:07
Alexey
23.05.2017
05:39:26
Переход с C# -> F# не сделает из проекта конфетку

Люди найдут и тут как антипаттерны заиспользовать

Слава богу язык мультипарадигменный

Ilya
23.05.2017
05:40:11
а на сколько корректно и правильно писать в c# в таком стиле? public ExportData GetData() => Disposable .Using(() => new HttpClient(), client => client.GetByteArrayAsync(Uri).Result) .Map(Encoding.GetEncoding(1251).GetString) .Map(XmlSerializer.Deserialize<ShopExportData>);

Pawel
23.05.2017
05:40:23
В Гонконге их нет
можно в принципе и одному начинать. В большой C# проект без проблем дописывать что-то на F#

Ilya
23.05.2017
05:40:34
отлаживать жи не очень

Roman
23.05.2017
05:41:53
можно в принципе и одному начинать. В большой C# проект без проблем дописывать что-то на F#
Я этим и занимаюсь. Веду подрывную работу, но на серьезные бизнес ориентированные проекты нужно добро от начальства

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