Hacker News new | ask | show | jobs
by Legend2440 837 days ago
Worse; it's a stack of abstractions on top of abstractions on top of abstractions. You're at least 10 layers away from the hardware, possibly more.
1 comments

I don’t necessarily see that as the problem. Assembly is a great abstraction over machine code. Languages that compile to these bytecodes are a good abstraction. Garbage collected languages are a good abstraction.

Web applications are not a good abstraction. Auth, storage, route handlers, tests, deployment, et al, are all cobbled together like chocolate ice cream and jalapeños on an uncooked bed of salmon and root beer.

It's not necessarily a problem. It would be very hard to program without abstractions.

But all abstraction is compression in a sense. You are writing a smaller program that is "decompressed" into a much larger compute graph - for example, a loop unrolls into the same operation many times. This makes it much easier to fit the program into your head, but also limits its complexity.

This is why it's hard for programs to deal with the arbitrarily-complex real world.

Arbitrarily complex domains are one thing. Arbitrarily complex web applications are another.