C9 Lectures: Dr. Don Syme - Introduction to F#, 1 of 3
- Posted: Feb 04, 2010 at 2:15 PM
- 82,427 Views
- 16 Comments
Download
How do I download the videos?
- To download, right click the file type you would like and pick “Save target as…” or “Save link as…”
Why should I download videos from Channel9?
- It's an easy way to save the videos you like locally.
- You can save the videos in order to watch them offline.
- If all you want is to hear the audio, you can download the MP3!
Which version should I choose?
- If you want to view the video on your PC, Xbox or Media Center, download the High Quality WMV file (this is the highest quality version we have available).
- If you'd like a lower bitrate version, to reduce the download time or cost, then choose the Medium Quality WMV file.
- If you have a Zune, WP7, iPhone, iPad, or iPod device, choose the low or medium MP4 file.
- If you just want to hear the audio of the video, choose the MP3 file.
Right click “Save as…”
- High Quality WMV (PC, Xbox, MCE)
- MP3 (Audio only)
- MP4 (iPod, Zune HD)
- Mid Quality WMV (Lo-band, Mobile)
F# is Microsoft's first functional programming language to be included as one of Visual Studio's official set of languages. F# is a succinct, efficient, expressive
functional/object-oriented programming language under joint development by Microsoft Developer Division and Microsoft Research. During the course of
Erik Meijer's fantastic lecture series on functional programming fundamentals
several of you asked for examples of specific topics in F#. Well, we listened.
Dr. Don Syme is a principal researcher in MSR Cambridge. He has a rich history in programming language research, design, and implementation (C# generics being one of his most recognized implementations), and is the principle creator of F#. Who better to lecture on the topic than Don? This three part series will serve as an introduction to F#, including insights into the rationale behind the history and creation of Microsoft's newest language.
Part 2
Part 3
Get the slides for this lecture here.
Read Don's Blog.
Dr. Don Syme is a principal researcher in MSR Cambridge. He has a rich history in programming language research, design, and implementation (C# generics being one of his most recognized implementations), and is the principle creator of F#. Who better to lecture on the topic than Don? This three part series will serve as an introduction to F#, including insights into the rationale behind the history and creation of Microsoft's newest language.
Part 2
Part 3
Get the slides for this lecture here.
Read Don's Blog.
Comments Closed
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.
Follow the Discussion
Really looking forward to watching this!
Wow! I was not suspecting this. Putting F# aside for a moment, we all owe Don a pint for giving us generics!
Salut!
C
Very insightful. I really like this language, it's an advancement over C# in many ways.. I really like the fact that this language uses indentation instead of sentinels like { } for code blocks; that allows for both unstructured and non-OO programming; that it has an interactive shell; that it has a range operator and pipelining built in; and that it has BigInt literals (actually .NET didn't get BigInt until recently); and that map is apparently an important part of the language. Really cool stuff.
There should be a homework thing at the end though IMO. That helps audience participation.
hi there, that's in Romanian btw, interesting choice
C9 is multicultural
C
dot_tom wrote ... "we all owe Don a pint for giving us generics!" ...
True, but dont forget Andrew Kennedy!! We owe him a pint for generics too!
This is sensational!! I'm really looking forward to this! Thanks to the great Eric Meijer ... thanks to Don Syme for doing this series! and thanks to Charles for helping make it happen! We love technical content on channel9! Please keep it coming!
kf
I am not sure if there has ever been a better time to be a programmer. It is simply fantastic that we can watch and learn from the greatest tool makers around, in an on-demand fashion. Not to mention the incredible speed in which the tools are improved, the quality of the delivered product, and the swiftness that they make it into my reach. This place is wonderful! My only hope is that the presenters take as much out of these experiences as the members watching in their homes and workplaces do.
-Josh
In case you missed it, there's a great interview with Erik on Hanselminutes.
thanks!!
I spent a while figuring out how to change the font for the F# Interactive window in VS 2008. It's Tools -> Options -> Environment -> Fonts and Colors -> Output Window.
I love it, more Dr Syme. I can't wait to start rolling in F# in our current product line.
The link for the ipod version of the file is not working, can somebody please fix it.
Thx
Excellent stuff!
I don't know if this is going to be covered, but perhaps Don could address the shift in thinking for problem solving from an OO perspective to problem solving from a functional perspective.
eg1 In this lecture, Don did make a comment in passing that with OO fundamentally you look for, develop and end up with a class hierarchy. What would be the FP equivalent? Is it something like functional decomposition? So whatever I am developing, for example, my top level is something like X is a function of Y. and then Y gets decomposed into subexpressions etc?
eg2 I'm just reading Tomas Petricek's Real World Functional Programming and as he explains Pattern Matching and provides the C# switch equivalent, I immediately think (rightly or wrongly) of the "Replace Conditional With Polymorphism" refactor pattern - but perhaps this mindset is no longer appropriate in an FP world.
Many thx again
Simon
Link to part 2:
http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Don-Syme-Introduction-to-F-2-of-3/
The link for the lecture slides is dead.
Also, there's a typo in the side-by-side C# and F# code shown at 9 minutes -- Console.WriteLine(a); on the C# side should be Console.WriteLine(a());, as a is a method rather than a property.
Remove this comment
Remove this thread
close