- chaotic and baroque layers of tooling that need to be figured out and made to keep working
- a software tradition where poorly thought out ideas are implemented with vigor resulting in design by accident
- ...which then results in frequent rewrites
- a universe of low quality libraries and frameworks resulting in frequent discovery of serious bugs
- every project having lots and lots of dependencies
And that's before we even consider the language or the congenital defects inherited from JavaScript.
- chaotic and baroque layers of tooling that need to be figured out and made to keep working
- a software tradition where poorly thought out ideas are implemented with vigor resulting in design by accident
- ...which then results in frequent rewrites
- a universe of low quality libraries and frameworks resulting in frequent discovery of serious bugs
- every project having lots and lots of dependencies
And that's before we even consider the language or the congenital defects inherited from JavaScript.