Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am a QA engineer interested in mobile development and automation.I have basic programming experience (intermediate level Python, C++ programmer) and as most companies choose Java for writing frameworks I need to pickup Java.

I use Ubutnu 12.04 LTS and I will be using Head First Java as learning material. When I searched for JDK options I found Oracle Java 6 and 7 and Open JDK. I read somewhere in Ubuntu forums that Java 6 is not recommended on Ubuntu systems and I am a little bit confused about which version should I use, that would be compatible with the book and the OS.

share|improve this question
2  
Look to the future, not the past. Learn Java 7 if you have the opportunity to do so. Currently, Java 6 is far more widespread, but it's not different enough from Java 7 to cause you too many difficulties if you've learnt Java 7. –  David Wallace Aug 11 '12 at 8:35
    
See my answer to a related question here: programmers.stackexchange.com/questions/115769/… –  World Engineer Aug 12 '12 at 0:12
    
I have been using openjdk-6-jdk with Eclipse in Ubuntu. I recommend it. –  user61852 Aug 16 '12 at 13:16

6 Answers 6

Any reasonably recent version of Java will do. Recent versions are incremental changes, not major language updates. Use Eclipse and ignore JDK.

share|improve this answer
    
There must be tutorials which demonstrate the changes from one version to another. So the OP could learn any version and then see what's new –  superM Aug 11 '12 at 10:33
2  
I have seen too many "developers" who can click buttons in Eclipse but have no idea what they are actually doing. For learning I think "Use Eclipse and ignore JDK" is bad. Tools are a nice help but you should always understand what these tools are doing. –  johannes Aug 16 '12 at 13:27

The Head First series is excellent, but is a couple of years old now and so will not have references to Java 7 and it's new language features. I'd recommend using Java 6 for learning and then following Oracle's Java 7 tutorial or grab a copy of The Well-Grounded Java Developer.

share|improve this answer

Go for the latest one. However, it should not really matter too much, because the core functionality and principles are stable and not changing that often.

In addition, look forward to improve your tooling. Using IDE like Eclipse, NetBeans, etc. is always preferable than text editor of your choice.

Reference to learn: Always go for official tutorials and resources first. Have look for this reference Java Technology Learning

share|improve this answer

Since you already know Python, the latest version should be ok. Python is a major source of inspiration for it. Also take a look at these posts: http://pythonconquerstheuniverse.wordpress.com/category/java-and-python/

share|improve this answer

Java's version numbering scheme doesn't really match up with other programming languages. After 1.0, the next "major" update was 1.2 in 1998 with the introduction of swing. The next "major" update was 5.0 in 2004 with the introduction of generics. Everything else was library updates that are significant in quantity but relatively minor in scope.

They also do a pretty good job of maintaining backward compatibility. I'm pretty sure you can still run binaries compiled with 1.0 on a 7.0 virtual machine. They are also slow to remove deprecated features, so you can still write programs that look very 1.0-like if you are so inclined.

In other words, pick up the very latest version you can. You're going to be able to follow tutorials written for Java 6 with very little difficulty, if any at all.

share|improve this answer
  • Language version: whoever told you not to use 6 on Ubuntu has no idea what he's talking about. It works just fine. If you're just starting out, you might as well use the latest version, but keep in mind that a lot of shops are still on 6. Also, 6 and 7 are actually pretty similar, so this choice doesn't matter that much.

  • Oracle vs OpenJDK: On Ubuntu, I'd use OpenJDK, since it's part of the distro, and you'll have much less troubles with installation and dependencies.

Good luck.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.