Introduction to Functional Programming with F# - Part 1 [Episode 001]

preview_player
Показать описание
In this episode I introduce the F# programming language and guide you through some basic functional programming concepts while showing F# language features.

Topics covered:

- What is F#?
- What is functional programming?
- How to install F#, Visual Studio Code, and the Ionide extension
- Mutable vs immutable state
- Partial application
- Currying
- Pipeline operator
- Lazy evaluation of sequences
Рекомендации по теме
Комментарии
Автор

Note: This video is from 2016, but VS 2019 comes with F# pre built in. It is in all versions including "Community"

RollinShultz
Автор

I only recently started learning F# within the last few months and now find myself reluctant to go back to other non-functional languages. The intro to this video has definitely helped me understand why I like using it so much!

millchk
Автор

Amazing! Coming from Scala, Java, Haskell, and Rust, I've fallen in love with F# and this is a fantastic introduction.

myguiltybody
Автор

Coming from a C# and C++ background, this is amazing stuff. This nailed a lot of concepts down, and I'm glad you did this.

Jamesthe
Автор

David, this is an amazing tutorial you've graciously presented! As a 57 year old newbie to programming, seeking a new career path, your videos are personally encouraging to me -- especially since I struggle with coding. Your F# series has redirected my focus FROM Python, over TO F# and the .NET world. I wish I had discovered your videos sooner. Nevertheless, thank you for such an easy-to-understand presentation!!

MrAverageViewer
Автор

What do you think about the length of the episode? Too long? Just right? Let me know!

SystemCrafters
Автор

Thanks for the video!
I'm from C# and I'm trying to learn to think functionally, is hard but it worth!
The difficult part was defining functions because of its sintax and Partial Application. Interesting!

MrJeeoSoft
Автор

I just wanted to say that this is one of the better videos not only on F#, but on programming that I've seen in general. The presentation style is really good, audio is perfect, and you do a great job at explaining things. Keep up the good work.

hobbit
Автор

Great video. I have just started playing with functional programming and F#. I really liked your explanation of why a definition of a function that takes 2 params is defined as string -> string -> string. Now it makes a lot more sense.

andys
Автор

This is one of best videos I have seen that teaches programming. It is very professionally done.

jerrykay
Автор

Even though i came here to revise my knowledge about f# and didn't hear anything new, the outro music and overall quality of the video made me smash the like button.

undeadspez
Автор

Great video. I've spent a while looking for a clear explanation on how to set up an environment to play around with F#.


One quick note though, at the 28:30 mark you say: "The first map seems to have fully completed before the prints from the second map ... or the iter have actually completed. So each one of these is completing its operation before it's getting passed to the next one." It's actually the call to Seq.sort that forces the map to complete before getting to the iter. If you comment out the call to sort the print statements will be interlaced.


Thanks again, looking forward to the rest of the series.

JoshQuintus
Автор

Great video, just long enough to get a good amount of information without being too long that you lose interest. I'll definitely subscribe to keep up with this channel.

AlexLaurie
Автор

Playing around with F#, coming from C#, I really like type inference, the pipe operator, partial application, and immutability. But in your example, I still prefer LINQ. Your example can be written in C# as follows:

names
.Select(prefixWithHello)
.Select(exclaim)
.OrderBy(s => s)
.ForEach(s => Console.WriteLine(s));

This also works well with EF. And in C# you don't need the word fun before a lambda. On the other hand, C# comes with a lot of typing noise. For example if I were to define the two functions you used, it would get very verbose. Even as lambdas:
Func<string, string> prefixWithHello = s => "Hello " + s;
Func<string, string> exclaim = s => s + "!";

MihaiAndreiStanimir
Автор

Great perspective on what makes F# great! Also, an informative jumping off point.

thatsamorais
Автор

Excellent video about F# and great mini jump start, hoping to see more.

fvs-d
Автор

I enjoyed this show! +sub. I really like the way you explain why things work instead of just showing that they do work.

MikeJohnson-gvzr
Автор

I love the rhythmic music. Especially the opening one. I also liked your apology to any expert. I'm ready to start screaming.

dosomething
Автор

When i run the code at 13:53 I only seem to get the following output in the interactive window:
namespace FSI_0002
val prefix : strONE:string -> strTWO:string -> string
Why is this code not working for me?

bubblesgrappling
Автор

great stuff, surprised how old this video is, super helpful in 2021

KeatonAnderson