4 ms·
I love how the article is called "Why F#" but then just extols the virtues of functional programming. I suppose more articles on FP are always a plus... However
by drcode 17y ago
I love how the article is called "Why F#" but then just extols the virtues of functional programming. I suppose more articles on FP are always a plus... However, here is a bit that should be in the article but is missing:
"Why not F# for Functional Programming?"
- It's created by Microsoft, who will drop a technology like a wet stone when it's no longer profitable and abandon developers relying on the platform.
- If you find a bug in F#, you have to pray Microsoft deems it worthy to be fixed.
- You can't learn about how F# works by studying the source code of the language.
- You have to spend lots of $$ to be able to program in F#.
- Haskell is more elegant and has a more robust community.
- You can run your code only on a Windows machine (reliably.)
There are arguments you could make defending F# as a choice (libraries, etc) but this article doesn't address those issues.
UPDATE: Ok Ok... I admit F# has decent support on other platforms at this point.
- scott_s 17y agoComparing the elegance of two languages is a matter of taste. Perhaps a better comparison is F# to OCaml, since they are both variants of ML.
- aaronblohowiak 17y ago"- You have to spend lots of $$ to be able to program in F#." "- You can run your code only on a Windows machine (reliably.)" Why not mono?
- teamonkey 17y agoEven without Mono you can download the compiler for free. On Windows you can even use it with the stripped-down Visual Studio shell. http://www.11011.net/fsharp-in-visual-studio-express http://www.11011.net/fsharp-in-visual-studio-express
- rincewind 17y ago- You have to spend lots of $$ to be able to program in F#. [...] - You can run your code only on a Windows machine (reliably.) port install fsharp
- gaius 17y agoTrue, but the thing F# has that other MLs don't is the .NET libraries. There's not much you can do with Mono F# that you couldn't do with OCaml, Mythryl, SML/NJ, MLton...
- TomOfTTB 17y agoI won't deny F# is probably the wrong choice for people who don't use Microsoft technology already. But still, many of your points are wrong or misleading: - F# is still considered an unreleased research product so you don't know what they'll do with it until it's released. It's within the realm of reason that they would submit it to a standards body like they did C# at which point your criticism is moot. - Your point about Open Source is a decent point. But people who choose closed source projects tend to do so for their own set of reasons (mostly support and the fact that they don't have the time and/or skill to look through a languages source code to figure out a bug themselves) - Again, it's unreleased and you don't know what Microsoft will do with it. At least for web development Microsoft makes free software available for using C# and VB.NET (called Visual Web Developer). They could very well integrate F# into that. - This is just opinion mixed in with conjecture (since again you're talking about an unreleased project with no real community yet) - I've used Mono and found it very reliable so this is just misleading Finally, you're quoting an article written by a guy trying to make the case to Microsoft developers. He's talking about his upcoming talk at a Microsoft conference after all.
- javery 17y agoF# is being released with Visual Studio 2010 so its not just a research product anymore right? Also the rest of the .NET framework source is available so I assume F# might be at some point as well.
- aaronblohowiak 17y ago
- chancho 17y agoStop it. You're going to summon Jon Harrop. HN is so pleasant without him.
- gaius 17y agoIt's created by Microsoft, who will drop a technology like a wet stone when it's no longer profitable and abandon developers relying on the platform I'm sorry, but I call bullshit. You can run Windows 3.1 apps on Windows 7 if you must. Say what you like about them, Microsoft's support for their own legacy code is among the best around. The one notable time when MS "abandoned" developers was VB6 -> VB.NET and there was plenty of time to migrate over. And yes Haskell is more elegant and has a more robust community but F# has all of .NET already, whereas Haskell (and OCaml, and Erlang) all suffer from a lack of commercially relevant libraries.
- rbanffy 17y agoRemember webclasses?
- felixmar 17y agoI like both Haskell and F# so perhaps i can give some reasonable counter-arguments. 1) F# will be integrated in Visual Studio 2010. Large commercial companies like banks use F#. It is very unlikely that Microsoft will drop it. 2) Actually the F# team responds very quickly to bug reports. Just send your report to fsbugs@microsoft.com 3) F# is not yet open source, but the source code is available. They have promised to eventually open source it like Microsoft has done with IronPython and IronRuby. 4) Visual Studio Express editions are free. It would be nice if MonoDevelop had a good add-on for F#. 5) No arguing with that. Haskell can be very elegant and has a very good community. 6) I could argue that F# is more cross-platform than Haskell. Despite Simon Marlow's amazing work Haskell's Windows support is lacking compared to Linux. There are no current plans for GHC to support 64-bit on Windows and several Haskell packages use low-level C libraries which can be less reliable on Windows or difficult to compile whereas the .NET framework and Mono function as a common abstraction layer between Windows and Unix.
- danek 17y agoThose of us that use F# don't really care if it doesn't run on non-windows machines. That said, it runs fine on my iMac in a windows vm :) Really though, it's a great language for writing business software to run on windows and lots of people will find this useful. Its a pragmatic language, not an idealistic one and it only makes the .NET programmer more powerful. Join the dark side