REDMOND, WA - Sadly, after nearly four years of stringing developers along with Microsoft's longest touted non-product, F# was accidentally checked into the Visual Studio 2010 source tree Microsoft sources report. This mistake killed what would have been one of Microsoft's most popular vaporware project by giving it an actual release date.
The checkin was made by an intern, who was simply experimenting with his new Visual Studio Team Foundation Server enlistment. As a result of the checkin the F# compiler and project system will eventually ship with the next release of Visual Studio, Microsoft's premier development tool.
When asked about the event, senior researcher and language creator Don Syme lamented:
“It’s crazy. I mean, what do we do now - we can’t get it out. I was just working on F# as a way of getting out of all of those boring academic conferences. A way of looking busy for my boss. Then I come back from lunch Monday and the sucker was checked-in. This is a total ******* catastrophe.
I really don’t understand this place, you think we would have learned our lesson. You know those .NET Generics – same thing there too. Once Microsoft, always Microsoft – this place never changes.”
In fact, the entire F# team was shocked to hear the news. Developer Brian McNamara was quoted, “I didn’t sign on to work 80-hours a week only to have my code released to the world. This sucks, you mean to tell me that now people are going to actually use F#?”
Luke Hoban, program manager for the project was also troubled:
“Giving demos with this functional programming stuff is one thing; but an actual F# product is definitely another. If we ship it people will actually expect F# to be usable. You know, solve real world problems and stuff. This changes our whole strategy. When we were just demoing all we had to worry about was style. Substance on the other hand requires hard work.”
According to Hoban, most vaporware projects at Microsoft get terminated long before they build up much hype. F# was one of the company's most successful vaporware projects until last Monday. "We were able to keep up the illusion of shipping for so long by putting out CTP and beta releases. We probably could have probably shipped those things for another few years before people caught on that we never actually intended to ship F# in an officially supported release."
Currently the F# team in Redmond, Washington is scrambling to recover. Developer Jomo Fisher set up an emergency meeting with Senior Vice President S. Somasegar to discuss the potential ramifications of introducing .NET developers to functional programming.
The impact of this news is slowly being felt across the broader .NET developer community as well. Matthew Podwysoki, an avid F# blogger, was frustrated to hear the news:
“The bleeding edge of software has always been vaporware. Actually shipping F# in a box is so banal. How else am I supposed to impress people if not by saying that I know F#, a space-age programming language that you’ve never heard of.
Not everybody reacted as emotionally to the news. Program manager Dustin Campbell tried to give perspective:
“Sometimes even the most promising projects ship. It happens. It is just part of software development. Either through good management, realistic schedules, or solid programmers some projects actually complete on time.
You just need to hope your next project will turn out better. If I were those F# guys, I’d be twice as lackadaisical in the planning of version 2.0.”
It may take weeks or even months for the team to cope with the unexpected realization that F# will eventually become a reality in Visual Studio 2010. In the mean time, you can protect yourself from productivity improvements induced by the language by avoiding any future Beta or CTP releases of Visual Studio 2010.
When Visual Studio 2010 is released, your best and only defense is to be prepared. Microsoft has began recommending that interested developers watch Luca Bolognese’s presentation titled An Introduction to Microsoft F#.
Check back here for more information on this story as it develops.