I have some issues with this.<p>1) Programming isn't reverting to guilds because there's no way to restrict people from learning about programming, and there's no way to restrict people to only hiring guild programmers.<p>2) No, not everyone will become a programmer. But a greater spectrum of people will do programming type things as the rewards for being able to control computers effectively (via programming) will continue to increase.<p>3) Bigger People vs. Bigger Ideas seems a statement that is so generalized and open to interpretation as to be meaningless.<p>4) Finally, no mention is made of things like superior parallel processing, something that is integral to continuing to do fancier things with advancing technology.
I like the idea of creating software that resemble patterns found in nature. I invented 2 directions (not very popular yet, but I like them anyway):
1. organic programming: grow the systems, not build them.
This idea lead me to creation of 2 frameworks (one is open source, but beta: <a href="https://github.com/salboaie/shape" rel="nofollow">https://github.com/salboaie/shape</a>)
My original idea about organic programming was about a tight integration of the tools used for developing the program with the program itself. These tools can be used at runtime to customize or even to create new features. This approach have interesting implication on the framework, some good, some not so good but the organic paradigm changed the direction and reduced complexity and arbitrariness of some design decisions.
2. swarming and swarms as better metaphor for asynchronous messages. This idea has very nice implications and I believe that it is an approach that goes towards essential complexity regarding programming with asynchronous messages. For details, asm me or take a look here: <a href="https://github.com/salboaie/SwarmESB" rel="nofollow">https://github.com/salboaie/SwarmESB</a>
I think there will be a paradigm shift in programming styles.<p>In the last few years I noticed a change from inheritance to composition, from imperative to declarative and now reactive programming is looking very promising.<p>Multi-core concurrency and cloud scalability are the biggest game changers I can think of. Programming will evolve towards building such systems in a more deterministic way, with faster iterations, less debugging and more reusable components.
Pretty loose article with only one central idea of human resource specialization.<p>It includes factual inaccuracy gems such as<p><i>"It wasn't until after WWII that there was a conscious move back to a system of world wide free trade, which resulted in another era of solid economic growth."</i><p>This has nothing to do with historical fact. The pre-Bretton Woods and Bretton Woods system were strongly characterized by very high capital controls and very high progressive taxation systems, only abolished in early 70s due to various shocks. Interestingly enough, it is likely there has never been a more global economically productive or financially stable period in human history and it is often known as the "Golden Age of Capitalism".
Maybe not by 2020 but I think the future of "programming" lies in the machine learning and ai subsets within the CS field. At some point, to cope with the complexity we're going to have to have programs that write themselves and adapt over time, optimizing and creating functions based on input. I think programming will become a matter of clearly defining problems and desired outcomes, providing intelligent feedback to the system, running tests over the software, and essentially letting the programs build themselves.
praptak posted (<a href="http://news.ycombinator.com/item?id=4966827" rel="nofollow">http://news.ycombinator.com/item?id=4966827</a>) this link: <a href="http://www.patternlanguage.com/archive/ieee/ieeetext.htm" rel="nofollow">http://www.patternlanguage.com/archive/ieee/ieeetext.htm</a><p>In this keynote Christopher Alexander is trying to convince us programmers to write more human or living software. Maybe that's where it should be heading?