In the last-completed Java.net poll, the Java/JVM developer community indicated that, despite rumors that "the desktop" is disappearing into "the cloud," when it comes to hammering out code they prefer to work using a desktop-based Integrated Development Environment (IDE), and hope that the mid-term future evolution of IDEs is desktop-centric. The desktop may be becoming more specialized, used primarily for certain types of tasks, but as Geertjan Wielenga (@geertjanw) has frequently argued (for example, here), some tasks are ill-suited for any other platform. The results of this poll suggest that, as of today, developers consider programming using IDEs to be in this category.
A total of 318 votes were cast in the poll, and two comments were posted. The exact question and results were:
How would you like to see IDEs evolve over the next 2 to 5 years?
- 59% (188 votes) - Exactly as they are now, on the desktop, because IDEs are best suited for the desktop
- 4% (12 votes) - Only web-based, because everything is moving to the web, so IDEs should too
- 30% (96 votes) - Hybrid: for collaboration, I want to be on the web (like Google Docs); but otherwise on the desktop (like Office suites)
- 5% (17 votes) - I will be programming on a mobile device within the next 5 years
- 2% (5 votes) - Other
The first three options are about desktop-based and web-based IDEs. Combining these results, we see that 89% of developers want their IDE to run on the desktop in the coming years, while 34% would like at least the option of using their IDE on the web. I think this makes sense. When I'm working in my home office, I prefer to program using a powerful (though somewhat ancient) beast of a desktop computer, with a nice big monitor that lets me spread out the windows occupied by my IDE, the running application I'm working on, often a terminal window, often a web browser where I pull up documentation on classes, methods, error messages, etc... It's nice to have all that displayed on a big screen backed by a pretty hefty n-core processor and gobs of disk.
But, I do go on the road. My normal practice is to copy code onto my fairly hefty laptop, where I can still run my IDE, just with the annoyance of a much smaller screen. I use the laptop also for all requisite communications tools, such as my email client, etc.
While I myself don't particularly need an IDE that runs in the cloud, I can readily see the benefits of that, particularly in the case of "virtual" companies that have individual developers contributing to a code base from around the world; or, open source projects, which are almost always geographically spread. It makes sense for a global effort to utilize web-based tools so that the team can share advice about issues relating to the IDE itself. And it's easy to see how many consultants who develop software for various clients, and/or provide support for various technologies and tools for multiple business clients, would find a web-based IDE to provide convenience and enhance efficiency.
An interesting minority, 5%, said they will be programming on a mobile device within the next 5 years. Surely this is an area that will expand. Though, if it was me, I think I'd still rather write code for mobile devices on my big old desktop system, using a desktop IDE, and run a mobile emulator on the desktop, then do final testing on the actual mobile device itself. Doing actual programming on a mobile device, a tablet or phone? I guess if you grew up frenziedly texting to your friends, that might seem reasonable; but, as for me, being one who grew up originally programming in 80-character wide text-based terminals using editors like vi... I'll take that windowed IDE fanning across my giant screen on this big old monster of a desktop when I need to developany application, including one for mobile devices!
New poll: Continuous Integration Servers
Our current poll asks Which Continuous Integration (CI) server do you prefer?. Voting will be open until Friday, March 7.
Subscriptions and Archives: You can subscribe to this blog using the java.net Editor's Blog Feed. You can also subscribe to the Java Today RSS feedand the java.net blogs feed. To follow Java.net net on Twitter, follow @javanetbuzz.