Desmond File

Blog archive

Microsoft Looks Sharp with F#

Visual Studio is adding another native programming language in the form of F#, a typed functional programming language originally developed by Microsoft Research in Cambridge, England.

When Soma Somasegar revealed Microsoft's F# plans on his blog, it signaled an important step forward for Redmond. As corporate VP of the Developer Division at Microsoft, Somasegar has been keen on the benefits of functional programming, which promises to free coders to tap the power of advanced, multi-core processors and expansive grid computing networks.

With the introduction of F#, developers will gain access to a functional programming language in Visual Studio that's fully compatible with the .NET object model and libraries, and plays well with other .NET languages and resources like WPF and DirectX.

"This is one of the best things that has happened at Microsoft ever since we created Microsoft Research over 15 years ago," Somasegar wrtes in his blog entry. "We will be partnering with Don Syme and others in Microsoft Research to fully integrate the F# language into Visual Studio and continue innovating and evolving F#."

In his own blog, Microsoft researcher Syme writes:

Looking ahead, we'll be initially focused on putting the finishing touches on "V1" of the language design, improving the compiler, tools and Visual Studio project system, completing the language specification and augmenting F# with the libraries and tools needed to make it truly powerful in application areas particularly suited to functional programming.

This is exciting stuff, frankly, even if it won't immediately change the day-to-day jobs of most .NET developers. With F#, Microsoft is setting the direction toward the future of programming, one defined by multi-core processors, grid-enabled applications and intelligent abstraction. During an earlier interview, Microsoft Fellow Anders Hejlsberg gave us an idea of what he expected down the road:

There was once a hope you could just type "/parallel" in your compiler and it could take advantage of multiple processors. Well no, unfortunately that's not panning out. You need to write your program in a different way that is more amenable to execution by smarter infrastructure. And declarative programming and functional programming are probably the best candidates today for really taking advantage of all of that multi-core power we are getting.

What do you think of the addition of F#? And what new languages or other changes would you like to see Microsoft add to .NET and Visual Studio? E-mail me at mdesmond@reddevnews.com.

Posted by Michael Desmond on 10/31/2007


comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube