3 ms·
I am reminded of the profession "programmer–archaeologist" in Vinge's A Deepness in the Sky. In roughly 2010 I reminded my grand-boss that a great deal of the
by at_a_remove 6y ago
I am reminded of the profession "programmer–archaeologist" in Vinge's A Deepness in the Sky. In roughly 2010 I reminded my grand-boss that a great deal of the important business process we had consisted of largely uncommented C and various mismashes of shell scripts.
It's true, there's something about all of the frameworks and the fads and such which causes so many projects to need, well, continual attendance to the dependencies. One proposed platform at a previous job bothered me for reasons I could not explain, so I mapped out the major dependent technologies, pointed out that we had nobody who had even a passing familiar with with them, and also pointed out how quickly some of them were moving.
There's something to be said for keeping your tower of dependencies short. It's a tradeoff, to be sure.
- contingencies 6y agoThere's something to be said for keeping your tower of dependencies short. Absolutely, but you still need to present an interface. Essentially, which interface you present (REST, command line, language-specific library, VM/container, etc.) has in most organizations become a political question, to which implementation details are largely held hostage.
- caconym_ 6y agoI absolutely love the vision of software technology in the Fire/Deepness books. The "zones of thought" concept dovetails nicely and lets him expand on those ideas, too. Highly recommended reading (for that and a bunch more reasons).
- arvinsim 6y agoI have put off reading this book for so long. Now I have the reason to pick it up!
- JackMorgan 6y agoThose books are so awesome, the zones of thought really stuck with me, I use that metaphor almost weekly when building mental models. Also the idea of a code archeologist really got me to dig into the book Working Effectively With Legacy Code, and now I'm actually pretty good at it and really enjoy it.
- hinkley 6y agoPerhaps more like historical anthropologist, if we're honest.
- int_19h 6y agoThe book is from 1999, but I kinda feel like we're already there - turns out that mere decades are quite sufficient. "Pham Nuwen spent years learning to program/explore. Programming went back to the beginning of time. It was a little like the midden out back of his father’s castle. Where the creek had worn that away, ten meters down, there were the crumpled hulks of machines—flying machines, the peasants said — from the great days of Canberra’s original colonial era. But the castle midden was clean and fresh compared to what lay within the Reprise’s local net. There were programs here that had been written five thousand years ago, before Humankind ever left Earth. The wonder of it — the horror of it, Sura said — was that unlike the useless wrecks of Canberra’s past, these programs still worked! And via a million million circuitous threads of inheritance, many of the oldest programs still ran in the bowels of the Qeng Ho system. Take the Traders’ method of timekeeping. The frame corrections were incredibly complex — and down at the very bottom of it was a little program that ran a counter. Second by second, the Qeng Ho counted from the instant that a human had first set foot on Old Earth’s moon. But if you looked at it still more closely… the starting instant was actually about fifteen million seconds later, the 0-second of one of Humankind’s first computer operating systems. So behind all the top-level interfaces was layer under layer of support. Some of that software had been designed for wildly different situations. Every so often, the inconsistencies caused fatal accidents. Despite the romance of spaceflight, the most common accidents were simply caused by ancient, misused programs finally getting their revenge. “We should rewrite it all,” said Pham. “It’s been done,” said Sura, not looking up. She was preparing to go off-Watch, and had spent the last four days trying to root a problem out of the coldsleep automation. “It’s been tried,” corrected Bret, just back from the freezers. “But even the top levels of fleet system code are enormous. You and a thousand of your friends would have to work for a century or so to reproduce it.” Trinli grinned evilly. “And guess what — even if you did, by the time you finished, you’d have your own set of inconsistencies. And you still wouldn’t be consistent with all the applications that might be needed now and then.” Sura gave up on her debugging for the moment. “The word for all this is ‘mature programming environment.’ Basically, when hardware performance has been pushed to its final limit, and programmmers have had several centuries to code, you reach a point where there is far more significant code than can be rationalized. The best you can do is understand the overall layering, and know how to search for the oddball tool that may come in handy ...”"