Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That's a good complaint though. Abstraction can be a very good thing, making things that are difficult more accessible. But a level of abstraction that tries to hide the fact that lower levels actually exist creates confusion, widens the gap between people who know one level from the lower one, and leaches marketing language from the business world into common speak. When "Full Self Driving" doesn't mean what it literally means, and "Without JavaScript" means "With JavaScript", words become meaningless.

Maybe I'm reading too much into this and making a mountain out of a molehill, but like OP, that was the first thing that caught my eye.



> But a level of abstraction that tries to hide the fact that lower levels actually exist creates confusion

Do you think about microcode when you program? Because I enjoy programming 'without microcode'.


Yes, I think about microcode. Not always, but wen I need performant code. Problem is, modern CPU implementations (micro-ISA, like Intel Golden Cove, AMD Zen3 or Apple Firestorm) is hugely different from «modern» (really, 20+ years old, not modern, and it is the root of the problem) architectures they implement (macro-ISA, like x86_64 or ARMv8.2, though with ARM situation is slightly better). Maybe not microcode, but branch prediction, number of ALUs, size of caches and size of one line of cache, etc. — you need to think about these «abstracted-away» details if you need to squeeze all performance from hardware you pay you big buck for.

On the other hand, analogy with microcode is BAD. Because «Without JavaScript» (as opposed to «without thinking about JavaScript programming») means it should work in browsers without (or with turned off) JavaScript support. But it is not!


And yet, you know that it's there, and nobody called it "without microcode".




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: