Hacker News new | ask | show | jobs
by 1jreuben1 639 days ago
A startup needs to move fast - quick and dirty prototypes in JS / Python turn into MVPs. dynamically typed, low barrier of entry, high velocity. Startups that survive to the point of needing to rewrite for stability and performance, will usually opt for Rust or Go. They often dont need the bloated enterprise-specific baggage that comes with C# / Java - transactional models, IoC, ORMs, complex inheritence models - YAGNI.
2 comments

> bloated enterprise-specific baggage

All of it is by choice only. You don't need to use ORM or any inheritance in your code. Whether IoC happens depends completely on how you write code, but the service model in .net is there if you want it. (And you should try if you haven't - it's really good) You can go as basic as you want and rawdog everything without frameworks/libraries.

These arguments (for any language) are pretty lacking. That you can do it isn't important - the majority culture is the deciding factor - since every internet resource, every package, every support forum is going to follow the majority culture. So not following it simply adds friction. It makes way more sense to choose something where the majority culture makes sense for you, assuming it exists.
That's very far from what I see in practice. Apart from EF, I haven't really experienced any library which forces any of the listed things on you. You can choose some framework if you want of course. But it's trivial to stay away from those.
Both Quarkus and JOOQ are pretty good in the Java world. No ORM, no inheritance etc to create APIs... Typed API clients generated for your frontend...
So instead of battle tested, actually feature-complete, ready-made solutions, they output some hack that barely works even in their limited use case, and took several times more time than doing it properly in an “enterprise” code base.