Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can anyone help me make sense of all these Java versions?

Tags:

java

I am taking a Java programming class for school and the book required is for Java 5 SCJP Exam 310-055. I looked it up, I don't think that SE 5 is even supported anymore. Is this bad? The instructor says if I pass the Java Certification and show proof I can skip the class and get an instant A, but if it's outdated I don't know how I can even do this?

I am also confused about the way Java handles the different versions. What the hell does Java 2 mean? Is Java 5 actually Java 2 version 5? What does SE 5 mean and how different is it from SE 6? I also see EE, what's the difference between SE and EE? What is the most up to date version of Java right now? Does JDK just mean SDK for Java? I am so confused.

Somebody needs to be slapped?

Edit: Just found out there is also a Java ME? D:

like image 726
MetaGuru Avatar asked Mar 23 '11 15:03

MetaGuru


4 Answers

Most of these questions are answered in these Wikipedia pages:

  • Java Platforms - SE, EE, ME
  • Java SE version history
  • Java EE version history

From a language perspective, Java 5.0 and 6 are virtually identical. The differences between these two versions are in the area of the runtime libraries, and in performance related aspects of the platform. I think your instructor has made a good call.

like image 161
Stephen C Avatar answered Nov 09 '22 20:11

Stephen C


I looked it up, I don't think that SE 5 is not even supported anymore.

You don't have to worry about this. Most books you read on SE 5 will still be relevant. You should concentrate on SE 6 though IMHO.

What does Java 2 mean? What does SE 5 mean and how different is it from SE 6?

Java 2 = SE n = Java 1.n where n >= 2 && n < 6. (I hope thats a fun way to say it rather than a confusing way ...)

Basically Java 1.2 and newer versions are Java 2.

SE 5 is Java 1.5

SE 6 is Java 1.6


A little more clarification:

Java 1.1 | Java 1.2 | ... | Java 1.5 | Java 1.6 |

         |           Java 2          |           

         |          | ... | Java SE5 | Java SE6 |

         |          | ... |  Java 5  |  Java 6  |

You can see the difference between SE 5 and 6 here.


like image 24
Simeon Avatar answered Nov 09 '22 18:11

Simeon


The most recent version is Java 6 (aka 1.6) with Java 7 being developed, if I remember correctly.

SE means Standard Edition, whereas EE means Enterprise Edition. It's just a different set of standards and libraries but both complement each other (i.e. you can't normally use EE without SE).

As for the exam: I prepared for the Java 5 SCJP and did the Java 6 SCJP. That was no problem since between Java 5 and 6 there were only additions in the standard library (part of SE ;) ), no real changes in the language itself (as opposed to the changes from 1.4 to 5, except for the version name).

like image 24
Thomas Avatar answered Nov 09 '22 18:11

Thomas


Java SE 6 is 98% the same as Java SE 5.0. The differences are subtle and you could program for years and never need to know what they are. (BTW There was no Java 5 or "SE 5")

If you are an expert in Java 5.0, that would more than qualify you to use Java 6.

I wouldn't worry about "Java 2 SE" as this an old marketing name which doesn't apply to any recent version of Java.

Java SE 5.0 is not provided free by Oracle, but you can get paid for support for it and previous versions.

Java SE 6 is provided free.

like image 39
Peter Lawrey Avatar answered Nov 09 '22 20:11

Peter Lawrey