F# No Longer Vaporware


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#?”


clip_image002


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.”


Below is an image the F# team was hoping to only mock up using PowerPoint and MSPaint. But after the source code accident, the screen shot is from an actual build of Visual Studio 2010.



F# in Dev10 


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.


If it becomes mainstream then I’ll probably have to learn something else. I mean, what’s next? People writing books for O’Reilly and putting flesh-eating demons on the cover? Come on.”


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.

Comments (20)

  1. Hey, congratulations!!

    But… does this mean we won’t get a VS-2008 compatible Christmas present this year? 🙂

  2. Bruce Williams [MSFT] says:

    That picture links to the C: drive on your computer…

  3. ChrSmith says:

    Thanks for informing me about the image link problem, not sure what the deal was there.

    As for the VS-2008 compatible Christmas present, check out Don Syme’s latest post. We will put out another VS2K8-compatibile F# release in the future.

  4. lb says:

    Awesome!

    and very nicely written, Chris.

  5. James Bender says:

    Great stuff!

    Been diggin’ F# for awhile and looking forward to seeing it in the next release.

    Congrats!

  6. James says:

    haha reads like an onion article

  7. SomeOne says:

    Hey,

    I don’t quite understand. What about reverting the changes in the VCS?

  8. Chris Bogart says:

    Oh, right, blame the intern 🙂

  9. abcd efg says:

    I didn’t get it either. Is this an irony, or is the team really unhappy about it ?

  10. Kaveh says:

    Look! I am a little confused. I mean I like F# and I have done some F# but really: is this or was this the process of releasing F#???? :O

  11. ChrSmith says:

    Perhaps my writing isn’t as clear as I would have liked. This is a work of _fiction_, the F# team is very pleased to be a part of Visual Studio 2010. And no, it wasn’t because of some intern. We have been working very hard for the past few months to make it happen.

    I was trying to go for a some Irony, like The Onion.

    http://en.wikipedia.org/wiki/Irony

    I hope you enjoy the post!

  12. Govind says:

    F# == C# done right(with cleaner syntax, less # of limiters etc – they forgot to remove let, ";;" etc…)

    Just haskelly goodness of defining variables would have done it. What is the reason of having let around?

  13. F#’n GR8!!

    Can’t wait to unwarp it.

    Congratulations to all.

  14. Pramod says:

    >     “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.

    >

    >    If it becomes mainstream then I’ll probably have to learn something else. I mean, what’s next? People writing books for O’Reilly and putting flesh-eating demons on the cover? Come on.”

    ROFL

  15. Erik Cox says:

    Well after reading what the creators of #F said about #F….I have to wonder will it be usable or will it be just a toy that you can’t play with…

    Erik Cox

    http://www.notionsolutions.com

  16. James Iry says:

    Congratulations on the birth of your new lambda baby.  Even if it was the result of too much drinking an not enough release control prophylactic.

    As a BTW, the finalist list for the this year’s Jolt awards includes both Programming in Scala and Real World Haskell (http://www.joltawards.com/finalists.html).  Ignoring the strange omission of at least Expert F#, and whether or not either book wins, the fact that such books can even make a list like that is a huge sign that functional programming is high on the mainstream radar.

    Also, remember every day that a monad is a monoid in the category of endofunctors.  I find that bit of wisdom helpful in my day to day toils and I thank you for sharing it with me.

  17. Chris Smith from the F# team has recently posted some "interesting" news: http://blogs.msdn.com/chrsmith/archive/2008/12/10/f-no-longer-vaporware.asp

  18. Kirill Osenkov says:

    "According to Hoban"…

    "Microsoft sources report"…

    I laughed my AssemblyNameProxy off 🙂

  19. Lynn Langit says:

    love F#, well-written blog post, gave me a (needed) smile for the day – thanks!

  20. Also this which explains more…   Chris Smith’s completely unique view : Due out Next Year –