Adventures in .NET

.NET 012: F# with Phillip Carter


Listen Later

In this episode of Adventures in .NET the panel interviews Phillip Carter. Phillip works on the .NET team. His primary focus is F# and F# tooling. Phillip starts off by explaining that F# is a functional programming language, whereas C# is an object-oriented language. Phillip explains how F# is a nice way for those who want to do functional programming to do so with a full ecosystem and quality tools and libraries.  Phillip explains how F# is used in .NET. Some prefer to use only F# but the major mix and match F# and C#. He shares projects he has done mixing and matching F# and C#, explaining how he did and the other methods used to use both F# and C#.  The panel discusses the popularity of F# and where it is most well known. Phillip shares the two biggest sites where F# sharp is used are Jet and Walmart e-commerce, their backends are build using an F# microservice. He explains that a lot of financial institutions use F# in their backends as it is good for number crunching. The panel considers the growth of F# since .NET Core 2.0 was released. After .NET Core 2.0 was released F# usage spiked, F# microservices and open source projects became much more common. The panel asks Phillip about what Blazor means for F#. He explains that in the past, some people are really into Fable. This tool takes F# syntax trees into JavaScript syntax trees. Currently, the web assembly is starting to heat up now that Blazor is here. F# can plug directly into the Blazor runtime making it a pretty viable alternative.  The panel considers the mental hurdles required when switching from C# to F#. Phillip explains how that switch may be easier for some than for others. Using an example of building a web service, Phillip explains how someone approaches a process or a problem will determine how easily someone can transition from C# to F#. He elaborates, explaining that if a developer is really used to object-oriented programming and it’s patterns it may be more difficult to move to F#. The panel shares some of its views on F#, wondering if it isn’t easier to learn for those who are new to programming. Phillip considers their views and explaining that even though they can’t prove it they have also seen this possibility. At the Ignite conference, they are coming out with a preview Jupiter Notebook tooling, putting C# and F# on top and integrating it into the Jupiter ecosystem. Phillip admits they have been wondering if they might not be able to reach the non or secondary programmers more easily with F#. F# may be more familiar to those who only have a simple background in Python they picked up in college. He explains how overwhelming C# can be to someone who has never seen anything like it before.   Phillip compares the syntax of C# and F#, explaining that they are very different. F# is more similar to Python than to C#. F# is white space significant and uses type inferences. He explains how these differences might trip up someone who is familiar with C#. C# and F# have a few similarities like you can still dot into something just like in C#.   The panel wonders what kind of cooperation is seen between the F# and C# teams at Microsoft. Phillip explains that they work very closely and sharing a few examples. He worked on nullable reference types in C# 8.0. He explains that they have a mindset, they are all Microsoft in the end and what C# and F# to interoperate as best they can.  F# is currently on version 4.7, which was released with C# 8.0. He shares some of the changes made to F# with this latest version. Including, core library fixes, performance fixes and the cleaning up of little syntactical quirks. He explains that is a culmination of a lot of minor changes to improve the language. Phillip shares what’s coming in F# 5.0 which will hopefully be released with the .NET 5.0 release.  The episode ends as Phillip shares some resources for getting started with F#. He encourages everyone to give it a try. He promises that even if you decide its not for you, it will help you see your code in new ways.  Panelists
  • Shawn Clabough
  • Wade Gausden
  • Wai Liu
Guest
  • Phillip Carter
Sponsors
  • React Native Radio
  • Adventures in Angular
  • Adventures in Blockchain
  • CacheFly
Links
  • https://dotnet.microsoft.com/languages/fsharp
  • https://fsharpforfunandprofit.com/
  • https://www.microsoft.com/en-us/ignite
  • https://www.facebook.com/Adventures-in-NET-373059030062837/
  • https://twitter.com/dotNET_Podcast
Picks Wai Liu:
  • Ninety7 Loft - google home battery base
Wade Gausden:
  • Timsort — the fastest sorting algorithm you’ve never heard of 
Phillip Carter:
  • http://themlbook.com/ 
Shawn Clabough:
  • https://codeblog.jonskeet.uk 
 Special Guest: Phillip Carter.

Support this podcast at — https://redcircle.com/adventures-in-net/donations

Advertising Inquiries: https://redcircle.com/brands

Privacy & Opt-Out: https://redcircle.com/privacy

Become a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-net--6102015/support.
...more
View all episodesView all episodes
Download on the App Store

Adventures in .NETBy Charles M Wood

  • 4.8
  • 4.8
  • 4.8
  • 4.8
  • 4.8

4.8

6 ratings


More shows like Adventures in .NET

View all
Hanselminutes with Scott Hanselman by Scott Hanselman

Hanselminutes with Scott Hanselman

378 Listeners

Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

Software Engineering Radio - the podcast for professional software developers

262 Listeners

.NET Rocks! by Carl Franklin and Richard Campbell

.NET Rocks!

246 Listeners

The .NET MAUI Podcast by Microsoft

The .NET MAUI Podcast

16 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

629 Listeners

Merge Conflict by soundbite.fm

Merge Conflict

89 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

987 Listeners

Azure & DevOps Podcast by Jeffrey Palermo

Azure & DevOps Podcast

21 Listeners

Strict Scrutiny by Crooked Media

Strict Scrutiny

5,450 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

63 Listeners

RadioDotNet by DotNetRu

RadioDotNet

2 Listeners

Security This Week by Carl Franklin

Security This Week

20 Listeners

.NET Rocks! by Carl Franklin

.NET Rocks!

4 Listeners