6 ms·
Interview with Don Syme, the inventor of F#
- chwolfe 17y ago"...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-programming-into-the-mainstream-eclipse-summit-europe-2009 http://www.slideshare.net/lgayowski/taking-functional-progra...
- plinkplonk 17y ago"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_Expressions http://en.wikibooks.org/wiki/F_Sharp_Programming/Computation... [2] Equivalent to F# . HAskell is a different (but awesome) language , thankfully available on all platforms
- deleted 17y ago[deleted]
- barrkel 17y agoI 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 17y ago>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.
- deleted 17y ago[deleted]
- lstoakes 17y agoCould you justify why you think Mono is a 'steaming pile of crap'?! I've found it to be rather wonderful, not to mention that F# itself works perfectly fine under Mono.
- Fixnum 17y ago"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)?
- gnosis 17y agoYes. I'd much rather read an interview with Xavier Leroy, inventor of OCaml (which F# is basically a Microsoft appropriation of). Kind of ironic, but quite typical, that the people who really deserve the credit get passed over in favor of imitators.
- lssndrdn 17y agoIt 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 17y agoOCaml 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 17y ago"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.
- gaius 17y agoWhy do you say VMS is "shitty"? Linux is 15-20 years behind it on clustering alone...
- kristiandupont 17y agoThis is a nit, but wouldn't "designer" be a better word than "inventor"?
- profquail 17y agoPerhaps. 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".
- lstoakes 17y agoF# 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 :)