IDE 2.0: The Age of Intelligent IDEs
The latest innovation in the Eclipse space that I'd like to share with you is Code Recommenders. Already available as a plugin for Eclipse, Code Recommenders provides intelligent code completion. Rather than giving you all possible methods for code completion, this plugin proposes the methods that you probably need at the top of the list, with a rating of how applicable each method is. To see Code Recommenders in action, see the following screencast.
If that interests you, then you'll want to read "IDE 2.0: Collective Intelligence in Software Development", a paper from the Code Recommenders team. The idea behind this is that IDEs should take advantage of collective intelligence:
"Figure 1b shows our vision of the near future: IDEs will support developers through integration with a global knowledge base. This knowledge base will receive information from implicit and explicit user feedback. By implicit feedback we mean anonymized usage data that the cross-linked IDEs will send to the knowledge base automatically and spontaneously (in the figure, we represent such spontaneous activity through dashed arrows). The knowledge base will also comprise explicit user feedback in the form of user-written documentation, error reports, manuals, etc. In this work, we will show that such data can help, for example, to improve ranking heuristics, or to focus developer activity. "
The core principles proposed include advances in intelligent code completion, where the recommender systems learn from what a group of developers are using. They also bring up the concepts of better code snippet integration and extended documentation.
These ideas along with other advances in Eclipse projects such as Mylyn, ECF and e4 all point to a gradual change in how we use IDEs. Eclipse has proved itself as an ecosystem for this type of innovation, adding in functionality here and there that helps us collaborate better and take advantage of external systems.