I ran across this while doing some research recently:
In Verner Vingeâ€™s space opera A Deepness in the Sky, he proposes that one of this futureâ€™s most valuable professions is that of Programmer-Archaeologist. Essentially, the layers of accreted software in all large systems are so deep, inter-penetrating, idiosyncratic and inter-dependent that it has become impossible to just re-write them for simplicityâ€™s sake â€“ they genuinely canâ€™t be replaced without wrecking the foundations of civilization. The Programmer-Archaeologist churns through this maddening nest of ancient languages and hidden/forgotten tools to repair existing programs or to find odd things that can be turned to unanticipated uses.
From A Deepness in the Sky by Verner Vinge:
â€œThe word for all this is â€˜mature programming environment.â€™ Basically, when hardware performance has been pushed to its final limit, and programmers 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 -â€
Such an interesting possible future. Hopefully we can avoid it with better code data mining techniques and eventually AI. But if not, is it possible that future programmers will be more like scavengers looking for interesting tidbits of code to reuse rather than producing new code from scratch?