Slashdot Mirror


An Interview With F# Creator Don Syme

OCatenac passes along an interview with Don Syme, chief designer of F#, which is Microsoft Research's offering for functional programming on the .Net platform. Like Scala, which we discussed last fall, F# aims at being an optimal blend of functional and object-oriented languages. "[Q] What is the best program you've seen written in F#? [A] I've mentioned the samples from F# for Scientists, which are very compelling... For commercial impact then the uses of F# in the finance industry have been very convincing, but probably nothing beats the uses of F# to implement statistical machine learning algorithms as part of the Bing advertisement delivery machinery. ... We've recently really focused on ensuring that programming in F# is simple and intuitive. For example, I greatly enjoyed working with a high-school student who learned F#. After a few days she was accurately modifying a solar system simulator, despite the fact she'd never programmed before. You really learn a lot by watching a student at that stage."

2 of 267 comments (clear)

  1. .NET Framework by Yuioup · · Score: 5, Interesting

    Last year I wanted to know what all the hoopla was about functional programming. I checked out Haskell, Scala, OCaML and F#. Coming from a Java/Delphi/C# background myself I had to go through it a couple of times before I "got" it. I'm glad I did because I banged out my first production IronPython lambda function on last Friday (yay!).

    I know that MS bashing is popular here on Slashdot, but I really want to take a moment to say that the .NET Framework really is excellent. The ability to mix and match different paradigms and languages in a clean an concise manner which is a joy to program in.

    Yeah I know patents bla bla mono bla bla Novell bla bla Miguel bla bla.

  2. Re:Looks interesting as replacement for Python by selven · · Score: 4, Interesting

    I agree that Python has some strange things about it, but look at some sample f# syntax from Wikipedia:

    let rec factorial n =
        match n with
        | 0I -> 1I
        | _ -> n * factorial (n - 1I)

    What do those funny characters mean? What's the I after the numbers? Compare to the python one liner:

    def factorial(n): return 1 if n == 0 else n * factorial (n-1)

    That makes sense even to someone with absolutely zero experience in the language.