Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

F# is installed by default with Visual Studio, and the tooling is pretty good. I think it hardly is second class citizen? Not promoted nearly as much as C# for sure.

AFAIK F# is on quite solid foundation, as there is the F# foundation that would keep ball rolling, so to speak, were Microsoft to renounce the language.

I have no idea what the marketshare is though. On Tiobe (https://www.tiobe.com/tiobe-index) it seems to be nearly on par wit Scala and much more popular than Haskell or Ocaml.



Pretty good if only what one cares about is CLI and class libraries.

According to JetBrains developer survey, an amazing 3%.

https://www.jetbrains.com/lp/devecosystem-2022/csharp/


Tooling: Not only CLI and classlibs. The debugger in Visual Studio follows calls to c/c++ dll:s over pinvoke withhout a cinch. (Same as C#). If you wrap complex entities in e.g. Protobuf then writing hybrid applications is pretty straighforward and on solid ground.

All of the GUI stuff is missing of course. I would not advice to implement a GUI on top of F#.

The main feature of F# imo is it's succint type system where one can wrap everything in a type without much bureaucratic cost, but in a way that makes program structure so much more obvious. "If it compiles it's correct" is prety much how it goes.


Not enough to justify many .NET shops to go multi-lingual projects.

They already have to use C# no matter what, given the GUI and database frameworks.

Adding C++ or PowerShell into the mix might happen, due to the frameworks and workloads that require reaching out to them.

While adding F#, even if more expressive, it barely makes sense from business point of view.

It isn't as if a mixed C#/F# codebase brings the same value as doing Python/C++.

Also to note that while F# team has pivoted into trying to make F# attractive to data science, their employer is one of the reasons why CPython is now taking performance more seriously.


I would claim the business benefit of F# would come from a more succint, legible and correct codebase that saves developer time, but I have no basis for that argument except intuition I get having developed both in C# and F#. Also I know much better engineers than me to whom this would be a nill-argument ("You can write everything really fast, just don't make mistakes").

"It isn't as if a mixed C#/F# codebase brings the same value as doing Python/C++."

I think it depends on industry and domain what the value add specifically is? To me it would totally make sense to have small, succinct business logic module in F# that talks natively to a verbose chunk of C# wpf for instance.

"Also to note ... CPython is now taking performance more seriously."

Personally I would not hold Python isomorphic to F# on any architectural level, the former not having the typesystem of F#. IMO the whole point of F# is the wonderful typesystem, immutability first, combined with full .NET ecosystem.

On the other hand I would not try to use F# for the stuff I use Python for - so trying to take Python head on does not sound like a super good strategy.

I guess F# will languish in the "few percenter limbo" in the best case. But it IS a really nice language :)


> While adding F#, even if more expressive, it barely makes sense from business point of view.

F# code is much more reliable and requires much less people to write. Isn't this good for business?

The only problem with F# is it's not always immediately readable to those who are not familiar with it (so it's harder to find the people to hire), isn't it?

I just wonder how much harder it is to teach a random person (without even a rudimentary programming skill) to code F# than to teach them C#.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: