What do you think the far future of programming will be like (on say a 50 year timeline)?
Examples:
- How will we enter requirements/specs? - How will we write documentation? - What classes of tools are we missing now that are yet to be developed? - What new Human Interface devices will become common for programmers? - What business processes will have to change to get us there? - How will we tame increasing the complexity of computing systems? - How will we hack our bodies/minds?
My prediction: I tend to think programmers will define a strategy (class/function interfaces, types, unit tests) and a new generation of IDE/compiler will generatively write the code which fulfills these requirements. This is already available for AutoCAD (they call it Generative Design).
Things will become easier to use, architectures will become better thought out, and integration of technologies will become tighter. Maybe speech-to-text (or thoughts-to-text) with eyetracking will become all the rage for writing code with a new-age Vim, I don't know. There will probably be newer better programming languages, and possibly AI-based tools for converting between languages.
My prediction is about more and more choices being deferred to the computer and to runtime. Having both human-written code and learned portion of code will just be a normal thing. Programs will be able to change without humans having to do anything, though only in ways explicitly programmed in by humans. Researchers will research more and better ways to write down the computer-usable everythings that replace the old somethings, and it will slowly trickle down to other people's cultures. Eventually, slowly, we'll figure out how to make every part about software automatically learnable end-to-end, including learning, and then we'll say "we are singularity now, boys" and "fuck, go back" then repeat.
I don't think that programmers can manage more complexity. Part of the answer is better designs and architectures. But I think even more of the answer is better pieces to build from.