Feeds

Microsoft stealth launches 'historic' programming language

Hidden F# strikes right note

  • alert
  • submit to reddit

Combat fraud and increase customer satisfaction

Launching a new language is easy - getting it used is hard. The combination of existing code and existing skills is a strong barrier to adoption, and even excellent languages like Ruby and Python have struggled to break out of their niches.

What hope is there for F#, the new language that Microsoft has sneaked into Visual Studio 2010, launched this month?

"I think it's an amazing moment," says its principal designer, Microsoft researcher Don Syme, an Australian now based in Cambridge. "It represents part of the history of programming language design and development here in the UK."

Perhaps it does. But you would not know it from most of Microsoft's marketing effort for the new Visual Studio. F# tends to get lost in the fuss about other new features. I downloaded Microsoft's Why upgrade to Visual Studio 2010? white paper and not only is F# missing from the "Top ten reasons to buy" - it's not actually mentioned at all.

That is a shame. F# is a functional programming language, and there are good reasons why functional programming deserves wider use, such as its suitability for the concurrent programming required for optimal performance on today's multi-core systems.

F# is also succinct. During a talk at the recent QCon London programming conference, Syme showed a series of slides, headed Pleasure and Pain, showing how F# code can be shorter and more expressive than its C# equivalent, sometimes to the extreme.

Following his QCon talk, I spoke to Syme about the new language. How did F# begin?

"I've been doing functional programming since 1992. I had been using the ML family of languages, including standard ML and OCaml, and wanted to see that paradigm being strong on the .NET platform. We started F# as a research project. We could experiment with the functional paradigm in practice, and understand where it was most beneficial and how it would fit in."

So how does F# differ from, say, OCaml?

According to Syme: "The core language of F# is heavily inspired by OCaml. If you look back at the ML languages, the core of these languages has been surprisingly stable, from the early seventies. It's a question of what you do around that. One of the major questions is about object-oriented programming. Another question is what you would historically have called module system design. F# differs on those design decisions from other ML languages because the aim is to build a language which integrates into the .NET component development model. That means we do embrace .NET object-oriented programming.

F# versus C #

F# can be remarkably concise compared to C#

"Another major design difference is with regard to parallel programming, where we embrace the idea of lightweight threads and what we call lightweight agents in the language and in the core language. We use techniques that come from Haskell for that purpose."

Speaking to Syme, Microsoft's main motive for including F# in Visual Studio becomes clear. Functional programming is popular in the financial community, where it is used for quantitative analysis. Finance is an important market.

"We find F# is very attractive to financial analysts and quantitative experts," says Syme, the reason being that it excels in data, parallel and algorithmic programming. "F# is attractive in places where the object oriented paradigm isn't a good fit for the kind of work that's being done," he says.

If F# is mainly intended for a specific programming niche, that would explain why Microsoft is not putting much energy behind promoting it. That said, it deserves more attention because of its suitability for the concurrent programming that has become necessary in order to take advantage of today's multi-core systems.

Combat fraud and increase customer satisfaction

More from The Register

next story
OpenBSD founder wants to bin buggy OpenSSL library, launches fork
One Heartbleed vuln was too many for Theo de Raadt
Got Windows 8.1 Update yet? Get ready for YET ANOTHER ONE – rumor
Leaker claims big release due this fall as Microsoft herds us into the CLOUD
This time it's 'Personal': new Office 365 sub covers just two devices
Redmond also brings Office into Google's back yard
Ubuntu 14.04 LTS: Great changes, but sssh don't mention the...
Why HELLO Amazon! You weren't here last time
Patch iOS, OS X now: PDFs, JPEGs, URLs, web pages can pwn your kit
Plus: iThings and desktops at risk of NEW SSL attack flaw
Next Windows obsolescence panic is 450 days from … NOW!
The clock is ticking louder for Windows Server 2003 R2 users
Batten down the hatches, Ubuntu 14.04 LTS due in TWO DAYS
Admins dab straining server brows in advance of Trusty Tahr's long-term support landing
Red Hat to ship RHEL 7 release candidate with a taste of container tech
Grab 'near-final' version of next Enterprise Linux next week
Apple inaugurates free OS X beta program for world+dog
Prerelease software now open to anyone, not just developers – as long as you keep quiet
prev story

Whitepapers

Mobile application security study
Download this report to see the alarming realities regarding the sheer number of applications vulnerable to attack, as well as the most common and easily addressable vulnerability errors.
3 Big data security analytics techniques
Applying these Big Data security analytics techniques can help you make your business safer by detecting attacks early, before significant damage is done.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Securing web applications made simple and scalable
In this whitepaper learn how automated security testing can provide a simple and scalable way to protect your web applications.
Combat fraud and increase customer satisfaction
Based on their experience using HP ArcSight Enterprise Security Manager for IT security operations, Finansbank moved to HP ArcSight ESM for fraud management.