Тёмный

Best Resources To Learn F# In 2021 

Ben Gobeil
Подписаться 2,2 тыс.
Просмотров 7 тыс.
50% 1

For Freelance F# Software Development and Consulting, visit www.bengobeil.com/
My fundamentals tutorial:
• F# Fundamentals Tutori...
F# for fun and profit:
fsharpforfunandprofit.com/
Domain Modeling Made Functional:
fsharpforfunandprofit.com/books/
RU-vid Tech Talks:
All Scott Wlaschin's talks are great
F# in the real world: • F# in the Real World -...
Don Syme - Code I love: • F# Code I Love - Don Syme
Phillip Carter - Why you should use F#: • Why you should use F# ...
Other good tech talks I like but didn't mention:
Isaac Abraham - Go Pro on .NET: • Go Pro on .NET with F#...
Mark Seemann - The pit of success: • Functional architectur...
F# eXchange:
2020: skillsmatter.com/conferences/...
2019: skillsmatter.com/conferences/...
2018: skillsmatter.com/conferences/...
Blogs/websites:
Microsoft Docs: docs.microsoft.com/en-us/dotn...
Mark Seemann's blog: blog.ploeh.dk/
Compositional It: www.compositional-it.com/
Communities:
Reddit: / fsharp
Twitter: search?q=%23fshar...
Slack (join the F# software foundation): foundation.fsharp.org/join
F# Weekly: sergeytihon.com/category/f-we...
Awesome F#: github.com/fsprojects/awesome...
More RU-vid channels I like did not mention:
Dave Thomas (7sharp9): / 7sharp9b5
F# Online: / @fonline6018
The Dev Owl: / @thedevowl
Matthew Crews: / @fastfsharp
Timestamps:
0:00 Intro
1:40 fsharp for fun and profit (Scott Wlaschin)
3:56 RU-vid Tutorials
5:51 F# tech talks
6:24 F# eXchange
7:24 Blogs/websites
8:49 Communities
11:30 Closing thoughts
Outro:
Artist: Lakey Inspired
Song: Warm Nights

Наука

Опубликовано:

 

31 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 41   
@sgnsajgon
@sgnsajgon 3 года назад
As a former C#/.NET professional developer and now DDD/F# enthusiast, I especially like: 1) F# for fun and profit - for learning FP toolbox. Scott Wlaschin explains Category Theory (Monads, Applicatives, Functors, Morphisms) without using FP jargon which scares people who are not familiar with FP paradigm ("Monad is just monoid in the category of endofunctors, what's the problem"). 2) Scott Wlaschin's DDD book - complete implementation of exemplary business domain using FP toolset and some concepts of DDD and Onion/Pipes and Filters architecture. 3) Mark Seeman's blog - my favorite blogger in the past, great teacher of architecture related topics for .NET and also Haskell.
@tea_otomo
@tea_otomo 3 года назад
Programming C# for 5 years and will give F# a try this year, good video
@Agarwal6
@Agarwal6 2 года назад
This list is awesome. Thanks man!
@dougdodge4875
@dougdodge4875 3 года назад
Well organized, and to the point. Thanks.
@PA4KEV
@PA4KEV Год назад
Thank you for making this video, a real helpful kickstart to help me learn F#, coming from Python and PHP.
@wilmerwalton5089
@wilmerwalton5089 2 года назад
Thank you for your F# introduction.
@viniciusgajo1884
@viniciusgajo1884 3 года назад
Amazing list, thanks
@alexcampo305
@alexcampo305 3 года назад
thanks ben!!
@LooserName
@LooserName 3 года назад
Awesome! I'm currently trying to use F# in Unity, just for fun.
@Rez996
@Rez996 3 года назад
Thank you for the content, It's a blessing for a laymen like myself. A lot of the docs had way too much jargon for the more "unique" parts of F# and it made writing my notes/cheat sheet a tad difficult. I think as far as syntax is concerned the only part that throws me for a loop is the "type" keyword; It's used for so many things like some kind of magical band aid when I see it in examples, but the book I have never really explains what's under the hood of the keyword. At first I thought it was F#'s version of generics, then see other examples use it to make a 'class' or some kind of enum or struct. With no concise explanation that I can find, it just comes off as some strange entity of chaotic good that can't be contained or fully comprehended.
@bengobeil933
@bengobeil933 3 года назад
The keyword "type" is used to define types. Depending on the extra information in the definition, it will represent the definition of different data structures. type MyClass() = ... This creates a Class type because of its "()". type MyRecord = { .. } This creates a Record type because of the "{}" type IMyInterface = abstract member Derp: unit -> string This creates an interface, because its a type with only abstract members, and has no constructor "()" [] type IMyAbstractClass() = abstract member Derp: unit -> string This creates an abstract class due to the annotation. It can some abstract and concrete members. type MyDiscrimintatedUnion = JustSomeTokenIJustMadeUp This creates a single-case discriminated union, it has no "()", no members, is not abstract, and will interpret what follow as a case. It can have multiple cases, and each case and have a constructor type Fruit = Banana | Apple | Grape of System.Color Here this has three cases, and the Grape case takes a color as a constructor. All of these types (except for the ones that have abstract members like the abstract class and the interface) can be structs if they add the Struct annotation. [] type MyStruct = {Name: string} Please check out my fundamentals tutorial for more information. I also have a video on Classes, Interfaces and objects. Hope this helps.
@sgnsajgon
@sgnsajgon 3 года назад
We can also have a function signature as a type, which can be useful for modelling domain, as showed in Scott Wlaschin's book. type MyWorkflow = int -> int -> Result type MultiplicationWorkflow: Myworkflow = fun(x,y) = (...)
@jinxedz0r
@jinxedz0r 3 года назад
Awesome video! Thanks for the information although I am not a total beginner it was very useful. There is also a pretty big F# Discord server (600+ people), I can send you a link if needed.
@BayAdmiral
@BayAdmiral 3 года назад
Thank you for this video. Matthew Crews has a youtube channel. He has the mathematical way of thinking in F#.
@bengobeil933
@bengobeil933 3 года назад
I will take a deeper look, thanks.
@xosece
@xosece 3 года назад
thx for this video! Sub. I love .NET and C#, though the way my mind works, it adapt to F# more easier. In addition, I adore Discord, and there is a Discord channel for F#
@hrishikesh5707
@hrishikesh5707 Год назад
//Commenting for the algorithm
@bubblegum3665
@bubblegum3665 3 года назад
Hail the algorithm!
@nicolasgobeil32
@nicolasgobeil32 2 года назад
Cant wait to see what happens in 2022
@kenbiondi8395
@kenbiondi8395 3 года назад
Video Request: Azure functions in F#
@bengobeil933
@bengobeil933 3 года назад
Noted, by don't hold your breath. Might take awhile before I get to that. In the meantime, check out Mikhail Shilkov's blog: mikhail.io/2017/12/precompiled-azure-functions-in-fsharp/ He also has a few talks on F# eXchange, and he has good templates for azure functions in F#.
@enderluca6752
@enderluca6752 3 года назад
Video Request: How to avoid mutable Variables
@bengobeil933
@bengobeil933 3 года назад
Do you have a specific context?
@enderluca6752
@enderluca6752 3 года назад
​@@bengobeil933 In this example I check if the predecessor of each entry in a LinkedList is larger. if yes I return true if no false. let LinkListStuff(list: LinkedList): bool = let mutable _return = true let mutable node = list.First.Next for x = 1 to list.Count - 1 do if node.Previous.Value < node.Value then _return
@bengobeil933
@bengobeil933 3 года назад
It depends on the performance you need. If you need the best performance possible, mutability is probably where you will end up. Most of the time. But you can make a tail recursive function in your example. You are basically wondering if the list is sorted. let isSorted (list: int list) = let rec isSortedRec (list: int list) lastValue = match list with | [] -> true | head::tail -> if head >= lastValue then isSortedRec tail head else false match list with | [] -> true | head::tail -> isSortedRec tail head I suggest doing exercises with tail recursion and lists: www.fssnip.net/an/title/NinetyNine-F-Problems-Problems-1-10-Lists
@MuhammadAli-df4ed
@MuhammadAli-df4ed 3 года назад
Please make the tutorial on fabulous framework and discus the prons and cons.
@bengobeil933
@bengobeil933 3 года назад
I will definitely get to it eventually, currently I have a big series planned based around web and SAFE stack. I will think about how to integrate Fabulous in this picture, but I wouldn't hold my breath for now.
@MuhammadAli-df4ed
@MuhammadAli-df4ed 3 года назад
@@bengobeil933 Ok, i will wait.
@denisangelov4629
@denisangelov4629 3 года назад
"The Dev Owl" youtube channel also has some F# content
@bengobeil933
@bengobeil933 3 года назад
I had F# online there but yes I should add The Dev Owl, I was under the impression it was the same channel.
@10199able
@10199able 3 года назад
due to my poor english I keep hearing "tik-toks" instead of "tech talks" and it confuses me xD
@bengobeil933
@bengobeil933 3 года назад
lol
@airbus5717
@airbus5717 3 года назад
You Forgot the discord hmm
@MuhammadAli-df4ed
@MuhammadAli-df4ed 3 года назад
Did you use fabulous framework ?
@bengobeil933
@bengobeil933 3 года назад
Yes. Check out Tawasal Messenger on Android/iOS. It is a fabulous app. I worked with them a few months.
@MuhammadAli-df4ed
@MuhammadAli-df4ed 3 года назад
@@bengobeil933 Thanks for reply.
@MuhammadAli-df4ed
@MuhammadAli-df4ed 3 года назад
@@bengobeil933 Is it production ready ?
@bengobeil933
@bengobeil933 3 года назад
@@MuhammadAli-df4ed Yes. There might still be a few breaking changes in newer versions, but it is mostly production ready.
@MuhammadAli-df4ed
@MuhammadAli-df4ed 3 года назад
@@bengobeil933 Thanks.
Далее
Как пронести Конфеты В ТЮРЬМУ
19:16
Domain Modeling Made Functional - Scott Wlaschin
51:39
Functional Design Patterns - Scott Wlaschin
1:05:50
Просмотров 293 тыс.
F# for C# programmers - Scott Wlaschin
1:00:01
Просмотров 68 тыс.
DHH discusses SQLite (and Stoicism)
54:00
Просмотров 57 тыс.
НОВЫЕ ФЕЙК iPHONE 🤯 #iphone
0:37
Просмотров 331 тыс.
Новодельный ноутбук Pocket386
1:16:17