.NET 012: F# with Phillip Carter

.NET 012: F# with Phillip Carter

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 Links Picks Wai Liu: Wade Gausden: Phillip Carter: Shawn Clabough: 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.

Episoder(236)

Checking safety in Exactly-once, TLA+ and Stronger message processing - .NET 159

Checking safety in Exactly-once, TLA+ and Stronger message processing - .NET 159

Tomek Masternak is an Engineer at Particular Software. He joins the show to talk about his video, "Checking safety in Exactly-once ". He begins by explaining what TLA+ is, the advantages and benefits of using this, the problems it solves, and many more. Additionally, he dives into "Ensuring exactly-once message processing with model checking" and talks about Stronger message processing. SponsorsChuck's Resume TemplateRaygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipLinksChecking safety in Exactly-once - Tomek Masternak, Szymon Pobiega - YouTubeThe TLA+ Home PageLearn TLA+PicksAdam - Virtual BoxMark - The RecruitTomek - AsianometryShawn - AhsokaSupport this podcast at — https://redcircle.com/adventures-in-net/donationsAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-net--6102015/support.

3 Okt 202353min

Get Interactive with Jupyter Notebook - .NET 158

Get Interactive with Jupyter Notebook - .NET 158

Ron Dagdag, lead software engineer at Spacee, joins us to get interactive with Jupyter Notebook. It is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Microsoft has embraced Jupyter Notebook with the open source .NET Interactive project. The more we discussed Jupyter Notebook the more ways we came up with to use it. For instance Ron uses it for a lot of his demos and you can share it with someone without them having to install anything because it runs in the browser. Do you have any ideas on how to use Jupyter Notebook? If so share it with us on Twitter at @dotnet_Podcast.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksGitHub | dotnet/interactive.NET Interactive Architectural OverviewUse Jupyter with .NET Interactive on Binder.NET Jupyter PresentationGitHub | rondagdag/dotnetcode-jupyter-talkBinderSandDanceRon Dagdag's ProjectsLinkedIn: Ron DagdagTwitter: Ron Dagdag ( @rondagdag )PicksCaleb- DampRidRon- Azure Percept Shawn- LiteDBWai- ParalympicsSupport this podcast at — https://redcircle.com/adventures-in-net/donationsAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-net--6102015/support.

26 Sep 202337min

Integration Testing - The Why and How - .NET 157

Integration Testing - The Why and How - .NET 157

We talk to Martin Costello - a .NET developer with a QA background - about integration testing. We walk through the different types of automated testing and discuss the benefits and purpose for each type.Martin introduces us to useful tools he uses to write tests within the .NET ecosystem and discusses what we should and shouldn't be testing as well as the metrics that are important when evaluating how well tested your code is.SponsorsChuck's Resume TemplateRaygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipLinksIntegration Testing Techniques for ASP.NET CoreReliably Testing HTTP Integrations in a .NET Application 1Writing Logs to xunit Test OutputIntegration testing AWS Lambda C# Functions with Lambda Test ServerIntegration Testing ASP.NET Core Resources Protected with Antiforgery Using Application PartsGitHub - coverlet-coverage/coverlet: Cross platform code coverage for .NETGitHub - martincostello/sqllocaldb: SQL LocalDB Wrapper is a .NET library providing interop with the Microsoft SQL Server LocalDB Instance APIGitHub - justeat/httpclient-interception: A .NET Standard library for intercepting server-side HTTP dependenciesGitHub - martincostello/xunit-logging: Logging extensions for xunitGitHub - martincostello/lambda-test-server: A NuGet package that provides an in-memory test server for testing AWS Lambda functionsGitHub - martincostello/dotnet-minimal-api-integration-testing: An example of integration testing ASP.NET Core 6 Minimal hosting and actionsTwitter: Martin Costello ( @martin_costello )PicksMartin- What We Do in the ShadowsShawn- Introducing Your Seattle KrakenWai- Young Sheldon (Official Site) Watch on CBSSupport this podcast at — https://redcircle.com/adventures-in-net/donationsAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-net--6102015/support.

19 Sep 202349min

Designing C# with Mads Torgersen - .NET 156

Designing C# with Mads Torgersen - .NET 156

In this episode, we get the pleasure of picking the brain of the lead designer of C#, Mads Torgersen. Mads has been the lead designer for more than five years now and has worked on the language for over fifteen years. Our discussion covers multiple topics including the growth of C#, being backward compatible and how different languages incorporate ideas from each other. We also dig into the specifics of things like async/await, default interfaces and dynamics. On top of all that we get a peek at the future of C# and what we might see in the next couple of versions. What would you ask Mads about C# if you had the chance? Let us know on Twitter at @dotnet_Podcast.SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksC#'s Functional JourneyPicksCaleb- Trader Joe’s Moroccan Mint Gree TeaMads- Termination ShockShawn- Wave Mic Arm LP | elgato.comWai- Walkabout Mini Golf on Oculus QuestSupport this podcast at — https://redcircle.com/adventures-in-net/donationsAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-net--6102015/support.

12 Sep 202328min

Microsoft in Uncharted Territory with Richard Campbell  - .NET 155

Microsoft in Uncharted Territory with Richard Campbell - .NET 155

Richard Campbell is an Advisor, Creator, and Storyteller. They dive into the fascinating world of writing a history book, navigating through different versions of events, and seeking inspiration from pivotal moments. They also explore Microsoft's surprising involvement in large language models, the impact of the iPad on the tech industry, and the ongoing quest for effective client-side development. Additionally, they discuss the evolution of artificial intelligence and its perception in society. SponsorsChuck's Resume TemplateRaygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipSocialsLinkedIn: Richard CampbellPicksAdam - API MonitorAdam - Entertainment ScienceChristian - TetrisMark - Named Pipes - Win32 appsMark -  PlatonicShawn - Skechers Arch FitRichard - Windows WhiskySupport this podcast at — https://redcircle.com/adventures-in-net/donationsAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-net--6102015/support.

5 Sep 20231h

Discovering Grace with Scott Arbeit - .NET 154

Discovering Grace with Scott Arbeit - .NET 154

Scott Arbeit is a Super-technical architect at GitHub. He joins the show to talk about his project, "Grace". It is a modern, cloud-native version control system, written in F#. They begin by sharing their own perspective on why they believe "Git" is unique and popular. Additionally, he explains his project, how it works, its features and how it improves user experience. SponsorsChuck's Resume TemplateRaygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipLinksGraceA case of computational thinkingGitHub: martinvonz/jjSocialsscottarbeit.com GitHub: ScottArbeitTwitter: ScottArbeitPicksAdam - Windows-Apps-Hub/UnitedSetsChristian - kucherenko/jscpdScott- DaprScott - Message processing failed! But what's the root cause? - Laila Bougria - NDC Oslo 2023Shawn - FotorSupport this podcast at — https://redcircle.com/adventures-in-net/donationsAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-net--6102015/support.

22 Aug 202358min

C# and .NET for Developing Modern SaaS Applications - .NET 153

C# and .NET for Developing Modern SaaS Applications - .NET 153

Andy Watt is a Senior Software Engineer. He returns to the show to talk about his book, "Building Modern SaaS Applications with C# and .NET". He begins by explaining what "Software as a Service" is all about. He also tackles the main concerns you might encounter when creating SaaS applications. Additionally, he dives into the pros and cons of using C# and .NET to create modern SaaS applications. SponsorsChuck's Resume TemplateDeveloper Book ClubBecome a Top 1% Dev with a Top End Devs MembershipLinksBuilding Modern SaaS Applications with C# and .NETSocialsLinkedIn: Andy WattTwitter: @AndyWatt83 PicksAdam - InVideoAndy - TestContainersMark - Costa Rica, UPS for your routerShawn - WarriorSupport this podcast at — https://redcircle.com/adventures-in-net/donationsAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-net--6102015/support.

15 Aug 202353min

Interconnection of the Messaging Platforms - .NET 152

Interconnection of the Messaging Platforms - .NET 152

Adam, Christian, and Mark join this week's panelist episode to talk about intercommunication across various messaging applications. Adam takes the lead as he explains his project, which is a Messaging platform that integrates multiple communication networks. He discusses its advantages, significance to .NET, how it is being implemented, and many more!SponsorsChuck's Resume TemplateRaygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipPicksChristian - Hijack (TV Series 2023– ) - IMDbMark - Barbie (2023)Support this podcast at — https://redcircle.com/adventures-in-net/donationsAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-net--6102015/support.

1 Aug 20231h 4min

Populært innen Business og økonomi

stopp-verden
dine-penger-pengeradet
e24-podden
rss-penger-polser-og-politikk
rss-borsmorgen-okonominyhetene
tid-er-penger-en-podcast-med-peter-warren
pengepodden-2
finansredaksjonen
utbytte
morgenkaffen-med-finansavisen
rss-sunn-okonomi
livet-pa-veien-med-jan-erik-larssen
aksjesladder
stormkast-med-valebrokk-stordalen
stinn-av-gryn
lederpodden
pengesnakk
rss-impressions-2
aksjepodden
lederskap-nhhs-podkast-om-ledelse