Hacker News new | ask | show | jobs
by arrow7000 960 days ago
F# is my go-to language for new backend projects and console apps. You can be as functional as you like, with imperative/mutable/OOP escape hatches available for those rare but unavoidable times you need them
2 comments

Have to agree. Recently decided to try out Python instead. Everyone at work wanted Python, it's popular, so why not give it a shot. In constant regret, missing the type checking in F#.
I haven't done so yet but I keep meaning to check out Fable's support for F#-to-Python: https://fable.io/docs/getting-started/python.html
for console apps, F# sadly suffers from general .NET issues for console apps. Very large size (>150MB for a simple app) and at least 400-700msec startup time
AOT compilation is actually usable in net7, and I'm told it's got much better in net8 - massively reduces startup time (and in net8 apparently binary size too)!
Interesting. I never upgraded to 7, been waiting to try 8 when it’s out. Might give the beta a try
My CLI is 180-185ms startup time, and about 10-20MB for a complex app (with a runtime dependency).
keyword: with a runtime dependency :)

For CLIs I much prefer self-contained build outputs which is quite huge when it comes to .NET unfortunately.