@RadioAzureus @nixCraft I think programming today is more like gluing stuff together or playing with lego.
(almost) nobody thinks about underlying algorithms any more. Most people just import existing libraries for (almost) everything. (Including me, but I at least remember times, when inventing useful or faster or memory efficient algorithm was a thing...)
I'm one of those people who still wrote static HTML in periods where people were already working with #database back ends
I knew how to do the #programming with them, with a database or more, it was just more fun to write #static #HTML that I learned by head
@RadioAzureus @nixCraft well, I not only wrote static HTML, but in 1996-1999, I maintained my own graphical WWW browser for DOS (which was written in C). So I actually parsed early "quirky", pre-XML HTML in Netscape era. (but I failed to implement javascript interpreter and abandoned the project)
Actually, I still remember some Z80 machine instructions (0xcd ... call subroutine). But this is not what I mean, I was never really (successfully) low-level (like others were) and I am not feeling nostalgic for that.
I mean, today there are no programmers, who would implement bubblesort or quicksort themselves and be able to appreciate the performance difference, or so. All high level programming languages implement all basic algorithms and even if you implement rudimentary algorithm, the raw power of modern PC still perform adequately, so people don't really have to think about optimizing anything.
On the other side of the story, datacenters consume 10-20% of all energy in developed countries and even if we don't consider deliberately stupid things like proof-of-work crypto or
unintentionally stupid stuff like AI, there is still huge amount of code, which just wouldn't have to run. Just few days ago, I participated in debate "I would run this database query over few milion records from RAM disk, instead of thinking how to choose only (indexed) GPS coordinates from given rectangle or polygon". And this is just amateur project with literally few online users - think about corporations doing the same for millions of users...
So we are expected to develop nuclear fusion just to power computers to run bloated, inefficient, not optimized applications based on dummy SQL querries? 🤔
@RadioAzureus @nixCraft It is always fascinating to analyze which skills are needed in which stage of technological development.
Maybe what we knew to do would seem so useless in just few more years....
I also did photography with film, while most were dumping their ASLR for digitals, not realizing the required skills of analog, to properly use them.
As with simple tasks like hello world printing on displays, it would be impossible for a current kid to write that for the C64 8bit, do a JSR $FFD2 and write the bytes one by one to the VIC chip display area with that ROM routine that I obviously still know by heart
@RadioAzureus @nixCraft yes, but between 8bit coding, which is mostly obsolete, and today's high level programming, there is huge gray zone of important intermediate level coding skills, which are what mostly makes the world running.
There was nice xkcd comic for this... there are important core libraries, used by almost everyone, well understood by relatively few and maintained by literally one.
@horaciodos @RadioAzureus @nixCraft Actually, very few tricks I consider smart, which I ever implemented, remained in some kind of long term use.
My only optimization still in use is some kind of firewall indexing, which perhaps saves some CPU cycles on our central router (but would be useless if we moved from xtables to nftables), but we have less than 10 000 end users, so according to the laws of my country, we are not "critically important infrastructure"
I was not writing this to somehow point out I am ultra smart at optimizing algorithms, I just somehow know this stuff is around and if 10% (or how much) of energy produces is consumed in datacenters, than well... (I know the main problem is crypto and AI, but running web infrastructure mostly written in scripting languages both server side and client side, like Mastodon, is not very helpful, to begin with.. :)