dotEducation icon indicating copy to clipboard operation
dotEducation copied to clipboard

Ресурсы по изучению F#

Open vabka opened this issue 2 years ago • 12 comments

Что?

Сборник курсов, статей, и докладов по F#

В каком виде?

Несколько отдельных страниц в репозитории (отдельная папка), которые бы объяснили, какие преимущества даёт F#, и как его можно изучить.

Зачем?

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

vabka avatar Oct 23 '21 14:10 vabka

Как затравку, можно прикрепить туда доклады от @nevoroman

vabka avatar Oct 23 '21 14:10 vabka

В свое время, у Дмитрия Сошникова (@shwars) был видеокурс для начинающих под названием «Увлекательное введение в функциональное программирование на F#».

Taritsyn avatar Oct 23 '21 15:10 Taritsyn

Кстати, в этом плане микрософтовская дока не такая плохая, как в случае с C#: https://docs.microsoft.com/en-us/dotnet/fsharp/ Хотя опять же супер подробно только fundamentals

vabka avatar Nov 01 '21 08:11 vabka

Есть прекрасный F# Chat, там можно кинуть клич по поводу ресурсов. Хорошие англоязычные материалы есть на сайте F# for Fun and Profit и в их книге.

shwars avatar Nov 01 '21 21:11 shwars

Полностью согласен, да!

Предлагаю так — я организую полупустые странички про F# и про ФП с минимумом материалов, а потом закину их в F# сообщество и мы вместе будем дальше накидывать материалы.

nevoroman avatar Nov 03 '21 10:11 nevoroman

В свое время, вот такой совсем непопулярный канал помог в освоении - https://www.youtube.com/c/TheDevOwl. В частности серия про асинхронность в F#. Впрочем, там самые разные темы включая серию для новичков и различные видео про Fable, Elmish и Event sourcing.

slamko avatar Nov 24 '21 16:11 slamko

Еще есть этот канал, где записи по разборам внутренностей компилятора есть.

Liminiens avatar Nov 24 '21 17:11 Liminiens

https://github.com/fsharplang-ru/pulsar-client-dotnet - проект, где люди могут попрактиковать свои начинающие F# скилы и одновременно поработать над чем-то полезным, поддержка гарантирована :)

Lanayx avatar Nov 24 '21 20:11 Lanayx

Привет, я оставлял комментарий во время стрима, по поводу того зачем пиарить F# с помощью ФП, а не как хорошую альтернативу C#. Моя мысль заключалась в том что эта стратегия по моему уже 10лет не дает никаких плодов, и вроде сам Дон в своих докладах это подтверждает. Парадигмы программирования интересны, но только как ориентир направления изучения, в действительности никто не пишет код на чистом ООП и ФП, в стандартном web проекте на C# от ООП только классы как контейнеры для данных и функций и интерфейсы, и повсюду много лямбд. Само изучение ФП ничего не даст, потому что в действительности человек когда возьмет F# и начнет писать, что-то более менее сложное, он увидит что придется писать классы для работы со сторонними библиотеками и то, что дает .Net, и делать мутации, в том же Giraffe он будет использовать стандартный DI из ASP.Net , а не то чему учат делать в ФП статьях, и у человека будут странные ощущения обмана. При этом ООП часть у F# сделана намного приятнее чем в C#, но почему то про это нигде не пишут, только в книге "Expert F#". Язык богат на возможности. Мне кажется было бы прикольно запилить демонстрационный проект, где показать использование всех сторон F# с комментариями по типу https://docs.microsoft.com/ru-ru/dotnet/architecture/cloud-native/introduce-eshoponcontainers-reference-app

SlavkaOnline avatar Nov 25 '21 21:11 SlavkaOnline

@SlavkaOnline Привет!

По поводу пиара: это в общем-то не цель репозитория и этой issue, здесь мы собираем именно ресурсы для изучения. То, что F# не стоит пиарить как better C# это чисто мое и Вагифа мнение и не очень хочется спорить об этом здесь, можно с этой дискуссией в F# чат уйти :)

По поводу демонстрационного проекта: подумаем, идея неплохая. Но вообще — мне кажется, были доклады с подобными классными демонстрациями. Надо будет поискать, наверняка и их демонстрационный код доступен на Гитхабе.

nevoroman avatar Nov 26 '21 09:11 nevoroman

По поводу демонстрационного проекта: подумаем, идея неплохая.

Сам как-то решил поискать на гитхабе "реальные" проекты на F#. Наткнулся на один проект - https://github.com/serjKim/CarParking.

A "real" web app written on F#. The goal is to demonstrate an interaction between F#, SQL database and frontend part.

Архитектурно поделён на такие части как Core, DataLayer, Workflow, Error, WebApi и WebUI.

Мне кажется, может быть интересно.

gustav21 avatar Nov 28 '21 15:11 gustav21

На "dotNETConf: Focus on F#" был перфоманс с Гвидо ван Россумом, его Дон Сайм погружал в F# (вернее в SAFE Stack): https://youtu.be/e2J9PGC-K1E

Для этого был создан репозиторий, с задачами, которые можно пройти самому: https://github.com/dsyme/guido-learns-fsharp В README информация о том как запустить и выполнять задачи, в ветке solution решение, ещё есть презентация

prekel avatar Nov 30 '21 14:11 prekel