A self-proclaimed "code junkie" recently gave his view of what the world of programming will be like 20 years from now.
In a keynote presentation entitled "Software Engineering in the Year 2027," David Intersimone, vice president of developer relations and chief evangelist at CodeGear, shared his view of trends that are likely to come to fruition for developers in 20 years, including the existence of virtual software teams and collaborative infrastructures. Intersimone spoke at the EclipseWorld show in Reston, Va., on Nov. 7. CodeGear, Scotts Valley, Calif., is a division of Austin, Texas-based Borland Software.
However, to get to the programming nirvana of 2027, developers will first have to overcome some of the obstacles present in todays development processes, Intersimone said. These obstacles include disparate, non-integrated systems and teams, as well as the lack of cohesive software reuse strategies.
Intersimone suggested a new way of looking at the software development paradigm and suggested "capturing developer intent via application factories."
These application factories foster what Intersimone called "application-driven development," where the "structure, evolution, and logic behind developing an application is part of the application." And both those components and the application itself can be shared with other developers as reusable software assets. Moreover, these assets will be platform neutral, framework agnostic, and relevant beyond Java and Eclipse, Intersimone said.
"We need to be able to say everything involved in developing this application is reusable," he said. "We need to have metadata for applications."
Click here to read about a survey on how Eclipse products save money.
Essentially, Intersimone is promoting "a way to annotate and build templates or cheat sheets to go along with the architecture" for applications.
This would enable not only better maintenance of applications, but would enable developers building new applications to use the templates, "cheat sheets" and other reusable software assets to simplify their efforts, Intersimone said.
In this scheme of application factories, developers will be able to mine patterns, and capture trails and actions taken to develop applications and then make application modules, which will be "new first-class citizens" in the creation of new applications based on these assets.
In a typical "application factory" scenario, Intersimone said a developer would start to navigate conceptually through the application using application factory meta-data. They would then run a script for generating template code or trails. At that point the developer would switch to a "resolver" phase for the changes made by the script, he said.