Live data from Hacker News

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

news.ycombinator.com

91–100 of 115 posts

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

#91
Since you're "coming from the Python world" you have a good case-study in how a bunch of things outside of language design are crucial. Python has essentially won the race to be the next major language among scientists and that's tied up with a virtuous circle of libraries for, e.g., numerics, statistics, data viz, machine learning, and even within many scientific disciplines (e.g., astronomy). The virtuous circle also includes learning resources (books, Websites, conferences) and the ability to have someone check / talk over your code.

For what it's worth, F# is trying to get that same virtuous circle rolling, but there are a few areas (cross-platform dataviz, interactive notebooks) where F# just doesn't have quite as good a story as Python.

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

#92
post #58

Earlier quoted context omitted.

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.

do you have an evidence for that? It seems a weird thing to say when C# is such a high quality language, and C# (and .net) keeps adapting and changing.

There are some advantages with stronger functional languages. Though C# seems to be slowly but surely working out how to incorporate more functional ideas. Though never will be a "functional language" but will support a functional approach.

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

#93

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…

Most 9 to 5 programmers can stick with the mainstream languages then. I'll be doubling my productivity by learning idioms that don't come in the Java/C# book. Productivity isn't always measured by direct output. If I write something with 20% overhead that is 3x more robust, then it's worth it. This is what I see F#/Clojure/Haskell providing.

lol maybe you're a Haskell ninja but I'm still 10x more productive than you because I don't have to implement every single piece of the app (ecosystem++).

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

#94

I do mostly server-side stuff. Practically speaking, for the most part it means Linux programming. Unfortunately, .NET is still a second-class citizen under Linux. Yes, several people report they are using F# without problems under Linux, but I encountered several glitches in the past and don't feel like experimenting until things become more mature. I'm lucky enough to make the choice of the language myself, and I'd…

F# seems quite popular in linux/mac using mono .NET, I was quite surprised in the F# forums how many didn't even use windows. I actually used my Mac for a lot of F# coding. But the new approach from MS for cross platform is .NET Core which (maybe next year as it seems a bit messy at the moment) will be a great cross platform choice.

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

#95

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…

There are also lots of passionate hobby programmers who are passionate about results rather than the journey. I mean, I know a ton of obscure and esoteric languages. Do I turn to them, even the cool ones, when I want to implement some idea I have? I'm afraid I often turn to the tried and tested boring languages because of the network effect. Increasingly I just use raw javascript, which is right up there with VB and…

Exactly. I have been infatuated with F# for over a year, but it is very hard to abandon C# for my work projects. At least, it's a way of jacking the bus factor to one, which makes me nervous

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

#96

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"…

Interesting. To me, Windows has eclipsed both MacOS and Linux as the best dev environment. It's caught up in shell and the whole ecosystem of tools completely blows away what exists on MacOS and Linux. Windows is also a lot better than the other two in keyboard shortcut support.

Windows is, and has always been, king. There's some halk-baked shit that doesn't behave nicely on Windows, but that's largely self-inflicted.

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

#97
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 (s…

If you are used to python, and think that VS Code is very nice, you'll be blown away by the tools and functionality that proper VS offers.

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

#98

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"…

Interesting. To me, Windows has eclipsed both MacOS and Linux as the best dev environment. It's caught up in shell and the whole ecosystem of tools completely blows away what exists on MacOS and Linux. Windows is also a lot better than the other two in keyboard shortcut support.

Interesting. To me windows is a country mile behind linux as a dev environment.

I don't really understand what you mean about keyboard shortcuts though. I thought the windows ones are hard coded into the OS and can't be changed?

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

#99

Earlier quoted context omitted.

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

Moreover, there seem to be no big codebases written in F#.

AFAIK all of https://jet.com/ is written in F#.

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

#100
post #29

In corporate, especially in MS shops, to modify an old adage, "Nobody ever got fired for choosing C#". For side projects, I'd imagine most people working on those would rather do something not Microsoft-specific. For me, I've done plenty of freelance projects in F# over the past few years and enjoy it. I've done about two years worth of projects in Clojure, and about a half year in Scala, and F# was the nicest of the…

> I've done plenty of freelance projects in F# over the past few years and enjoy it

Could you give some examples of what did you do in F#? Did you choose F# just because you wanted to see if you can do it in it, or did F# have some advantages over other (functional) languages?

> It takes a while to figure out your style however. (...) Some people end up with "C# in F#" (...) And until you figure that out, it's hard to be as productive as in a language you already know.

My plan is to avoid as much as possible "writing Python in F#", because I choose F# as an opportunity to learn something new/different (which might transfer to writing better Python later). Any tips for this?

Post reply on HN