3 ms·
> compared to mainstream languages like C# Out of curiosity does this also hold true for F#?
by devjab 2y ago
> compared to mainstream languages like C#
Out of curiosity does this also hold true for F#?
- louthy 2y agoF#’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.
- devjab 2y agoThank 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.
- louthy 2y agoF#'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!