Brief Overview of the IDE landscape
If you’re just joining the conversation, then you probably know quite well that IDE stands for Integrated Development Environment, and is most likely one the first tools you learned how to use (unless vi was more your style). IDEs emerged in order to give developers working on more complex applications more of a feature-rich experience. At least, more than a glorious notepad capable of opening multiple documents at the same time.
This report is ultimately a quick guide for learning the shortcuts and, to an extent, a bit more about the features, of Eclipse, IntelliJ IDEA and NetBeans. Our goal here is to help you learn your current IDE better, so that you can be more fluent or learn new features. We also hope you’ll get a decent snapshot of other IDEs and how things are done elsewhere, in case you decide to ever switch some day.
New technologies fly by like the wind–and yes, sometimes geeks are also philosophical. Continued technology evolutions are common, frequently seeing new technologies come to aid of existing ones. That’s what we call polyglotism. So why look only at Java?
In our recent Java Tools & Technologies Landscape for 2014, over 2000 developers told us a bit about what JVM technologies they use and which tools are interesting to them. From that, we produced a gorgeous, professionally-designed, 60-page report (which you can download) on 14 technology segments. We recently dug deeper into users of Spring MVC, JSF, Vaadin and GWT and the post ended up being really popular.
So we wanted to do the same with IDEs—and got so much awesome data that we needed to continue to break it down into tool segment from there!
Sometimes there are moments when nothing is right. Usually it happens when you majorly refactor of your project and have a great amount of unit-tests covering your old system design, and you know what they do and don’t want to just delete them because they still going to be useful later.
The usual solution is to slap an @Ignore annotation onto the test and create a task to reenable them later, which is clearly not optimal.
In this post we’ll try to devise a better solution. It won’t make everything right, but it might be a step in the right direction.
If a non-developer asked you “What is Java?”, how would you respond? could you answer questions from a muggle about how new features get added, who decides what features do or don’t make it to future versions, and how does a team of dedicated Java platform engineers and random developers around the world influence the language? Have you ever wondered what the whole “Java” thing is really about, and why, for Pete’s sake, did it take so long to get lambdas into Java…