1> Because no current OS is based on capabilities, no current OS can be trusted to secure an application. This void is being filled with containers and virtualization as a stopgap. Eventually, capability based operating systems could fix this, and become a trillion dollar market.<p>2> There should only be one logical task per line of code. The right density is that of basic or pascal. Clever use of compound assignments, macros, etc. cost more than their worth in the long run. It makes code harder to read, and easier to misunderstand, even when you're writing it.<p>3> Moore's law gave us a nice boost in hardware, but the ride is coming to an end. If your software doesn't distribute across cores, you're going to be stuck in the slow lane compared to that which does.<p>4> Accounts with usernames and passwords are going away. Capability tokens that can be revoked and renewed are going to be the next big thing. Think Flickr's guest pass to look at an otherwise private photo album, for example.
The benefits of Kubernetes aren't worth its immense complexity in most organizations. If you want to put things in containers, just use Docker Swarm.
Some backend frameworks (of various languages) have way too much abstraction and configuration. This usually means coding a small non-standard feature takes lots of time. But coding only standard (e.g. CRUD) features is fairly quick if you don't have a big framework too.<p>Also, lots of developers never know what happens below that stuff. Don't get me started on how many people I've seen despairing over "configuration debugging".<p>Some really big projects can be exceptions to this line of thought. But most teams don't work on those really big projects.
There's not enough data in the practice of software engineering. A lot of software engineering "best practices" aren't backed by any kind of evidence.
Most single-page apps shouldn't be single-page apps. Start with server-rendered HTML and forms. Maybe sprinkle in some jQuery or Alpine or HTMX if you really need to.
I don't trust any software involved in safety critical applications that can be updated after manufacture.<p>To clarify, I find that engineers rely too heavily to let their users find bugs in the field and most engineers tend to think "oh, I'm sure it isn't a big deal, and if it is we can just update the firmware/software".