Question

I've been using Xcode for the usual C/C++/ObjC development. I'm wondering what are practical considerations, opinions of Xcode, Eclipse or NetBeans usage on a Mac for Java development?

Please don't include my current usage of Xcode in your analysis.

Was it helpful?

Solution

I like NetBeans on OS X for Java.

It seems like I spend more time configuring eclipse to get a decent java programming environment. With NetBeans the setup time is less and I can get down to programming quicker...

OTHER TIPS

You missed the Rolls Royce of all IDEs. IntelliJ Idea.

If you can afford to buy a personal license, go for it. Edit: There’s a free Community Edition which is a superb way to get started with Java, Scala or Kotlin.

I would advocate Eclipse on the Mac for Java, mosly because I had a very good experience. I'm not going to bang on about its merits as an IDE, but here are some unexpected advantages I found:

  1. When my employer switched IDE's to Eclipse I was way ahead.
  2. Pretty much any language I fancied trying out had a free IDE somewhere as an Eclipse plug-in, so I have a very consistent multi-language development environment.
  3. When I eventually went over to the Windows dark side I could use the same development environment, which was a huge relief.

But this is a bit of a religious topic, so expect to get a whole bunch of different opinions

Just to be sure you give them fair consideration, Eclipse and Netbeans have gone back and forth for a while. Eclipse used to be a good deal quicker because they didn't use Swing.

Now Netbeans has caught up (perhaps surpassed) and has a lot of momentum.

You will get more votes for Eclipse. Period. This is because it was better and more people use it--and it's just human nature to feel what you are using is the best and everyone should use it.

Because it was better does not mean it's better now. Netbeans has more languages supported and more all-around support--so it's growing faster.

Currently I use Eclipse--I've used both (and IntelliJ and TextMate and Notepad...) and I can tell you that Eclipse has exactly one feature over netbeans... Mylyn (it's been renamed, it used to be called Mylar). This thing is pretty damn cool, but few people seem to even know it exists.

So, if you don't know a bunch of keystrokes that already tie you to an editor, the up and coming is Netbeans--don't pass it up because of a bunch of Eclipse votes.

Better yet, get good with both--it can't hurt and makes me a lot more comfortable when a company requires one or another. Don't whine when they make you change.

Do not use Xcode - Java support in the later versions is very much lacking. Even Apple, who make it, suggest you use a different IDE. As for NetBeans and Eclipse, they both have their strengths and a large number of vocal followers. I suggest you try both and use whichever you find more comfortable.

I for one use TextMate and shell scripts. But I'm strange.

Well, I can chime in with Netbeans, it seems to work really well. There are some function key issues that I believe has a solution, I just haven't solved it. I've been quite happy with Netbeans. I like its "all in one out of the box" nature over the pick and choose plug in nature of Eclipse, but that's just a matter of taste.

Another vote for IntelliJ. http://www.jetbrains.com/idea/

I used both Eclipse and Netbeans. I like Netbeans more than Eclipse. From java editor point of view, both have excellent context sensitive help and the usual goodies. Eclipse sucks when it comes to setting up projects that other team members can open and use. We have a big project (around 600K lines of code) organized in many folders. Eclipse won't let you include source code that is outside the project root folder. Everything has to be below the project root folder. Usually you want to have individual projects and be able to establish dependencies among them. Once it builds, you would check them into your source control. The problem with eclipse is that a project (i.e .classpath file) dependencies are saved in user's workspace folder. If you care to see this folder, you will find many files that read like org.eclipse.* etc. What it means is that you can't put those files in your source control. We have 20 step instruction sheet for someone to go through each time they start a fresh checkout from source control. We ended up not using its default project management stuff (i.e. classpath file etc). Rather we came up with an Ant build file and launch it from inside Eclipse. That is kludgy way. If you had to jump through these many hoops, the IDE basically failed. I bet eclipse project management was designed by guys who never used an IDE. Many IDES let you have different configurations to run your code (Release, Debug, Release with JDK 1.5 etc). And they let you save those things as part of your project file. Everyone in the team can use them without a big learning curve. You can create configurations in Eclipe, but you can't save them as part of your project file (i.e it won't go into your source control). I work on half dozen fresh checkouts in a span of 6 months. I get tired to recreate them with each fresh checkout.

On the other hand, Netbeans works as expected. It doesn't have this project management nightmare.

I heard good things about IntelliJ. If you are starting fresh, go with Netbeans.

My 2cents.

It depends what you want to do. My experience with Java on the Mac is about a year old by now, but NetBeans had a much better out-of-the-box support for Tomcat (in particular) deployment, and generally seemed to be a little more user friendly. For instance, the Netbeans beta I tried out used forms for web.xml configuration, in comparison to Eclipse's plain ol' XML editor (and in Europa, at least, the XML editor's row redrawing was a little sketchy on the Mac).

That said, for that project, I wound up doing a bit of configuration (for a was a n00b) in NetBeans, then moved the XML config files over to Eclipse, and developed the rest there. As others have mentioned, the zillions of plugins are great, and in general the experience is just very consistent. Especially if you have to work on another platform.

If Eclipse had better OS X bindings (does it have any? I'm unaware), I would use that for Obj-C development, as well.

I have tested editors for Java extensively and prefer Netbeans to Eclipse by a significant margin. NetBeans has excellent support for Java, a very beautiful user interface and powerful features. It also has excellent support for C++ and I would choose for this it over, say, Visual Studio. Consider JCreator classic edition, an excellent place to start although not as powerful as NetBeans, easier to get into at first.

I'd also defend NetBeans plugins against Eclipse because although Eclipse is highly praised for the flexibility it is afforded by plugins I think this is largely down to the fact that the also very powerful plugins features of NetBeans are not shouted about so much, even though it is also very strong in this area. I have seen computational fluid dynamics applications based on the NetBeans platform, very impressive, I just don't think NetBeans developers make such a big deal over it because it's already a complete package from the moment you download it, powerful without any need for configuration with plugins.

If you're using Eclipse, be sure to use Ganymede (3.4) or later. They run great. The previous version (Europa) ran poorly on my Macbook Pro.

I happen to use Eclipse on my Mac (actually EasyEclipse which comes preconfigured with the most important plugins) and I must say it runs great. I have a less positive experience on Linux though.

I have also used NetBeans 6 recently and I was very impressed. It seems to have more functionality build-in. Most of the functionality is undoubtedly also available as an Eclipse plugin though, if you can find it.

Currently I have the impression that if you start developing Swing, Netbeans is your best option. Otherwise, Netbeans or Eclipse with a handy set of plugins are both excellent options.

If you do check out eclipse, give a thought to EasyEclipse (free) or perhaps even MyEclipse (not free). They come with the most usefull plugins preinstalled.

I've worked with both Eclipse CDT and NetBeans's C++ support, and I must say that in my experience CDT is far superior in both stability and in features. It's really impressive how well the CDT indexer works; the tooling is almost as good as Java's. I'm also a huge fan of JDT when compared with NetBeans for Java development. The workflow is just so much smoother, if only due to the incremental compiler (compile-on-save).

One thing about NetBeans though, its UI does flow a little better in the "Mac style", which is ironic seeing as SWT was created to provide a more native interface. The next release of Eclipse should be based on Cocoa (rather than Carbon, which is the current), but that won't be until next June.

Final note: the whole "in box" vs "plugins" issue is entirely moot and it has been since Eclipse Calisto (two years ago). Now, with P2 (the new update manager), it's dead easy to get different features in the IDE. I can start with a download and get a fully-functional JDT/CDT/Mylyn environment up and running within five minutes of installation (assuming a reliable internet connection).

I use Eclipse for development, and have had nothing but pain. It has more bugs than a bait shop, and is one of the worst written programs I have ever used. Use Xcode if you want to save time and frustration.

I'll suggest Eclipse because it has a zillions plugins and is almost a standard for Java development. But I've heard that NetBeans is really nice since their latest release specially if you want to do desktop application(Swing) .

I can't comment on Xcode since I haven't play with it.

Just from my experience, Eclipse is very large IDE. It needs more work to become better suited for the Mac environment. Netbeans is the best out of box experience. After installed, it is essentially ready to go. After I tried IntelliJ IDEA I forgot every other kind of IDE :P

But at the end no one wins over the other.

IMHO as USUAL !

Eclipse, because it has better support of C++ on mac. I used Netbeans long time ago, did not like it.

Use Java based IDE on mac only if you have to (especially when doing Java development). Xcode already supports C/C++ development, so no need to switch.

am I missing the point here or are developers still considering using Mac for java development? I was a strong and rigid supporter of Mac as a development environment but ever since Apple's decision to not port java on later versions of os x my confidence has shaken a little. And please do not even think about doing any j2EE deployment on Mac as it will bring about a tsunami of woes. So long Java but I like my mac book pro too much . FYI:I still use Mac for java development but sometimes I wish I were a python developer :(

From my experience, I use both Eclipse and Intellij (license) for J2EE development.

For overall of speed on IDEs, Intellij is faster and crashed lesser than Eclipse. I used Eclipse first and later on, I got used to Intellij and fell in love with it. However, Google's Android Studio is Intellij based. It's more modernized. Debugging is much easier especially you can evaluate a block code during the debug mode to see how it behaves instead of just inspecting objects. I highly recommend!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top