Live data from Hacker News

Ask HN: Why isn't F# more popular?

news.ycombinator.com

51–60 of 115 posts

Re: Ask HN: Why isn't F# more popular?

#51
post #42

Earlier quoted context omitted.

I think you're forgetting what it was like to learn your first programming language. A lot of concepts in procedural programming and OOP are hard to wrap your head around at first (static, by ref or by val, the difference between base classes and interfaces).

You don't have to learn any of this in python, ruby or php. Oop or functional doesn't need to mean low level. Lower level is harder no matter the paradigm. The features I mentioned are functional no matter the level.

Neither callbacks nor dependency injection are functional concepts, and implicit loops are pervasive in Ruby (and non-linear control flow in general). OO in Ruby is quite a long way from structs + function pointers.

Re: Ask HN: Why isn't F# more popular?

#52
While I was doing .Net (up until a couple years ago) I really wanted to use F#. But:

- Microsoft had no real support for using it in web projects.

- Functional programming would be great for data transforms in SSIS but that wasn't possible either. You'd think with a common VM you could use any .Net language, but no.

Microsoft has always treated it as a non-mainstream language, saying "do the regular stuff in C# and use F# for the hard stuff." The problem is that C# isn't terrible for hard stuff, and if you spend most of your time using C#, then for you it's probably better.

Re: Ask HN: Why isn't F# more popular?

#53
post #49

Most of the programmers do programming for a living. They are not passionate programmers who like to learn new languages. They care about getting things done. Since Java, C#, Python, JavaScript, Ruby and Rails, PHP are all popular and have huge library ecosystem around them, for most of the 9 to 5 programmers, there is little incentive learn any functional language. Also since all popular and dominant languages are e…

Agreed. I have tried using F# in my company but gave up after a while. Reasons: - it's hard to hire people - most libraries are written for OO style so most code will be written OO style - most sample code is written in C# - C# is a pretty nice language. Does F# really provide an advantage? - will MS abandon F#? I really would like to see a clear case for F#. When you consider factors like hiring and existing ecosyst…

> it's hard to hire people

Many other commentators said something like this, so it seems to me that:

Not many people are using F#, because it's hard to find employer who needs F#. And employers don't seek for F# programmers, because there are too few of them.

Re: Ask HN: Why isn't F# more popular?

#54
Partially because there is Ocamal. Not that it is (or is not) a better language. But because it is older and was historically available on more systems and covers some of the same ground as a descendant of ML. Partially because of Scala which also covers some of the same ground...though not claiming as strong a tie to ML it has strong ties to the JVM.

Finally, there are many very good languages. Few are as a popular as Python...one might say even Python isn't as popular as Python, if you know what I mean...anyway, I'm not a big fan of the concept of "functional programming languages" because functional programming is a way of programming and most languages can be used imperatively or functionally and though some make it a bit easier than others most programming languages readily facilitate both. Once it was all the rage to talk about Python as a functional programming language (but making map/reduce/filter second class citizens in the past few years has hurt that story) and there are plenty of resources for functional PHP.

Re: Ask HN: Why isn't F# more popular?

#55

I worked with it and while its technically a probably a good language it's nowhere near as easy to get shit done with it as C#.

I disagree with this. As someone with over a decade of C# experience and a few years F# experience, I'm more productive in the latter. However it did take about two years to get to that point, and the productivity difference is only marginal. So if you account for the ramp-up time, this is probably true.

Re: Ask HN: Why isn't F# more popular?

#56
post #32

Because Microsoft could've promoted it more but it didn't. >What are the F#'s downsides which prevent its more widespread usage? The two biggest downsides I've encountered are not related to the language itself. One is lagging support in Visual Studio (didn't support folders for long time, poor cross-language C#/F# navigation, no support in .NET Core projects etc.) and the other is the lack of examples/frameworks for…

> One is lagging support in Visual Studio

I use VS Code, both for Python and now for F#, and so far my experience has been positive. But that might be because I've used F# only for very basic stuff, and I don't know how better it could be in some other language and/or IDE.

> scripts

I think I'll stick with Python for that :) But I'm thinking about maybe transferring some machine learning stuff from Python to F# in (some distant) future.

Re: Ask HN: Why isn't F# more popular?

#57
post #49

Most of the programmers do programming for a living. They are not passionate programmers who like to learn new languages. They care about getting things done. Since Java, C#, Python, JavaScript, Ruby and Rails, PHP are all popular and have huge library ecosystem around them, for most of the 9 to 5 programmers, there is little incentive learn any functional language. Also since all popular and dominant languages are e…

Agreed. I have tried using F# in my company but gave up after a while. Reasons: - it's hard to hire people - most libraries are written for OO style so most code will be written OO style - most sample code is written in C# - C# is a pretty nice language. Does F# really provide an advantage? - will MS abandon F#? I really would like to see a clear case for F#. When you consider factors like hiring and existing ecosyst…

Data wrangling is a really clear case. I do a tonne of this and it's so much easier in FP.

Re: Ask HN: Why isn't F# more popular?

#58
post #48

I spent a bunch of time using F#, and it is good, but C# is a seriously good language and the advantages of F# kind of turned out to be minimal, and most annoyingly, not well supported by the tooling. On the F# slack channel I asked what was the compelling reason for F#, why isn't it more popular, and basically there wasn't one. There's some stand out language syntax like computation expressions. The community is rea…

I think this nails it. C# is a really good language. F# has some advantages, some disadvantages, but there's not much clamor for something better in the dotnet world.

Java and Objective-C are far behind as languages, so the motivations for Scala, Clojure, Kotlin, Swift were far greater.

Re: Ask HN: Why isn't F# more popular?

#59
functional languages in general aren't very popular in the enterprise yet. this means that finding talent for more obscure languages like F# is really challenging. You would need some really large org that's willing to make the switch to build a hiring pool around it.

which brings me to my next point. the cost of switching languages is really high for most companies and often times the need to do so is driven by a direct business need (like Jet.com and their order processing engine, which ran on F# from the start).

Also, C# and to some extent Java are getting some functional-like features (type inference, anonymous functions, pattern matching), so the need to take on a new language entirely to get those features is even lower

Re: Ask HN: Why isn't F# more popular?

#60
post #58
post #48

I spent a bunch of time using F#, and it is good, but C# is a seriously good language and the advantages of F# kind of turned out to be minimal, and most annoyingly, not well supported by the tooling. On the F# slack channel I asked what was the compelling reason for F#, why isn't it more popular, and basically there wasn't one. There's some stand out language syntax like computation expressions. The community is rea…

I think this nails it. C# is a really good language. F# has some advantages, some disadvantages, but there's not much clamor for something better in the dotnet world. Java and Objective-C are far behind as languages, so the motivations for Scala, Clojure, Kotlin, Swift were far greater.

That's part of it, but I think the fact that "the .NET world" is largely enterprise, with is both less sensitive to language quality and more averse to change (whatever quality it brings) than much of the rest of the dev world is also a factor.
Post reply on HN