4 ms·
> With all the over-abstraction and layers of indirection that are rampant in modern software Can you expand on that? Is .NET and Java, or Electron/Javascript
by sebazzz 4y ago
> With all the over-abstraction and layers of indirection that are rampant in modern software
Can you expand on that? Is .NET and Java, or Electron/Javascript an over-abstraction or too many layers? Or are certain patterns that, like CQRS or React?
- not_your_vase 4y agoJava is frequently a good example (but not the only one). For some reason many senior Java developers abuse OO principles, and make sure that when they throw an exception from Hello World, the stacktrace won't fit on the screen. Those lines are not free: each abstraction layer adds extra cpu cycles, and uses bytes on the stack.
- kaba0 4y agoYou get those stack frames because Java actually properly handles errors (instead of writing out the last error without any further context) - you definitely has at least that amount of stacktrace in pretty much every CRUD app built on top of your framework of choice. Frameworks solve a litany of mainstream problems with CRUD apps so imo it is absolutely well warranted. And frankly, java trivially optimizes those virtual calls away, so it unlikely to have any serious performance impact. Add to it that the overabstraction you talk about hasn’t been as prevalent in the last decade anymore (it actually came from the C++ times, .COM, etc), and you are left with memory layout as the only serious performance bottleneck in most managed languages and that is not as significant in every kind of workload (you are not writing simulations all the time)