tags:

views:

138

answers:

6

im learning how to code in java and the tutorial says that i have to download SDK from their site.

but im so confused cause i see java SE, ME and EE and i dont know what they're for.

to code in php i need MAMP and a IDE (netbeans).

what do i need to code in Java? Java server (eg jetty)? and what more?

+1  A: 

The JAVA SE (Standard Edition) is enough:

http://java.sun.com/javase/downloads/index.jsp

See this article of Wikipedia

Java SE was known as Java 2 Platform, Standard Edition or J2SE from version 1.2 until version 1.5. The "SE" is used to distinguish the base platform from Java EE and Java ME.
The "2" was originally intended to emphasize the major changes introduced in version 1.2, but was removed in version 1.6.

Java Platform, Enterprise Edition (EE) is a related specification which includes all of the classes in Java SE, plus a number which are more useful to programs which run on servers as opposed to workstations.

Java Platform, Micro Edition (ME) is a related specification intended to provide a certified collection of Java APIs for the development of software for small, resource-constrained devices such as cell phones, PDAs and set-top boxes.


Note: the all JSE, JEE, JME naming convention has been introduced in mid-2005, as presented in the article JavaOne 2005: Participate in the Future of Java.

Sun is dropping the "2" in the platform name, and the official naming with versions is now Java SE 5, Java EE 5, and Java ME.
Although, I heard a very senior Sun official use the terms "JSE" and "JEE", so expect those words to become part of our standard vocabulary too.

The reason for the change is to simplify the naming conventions and focus on the 'Javaness' of the editions.

VonC
A: 

Look at http://java.sun.com/javase/downloads/index.jsp

If you use a modern GNU/Linux distribution, you can install OpenJDK using your distros package manager.

+1  A: 

Get it from Here.

To get started with Java you only need Standard Edition (SE).

  • SE (Standard Edition) is the basic stuff. You need this to do the other two.
  • ME (Mobile Edition) is to code for Java ME mobile platform.
  • EE (Enterprise Edition) is to develop enterprise/web software
Pablo Santa Cruz
even if i need to code a website? dont i need EE?
weng
and are all these free to use?
weng
+2  A: 

If you just want to code Java apps (to run on the desktop and in the browser as applets), you want the Java SE SDK. If you want to code Java servlets (to run on a server and generate web pages), you want Java EE and an application server (such as Tomcat, Resin, or others).

fennec
thx! this little information told me everything i neeed to know. Jetty and Glassfish works too i guess?
weng
Yes, they'll both work. Glassfish is a full Java EE container while Jetty does only servlets (which is enough to begin with).
Michael Borgwardt
where can i download SE and EE for Mac?
weng
If you just want to code webapps you can get Java SE and download the open-source Jetty library separately. You can then avoid a lot of the worst aspects of the Java EE APIs, such as all the XML configuration, servlet context, etc. and just give your servlet classes constructors like any other class and pass their dependencies to them directly on instantiation.
Nat
but if i choose to use java EE. do i have to install java SE first? And is java SE = JDK? So Java EE != JDK?
weng
Java EE is a superset of Java SE. Both provide JDK capabilities.
fennec
+1  A: 

http://java.sun.com/javase/downloads/widget/jdk6.jsp A link which points directly to the Java SE JDK (SDK). You should take the Standard Edition (Java SE). It is enough at all when you begin with Java.

gnol
+1  A: 

As per the comments:

i want to code websites with java as backend.

Then you need to go for Java EE. This is however an abstract API which everyone is free to implement. The "Java EE" download from Sun is just Sun's own implementation. It's also known as Glassfish.

As it's an abstract API, there are more choices, such as Apache Tomcat, Eclipse Jetty, JBoss AS, etcetera. If you rather prefer one of them above Glassfish, then you don't necessarily need to download Java EE from sun. Just the Java SE JDK from Sun is enough in combination with the Java EE webserver/servletcontainer implementation you like to use.

would be great with tutorials/books teaching me how to setup everything like LAMP and the basics in java.

I've answered this before in this topic: http://stackoverflow.com/questions/1958808/java-web-development-what-skills-do-i-need/1958854#1958854

BalusC
thx for the excellent explanation!
weng
but where do i download SE or EE for Mac? u can only choose between solaris, windows and linux on their site
weng
Java SE JDK is already included in Mac, you don't need to download it separately. Also see http://developer.apple.com/java/. If necessary check Apple's software Update Service for newer versions. The Sun Java EE implementation is also available for Mac OS. Just choose from *platform* dropdown.
BalusC