I really like managed languages: GC makes some things much easier, and they often have great debugging tooling.
Distributing compiled programs is delightful though. They're easy to package, easy to distribute, and start up is really fast. It's a huge upside.
miniblog.
Related Posts
I think you could build an interesting IDE with a tiny embedded LLM in addition to the usual tooling.
Features like 'extract method' would be much nicer if an LLM could provide a name. Choosing a good name is virtually impossible from just a typed AST.
I find it fascinating how some businesses have scheduled downtime for their websites (e.g. my electricity provider last weekend), but others don't.
I suspect it's primarily culture. You generally need to turn off electricity to do work, so your other tooling may reflect that.
Counter-intuitively, if you're writing a parser for a programming language, you need it to be a total function. As soon as you build IDE tooling, you need ASTs from invalid or incomplete input.
The parser should return (Ast, List<Error>) rather than Result<Ast, Error>.