Worth Reading: Software Disenchantment
Found an awesome blog post describing how we’re wasting resources on incomprehensible scale. Here’s a tiny little morsel:
Only in software, it’s fine if a program runs at 1% or even 0.01% of the possible performance. Everybody just seems to be ok with it. People are often even proud about how much inefficient it is, as in “why should we worry, computers are fast enough”.
When requirements are loose and are changing fast (which is the enchantment of the day as in "software can do anything and be changed on a whim") and there isn't enough money in it on top (enters open-source) and on top of the top it has to be kept maintainable (staff turnover, portability, stable APIs to plug into other stuff) then layering and abstraction naturally takes over (which is really our only way to deal with massive amount of complexity in somewhat predictable fashion by containing the blast radius of the entropy being pumped into the system). Layering means indirections and that means performance loss on today's computer architecture in prevailing languages @ least. There is work being done in modern CS emphasizing "zero-cost-abstraction" and natural parallelization (which is a rewarding but difficult path to performance) but this ends up in lambda-calculus corner pretty much which @ this point in time few programmers understand IME since it's more math than the usual "let's put bunch loops and ifs together" and slides quickly into distributed systems theory that is easy to get 99% correct and then the last 1% is impossible to debug if one doesn't have enough understanding of the basics of it ...
well, my usual 2c "no free lunch" flavor ...
I would say this is the canonical example: https://qz.com/646467/how-one-programmer-broke-the-internet-by-deleting-a-tiny-piece-of-code/
Also, I'm guessing we're both old enough to remember Pascal (and other compiled languages), and I don't think our speed of development (of reasonable-quality code) was ever significantly impacted by the compilation time.
But then yes, as anything, abstraction and layering can be a fetish ;-)
And ultimately, I wouldn't mention JavaScript and reasonable in the same sentence or even book ... JavaScript is like PHP, it's a statement of belief largely rather than a logical calculus a normal programming language is.
If we talk PHP and JavaScript it's not worth the time, it's not a very interesting discussion IMO and it seems an odd discussion for ipSpace anyway ...
Did you mean aesthetics/esthetics? (a branch of philosophy dealing with beauty and the beautiful)
Or did you really mean asceticism? (a lifestyle characterized by abstinence from sensual pleasures, often for the purpose of pursuing spiritual goals)