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

> compared to mainstream languages like C#

Out of curiosity does this also hold true for F#?



F#’s tooling is worse than C# for sure, but it’s a big step-up from Haskell and has access to the .NET framework.

I listed C# because that’s the mainstream language I know the best, and arguably has best-in-class tooling.

Of course you have to be prepared to lose some of the creature comforts when using a more left-field language. But, you still need to be productive. The whole ecosystem has to be a net gain in productivity, or stability, or security, or maintainability — pick your poison depending on what matters to your situation.

I had hoped Haskell would pay dividends due to its purity, expressive type-system, battle tested-ness, etc. I expected us to be slower, just not as slow as it turned out.

Ultimately the trade off didn’t work for us.


Thank you for the answer. It’s exactly because of C#’s excellent tooling I was wondering if they had done similar for F#.

> The whole ecosystem has to be a net gain in productivity, or stability, or security, or maintainability — pick your poison depending on what matters to your situation.

I very much agree with you on this. I’ve worked in places where we used Typescript on the back-end because it was easier for a small team to work together (and go on vacations) while working in the same language even though there was a trade off performance wise. Ultimately I think it’s always about finding the best way to be productive.


F#'s biggest issue is C#. It benefits from Visual Studio and Jetbrains Rider as best-in-class tools, but having to rely on the .NET Framework means relying on an OO first library ecosystem in your functional code. Which can be clumsy and looks a little messy with the mix of camelCase and PascalCase functions.

Also, it has support for features that probably shouldn't be in the language, but are because of C# (interfaces and type-inheritance for example).

The compiler is slower than C# but arguably fast enough. And they have made a weird choice about ordering of source-files dictating ordering of compilation, so you have to manually sort source-files in the IDE. Which is both a pain and makes it sometimes hard to visually find your source-file because they're not in alphabetical order.

I like F# but it doesn't have enough unique features over C# to make it worthwhile imho.

Disclaimer: The last time I wrote any F# was about 5 years ago. Things may be different now!




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

Search: