←back to thread

Why F#?

(batsov.com)
438 points bozhidar | 3 comments | | HN request time: 0.628s | source
Show context
nickpeterson ◴[] No.43546092[source]
Because it’s great, and people that think otherwise are dead to me.
replies(3): >>43546162 #>>43546305 #>>43548281 #
MrMcCall ◴[] No.43546162[source]
Curried functions combined with that magnificent pipe operator, overlaid on the .NET runtime. Don Syme et al knocked it out of the park.

It's the one programming language that changed how I think about programming.

I'm only talking about the version before type providers. Then it got messy.

Before that, we could (and I did) recompile fsi.exe to do some custom prompt manipulation. It was a slog, but it worked, but then Microsoft faded from my life. Still, that early version (I believe 2.0) F# is just magnificent.

replies(2): >>43546316 #>>43550647 #
munchler ◴[] No.43546316[source]
F# is up to version 9 now, and has only improved over time, IMHO. Type providers are a very small part of the story and can be avoided entirely if you want.
replies(3): >>43546741 #>>43546839 #>>43548606 #
1. jasonthorsness ◴[] No.43546741[source]
I tried F# when it was first released and was not a fan, but it sounds like that impression is a little outdated. C# has come so far in that time it’s almost a new language. I’ll have to take another look.
replies(1): >>43548641 #
2. MrMcCall ◴[] No.43548641[source]
I don't know what C# has for an interactive prompt nowadays, but F#'s commandline environment, via its fsi.exe, was a revelation back then. It prevented having to have entire solutions to contain test projects to explore different areas of the vast .NET framework, especially when just learning how to use specific methods or objects.
replies(1): >>43556064 #
3. DeathArrow ◴[] No.43556064[source]
For C# you can use LINQpad, a .NET scratchpad. You can even mix and match F# in it.