

Interview with Don Syme, the inventor of F# - profquail
http://www.simple-talk.com/opinion/geek-of-the-week/don-syme-geek-of-the-week/

======
chwolfe
"...nothing beats the uses of F# to implement statistical machine learning
algorithms as part of the Bing advertisement delivery machinery." For those
interested, I found a bit more information here (AdPredict):
[http://www.slideshare.net/lgayowski/taking-functional-
progra...](http://www.slideshare.net/lgayowski/taking-functional-programming-
into-the-mainstream-eclipse-summit-europe-2009)

------
Fixnum
"According to many developers, it is the most original new face in computer
languages since Bjarne Stroustrup developed C++ in the early 1980's."

Uh, isn't F# mostly a derivative of OCaml (and Haskell)?

~~~
lssndrdn
It is a derivative of oCaml and Haskell, but it's also a multi-paradigm
language that borrows from C# and Python. It has elements of imperative and
OO.

I don't know if it really is "the most original new face", and could be
critized for trying to bring too many things into one, but it's not just a
clone of Haskell or OCaml.

[edited typo]

~~~
gnosis
OCaml is also a multi-paradigm language, in which you can program in
imperative, functional, and object-oriented styles.

Sorry, but F# basically _is_ OCaml. F# code can even be compiled in an OCaml
compiler, often without modification.

The only credit I'll give Microsoft here is in not picking a shitty technology
to copy, like they usually do (like Java for C# or VMS for NT).

~~~
tedunangst
"F# code can even be compiled in an OCaml compiler, often without
modification."

I think you have that backwards. The #light syntax preferred by F# is not
compatible with ocaml. ocaml and the non light syntax are about the same
though.

------
plinkplonk
"F# also has a feature called ‘computation expressions,’ and we’re
particularly happy with the unity we’ve achieved here. "

Computation Expressions aka Monads

"The designers of F# use term "computation expression" and "workflow" because
its less obscure and daunting than the word "monad." [1]

Monads for Morts? seriously though, is anyone really _daunted_ by Monads?

It is a great interview. Thanks for posting. F# is one thing I respect MS for.
Linux/OSX really has no equivalent[2]. The ocaml implementation has a lot of
catching up to do and Mono is a steaming pile of crap.

[1]
[http://en.wikibooks.org/wiki/F_Sharp_Programming/Computation...](http://en.wikibooks.org/wiki/F_Sharp_Programming/Computation_Expressions)

[2] Equivalent _to F#_. HAskell is a different (but awesome) language ,
thankfully available on all platforms

~~~
barrkel
I can't agree that Mono is a "steaming pile of crap". Mono lets me run my .NET
utilities on OpenSolaris; that all by itself makes it a win and most
definitely non-crap for me.

My primary problem with it is its lack of a production grade precise
compacting garbage collector.

~~~
runT1ME
>production grade precise compacting garbage collector

Yeah, this is a big letdown. I'm surprised Novell can't devote the resources
to finishing a halfway decent collector.

------
lstoakes
F# really is a wonderful programming language; I do think that the F# team,
not to mention many F# developers undersell its beauty and usefulness simply
as a general programming language, there always seems to have to be a
mitigation such as 'it's complimentary to C#', etc., pity the language's
creator goes along with that.

F#'s pattern matching and type inference alone are easily superior to
equivalent C# code, pretty well objectively, not to mention natural
immutability and inbuilt tuples; all of these features very quickly feel vital
and are missed in other languages; not to mention the inherent usefulness of
F# for concurrent programming.

With Mono you can use F# perfectly well in linux + on mac too, so there's no
excuse for not trying it :)

------
kristiandupont
This is a nit, but wouldn't "designer" be a better word than "inventor"?

~~~
profquail
Perhaps. I was trying to think of the right word when I submitted the story; I
think some people consider themselves "inventors", some "designers", and some
(mostly mathematicians) "discoverers".

