Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Flynnstone

macrumors 65816
Original poster
Feb 25, 2003
1,438
96
Cold beer land
My daughter is taking Computer Engineering.
She has a class in Java and other languages I'm sure.

What are good development environments for Java ?
Any help/incite appreciated.
 
Well, there's nothing wrong with the command line.

When you're learning, it is great for laying the foundation for understanding how source code relates to executable code. (The relationship starts off quite simply as a one-to-one relationship, but grows to be arbitrarily complex.)

And: I think people like the Eclipse IDE. Personally, I find it perfectly suitable for Android development in Java. (I have a lot of experience with other popular IDE's and while it has it's pros and cons, it is certainly in the same league.)
 
CodeRunner is very simple and just "works". Nothing complex, just a simple "Run" button. It also supports various languages, and is very clean.

There is also Dr Java which I used in my AP Computer Science class. Eclipse is good, too.
 
Eclipse is a great tool.
Especially for beginners it shows you the mistakes you make and almost why.
For testing and debugging it is just excellent.
I have been using it for 12 years now on various platforms.

Only thing is: you must indicate what errors you consider severe and which
are not (in the preference section). For example: do you consider not using
a method's result as an error.
Success!
;JOOP!
 
I recommend finding out what the class is using, or if there's a tool recommendation made by the instructor. Then if that tool runs on the Mac, use it. Only after determining the class tool (or its absence) should you look at Mac-specific tools.

Don't underestimate the value of being able to talk with classmates about how to solve problems with tools. One can't do that if one is using a completely different tool.

There's also the question of how work is supposed to be handed in. That may require a specific format, and thus dictate the choice of a tool.
 
As already said, Eclipse is pretty standard across the industry. It can / is used for many languages and within many companies. It certainly is powerful and expandable.

I also use NetBeans ( my currently preferred Java IDE ). I switch back and forth as each of the IDEs release improvements.
 
I recommend finding out what the class is using, or if there's a tool recommendation made by the instructor. Then if that tool runs on the Mac, use it. Only after determining the class tool (or its absence) should you look at Mac-specific tools.

Are there platform specific Java IDEs? That would seem pretty silly, given that all of the core things an IDE would have (javac, jdb) are themselves written in Java, which means your IDE would at least need to be capable of interfacing with Java, which generally means some of your code would be written in Java, which would probably lead to you writing the entire thing in Java (and, as far as I'm aware, every Java IDE is written entirely in Java.)

Anyways, it is true that Eclipse is the industry standard. The reason why is because when people ask this question, they are told Eclipse is the industry standard. Most people say that because it's the only thing they've ever used (which means they aren't very good people to ask in the first place, as they have nothing to compare it against.) Other people say it because most of their coworkers use it.

Basically, Eclipse is to Java IDEs as Windows is to computer OSs. God knows how it became standard in the first place, and it remains the standard because it is the standard.

You may have noticed that I didn't say what the "other people" that I mentioned previously actually themselves use. They (and I) use IntelliJ, because it's actually a good Java IDE. Whereas Eclipse is a flakey piece of crap known for stalling and crashing for no apparent reason, or for making retarded code completion suggestions, or for failing to remove error markers after problems are resolved,

IntelliJ works. Flawlessly. All the time. It's quick, too. And smarter. And it has Sublime style multiselection. It's so much better that they actually have a really expensive pro version of it. But you don't need that for learning Java. The standard free version is just fine.

Here you go:
http://www.jetbrains.com/idea/

You're welcome.
 
Are there platform specific Java IDEs?

I'm not aware of any, but there might be.

To me, this seems more likely to occur in an academic environment, where a professor or grad student may have developed an environment that they then use in the classroom. It might be quirky as hell, but for pedagogical reasons it's been incorporated as part of the teaching environment.

This is why I suggested finding out what the class uses or recommends, or if there are any requirements placed on the tool that may lead one to eschew one tool over another.

The tools used in teaching may differ from those used in the industry, or they may be the same. I've seen both: BlueJ isn't widely used in the industry, but is specifically designed for beginners. Eclipse is widely used in the industry, but is like being thrown into the deep end of the pool with lead weights on.

That would seem pretty silly, given that all of the core things an IDE would have (javac, jdb) are themselves written in Java, which means your IDE would at least need to be capable of interfacing with Java, which generally means some of your code would be written in Java, which would probably lead to you writing the entire thing in Java (and, as far as I'm aware, every Java IDE is written entirely in Java.)
I don't disagree with any of that. I wasn't thinking of an IDE that's specific to Java, but an IDE that's platform-specific which handles Java.

One that's been specifically named in the past is Bloodshed, which is Windows-specific, but handles multiple target languages:
http://www.bloodshed.net/
 
One that's been specifically named in the past is Bloodshed, which is Windows-specific, but handles multiple target languages:
http://www.bloodshed.net/

Bloodshed hasn't had an update in 10 years and, AFAIK, only handles C and C++. For some reason the professor suggested it in my Intro to Engineering class 3 years ago, but then I never saw it again after that.

I've never heard of BlueJ before... it mentions that it has a REPL. I may look into that the next time I have to write some Java code...
 
Whatever you choose, this is important:

- any tool that tells you what mistakes you already made is useful.
Saves time now, saves money later.

Btw.: I used several others before I fell for Eclipse in 2002.

;JOOP!
 
I'd recommend IntelliJ as well. Google is using it as its platform for the new Android Studio IDE and I think it's a huge improvement over the Eclipse based tools. My kids are using it to write Java code for their robotics club.
 
7 year Java software engineer here - Eclipse is the industry standard. If she gets a job as a Java programmer, odds are good that's what she'll use, so it wouldn't be a bad idea to learn it now. Not that there's a whole lot about the IDE to learn, but knowing its keyboard shortcuts and other small features can make coding a hell of a lot easier.
 
I'd recommend IntelliJ as well. Google is using it as its platform for the new Android Studio IDE and I think it's a huge improvement over the Eclipse based tools. My kids are using it to write Java code for their robotics club.

Seconded. I used to use Eclipse but the company I work for had a bunch of IntelliJ users and when the CE version came out I switched to that. I like it and this is coming from an old C programmer who used to use nothing more complicated than vim.
 
IntelliJ IDEA all the way. Other IDEs will also get the job done ( I've used most of them ), but IntelliJ IDEA is right at the top. https://www.jetbrains.com/idea/ Eclipse is decent and heavily used as well, but in my opinion, it has been going down hill for quite a few years now... it used to be the "industry standard" ( as someone mentioned above ). Again, it's still decent, but we have much better alternatives nowadays.
 
All IntelliJ all the time. Absolutely fantastic interface, terrifically productive. Eclipse has always been rather bloated, definitely can be buggy and my guess is that it's the "industry standard" because it is "free as in beer". That's most definitely true where I work.
 
NetBeans is a very good option

I do prefer NetBeans. I have been using it even before it was called this way. The original foundation was called Forte for Java and was developed by Sun, if I am not mistaken.

Eclipse is yet another very good option and quite popular among developers. I do like NetBeans interface and usability better but I have the sense that Eclipse has stronger industry support. When she eventually gets more experienced and moves to J2EE and starts having to integrate to ESBs, Eclipse should provide her a better set of development packages for platforms like Mule ESB, JBoss Fuse and WebLogic.

I also agree with previous comment that there is nothing wrong with Command Line. It does help a lot understanding the build process. Add to that, some time down the road a few Ant and Maven skills and it will make her life much easier when one of those IDEs fails on her and she has to understand what went wrong with the complex project she was trying to build.

I hope that helps.
 
1) Eclipse is backed by IBM.
2) when there is something you can't do in (e.g.) JAVA, you call .... a shell.
So the command line is your last resort.

;JOOP!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.