The topic comes up all the time: "Which IDE to you use?"
It doesn't matter which programming language is being discussed or the scope of the project, developers always want to know what the "other guy" is using. I tend to do all of my development in C/C++ and it probably comes as no surprise to others using Netbeans for C/C++ the shock and resistance I receive when I tell people this.
I'm a Linux guy. Up until last year, I had never written a lick of code under any platform other than Linux. When I was eventually "forced" to write some C++ under Windows, I felt like a foreign exchange student with no sponsor. I had absolutely no idea what was going on. I almost started to believe I didn't know how to program anymore. Where was gcc? How do I run this thing? How in the hell do I use Visual Studio? In walks Netbeans, the one thing I can always count on in my software development. That is, aside from the knowledge I've already garnered.
The fact that Netbeans offers a full-fledged IDE that runs on multiple platforms is enough in itself. The fact that it has support for every language you could ever want (or need) to write code in is nearly unprecedented. The fact that it does all of this better than any IDE I've ever seen is teetering on goofy. The fact that it's open source is down right nuts.
I, like many developers, am forced to write code in a number of different languages for a number of different platforms. It's frustrating enough having to remember the nuances of all of these different languages. You do something one way in Java, another in C++, a new way in Ruby... but that's not the worst part. Chances are, unless you are really just using an editor as opposed to an IDE, you have to write this code with a different development tool. Isn't the idea behind an IDE to make the whole development process easier? What's easy about juggling different programming languages along with different development environments? In walks Netbeans.
Netbeans provides developers with a consistent look and feel across all of its supported languages. This allows developers to use Netbeans for all of their tasks without missing a beat. There is no learning curve. If you've written Java code in Netbeans, congratulations, you can now use Netbeans to develop software in any other language. I think people overlook the benefits of this, mainly because it's not a very common luxury. The old school of thought between developers, namely C/C++ developers, is that you use a text editor on Linux, and Visual Studio on Windows. For a lot of people, that's a deal breaker. I can't say I blame them: Visual Studio is usually a nightmare to use for anyone coming from the purist environment that is Linux/UNIX C/C++ development. In walks Netbeans. You're a Linux C/C++ developer coming over to Windows for a project? No sweat, just install Netbeans, install the C/C++ development tools (compiler, make system, etc...), and get right back to work. The effect this has on productivity is astounding. Not only can you get right to work, but all the experience you gain while working on this project under Windows can be directly translated back to Linux, or whatever your native environment is because the IDE's interface is the same, because the IDE is the same!
The IDE war will never be settled. Maybe that's for the best, to each his own. However, the bottom line is Netbeans makes you a better developer. It helps you do your job, and it helps you do your job well. The fact that it covers the major elements of all of the languages it supports is second to none. Break your code down by classes? Done. Attach an in-depth profiler? Cake. Debugger? You betcha'. Source control? Look ma', no hands.
If you've never tried Netbeans, I strongly encourage you to do so. It's alright, you don't have to tell anyone that you're using Netbeans. You can lock yourself away, keep all the lights off, cover your face if you must, but just try it. Once you put all the hype aside, you'll realize just how invaluable a tool like Netbeans is. And then you'll wonder why you weren't using it years ago.
This blog entry was submitted for the Netbeans 6.1 Beta Blogging Contest. For more entries, check out the contest page here: http://www.netbeans.org/competition/blog-contest.html