Live data from Hacker News

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

news.ycombinator.com

41–50 of 115 posts

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

#41
post #2

javascript is insanely popular and its obviously shitty. popularity correlates very lightly with quality.

What's so shitty of javascript? From what I've heard is that people's opinion has changed about that. Javascript is evolving, and so is the ecosystem.

At its core Javascript is a good language. Some of the problems come from the fact that at its core it is a functional language, but for years it was marketed as object oriented. And when you look at the language and expect something object oriented or procedural then you will see a very bad language.

Another aspect is the fact that many of the Javascript's problems were actually not problems of the language itself but of the environment around it, like DOM and AJAX implementations in different browsers.

Besides those major problems, the language itself has some minor problems. But as you pointed out the language has a very active ecosystem around it, which creates at least 5 solutions to every problem. But many solutions involve new languages which compile to javascript. So practically the problems are solved but the theoretical use case of writing plain Javascript is still a little problematic.

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

#42

Earlier quoted context omitted.

I disagree. Functional programming languages are not harder than for example OO-languages. The thing is that people usually learn procedural or OO -paradigm first when they start programming and moving on to FP requires a mindset change.

Recursion is harder than iteration. Immutability is harder than mutability. Callbacks, dependancy injection, and implicit loops are hard to wrap your head around. Oop is just a strut with functions and a fancy dress. It's not really a new way to think. I trained many, many, many people in small groups in programming. The functional concepts are always the hard ones to explain. And as a dev, even when i deeply underst…

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).

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

#43
IMO the biggest thing with F# is that all the improvements over C# are incremental.

Almost every cool feature about F# you show to a C# developer he'll go "OK I can sort of do that in C# it's just a bit more tedious".

When you add up those incremental improvements you get drastically shorter code but that is not immediately obvious and that's why you'll have a hard time convincing C# developers switching to F# is worth it.

Also F# has it's own warts, like compilation order based resolution :(

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

#44
post #14

"Why Isn’t F# the King of .NET?" (Aug 21, 2016 ) * https://hackernoon.com/why-isnt-f-the-king-of-net-2a9a1963e0... * HN: https://news.ycombinator.com/item?id=12530265

Thanks for both links! It'll be interesting to see if something has changed in public opinion in last 9 months.

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

#45
post #42

Earlier quoted context omitted.

Recursion is harder than iteration. Immutability is harder than mutability. Callbacks, dependancy injection, and implicit loops are hard to wrap your head around. Oop is just a strut with functions and a fancy dress. It's not really a new way to think. I trained many, many, many people in small groups in programming. The functional concepts are always the hard ones to explain. And as a dev, even when i deeply underst…

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.

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

#46
post #25

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. At some point, if your language(s) of choice are decently powerful and you are decently good at them, you don't feel yourself shackled by a lack of agility, expressivity, or capacity for producing something of quality. Rather, you feel fluent. I mean, I feel a little uncool having never more than dabbled in functional-first languages. But I'm also an adult who has shipped multiple products without any undue t…

> At some point, if your language(s) of choice are decently powerful and you are decently good at them, you don't feel yourself shackled by a lack of agility, expressivity, or capacity for producing something of quality. Rather, you feel fluent.

I consider myself fluent in Python.

But in my case, that was the extra reason to try to learn something new and different, and after searching for a suitable second language, I kinda settled for F#. (I have also tried Haskell, but never managed to move past some basic examples)

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

#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 really good, but F# specific libraries are very quiet, web libraries like suave are ok, but kind of lifeless.

More interestingly, when I shifted a bunch of F# projects to C#, it was relatively straight forward. C# has enough syntax to do a lot of things functionally (though not as concise)

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

#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 ecosystem the case for F# is not clear to me.

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

#50

As a long-time advocate of functional programming, I was once asked after a talk what is the "best" FP language to learn. Since I'm known as a Haskell/Scala/ML person, I surprised much of the audience by answering that I thought F# was the best entry point. What I did not say, however, was that I think that Windows is a challenging environment for anyone who is used to Linux/Mac -- and this includes the "open source"…

> I would encourage you to stick with F# as you will be further along in not only understanding FP, but other modern programming languages

Thank you for your kind words!

As I mentioned elsewhere, I have also tried Haskell, but I never managed to move past some basic examples. With F#, at least for now, it seems like I can more easily read/understand even more complex stuff (and one day maybe even write it by myself).

Post reply on HN