bugshaw: (Default)
Bridget ([personal profile] bugshaw) wrote2007-09-18 11:56 am

Java

Does anyone else get confused about Java/J2SE/JDK/JRE, how they differ, and what bits are needed for what, or is it just me? I'm not finding it at all obvious, a lot of the information I've found (including at java.sun.com) assumes you know which bit you want and are geared towards helping you find the download efficiently. I'm piecing it together. So much of my programming in the last ten years has been on paper rather than in any sort of development environment, I'm not finding it intuitive.

EDIT: I'm not saying "give me links please"; I'm trying to find them for myself :-)

And I have found links! Five of them, with partial information, that I can piece together. It's all a bit 1984, as the pages are mostly undated, and claim "We don't do it like that any more, we do it like this!" which gets confusing when they change something, change it halfway, or change it back in the face of popular demand.
sparrowsion: (cat5)

[personal profile] sparrowsion 2007-09-18 11:00 am (UTC)(link)
It's not just you. And you do realise some of them get renamed between versions? (Not to mention Java suffering from Sun's idiosyncratic version numbering to start off with.) It's one more reason I loathe Java.

[identity profile] bugshaw.livejournal.com 2007-09-18 11:27 am (UTC)(link)
I particularly enjoy the way that J2SE 6 is the same as JDK 1.6.

I cannot escape the Java Programming module, unless I take to teaching myself C++ in my spare time by the end of the week. I've sat through loads of lectures, and can witter about inheritance and polymorphism and abstract classes until people hit me with rolled up newspapers, but I've never actually written and compiled and run a Java program.

[identity profile] bellinghman.livejournal.com 2007-09-18 12:18 pm (UTC)(link)
C++ is a very big language (as opposed to Java, which has a very big library). So, much though I prefer C++, I think you're stuck with Java.

Not to mention that it's perfectly possible to write C++ in multiple modes. It's quite possible to use polymorphism in C++ without any use of inheritance, let alone abstract classes.

[identity profile] alex-holden.livejournal.com 2007-09-18 11:02 am (UTC)(link)
As I understand it: J2SE is one version of Java, the language. The JRE is the thing that Java apps run on. JDKs are what you need for developing Java apps - they include both the Java compiler and a JRE.

I think you want a J2SE JDK.

[identity profile] bugshaw.livejournal.com 2007-09-18 11:28 am (UTC)(link)
I think I want that too. I thought I'd downloaded it a while ago but that's just the JRE.

Later on I might draw a diagram :-)

[identity profile] smofbabe.livejournal.com 2007-09-18 12:34 pm (UTC)(link)
Not sure whether it will be helpful but there's a "New to Java" link on the main page at java.sun.com that leads to some information sources like articles and a learning path and such.

[identity profile] d-floorlandmine.livejournal.com 2007-09-18 01:11 pm (UTC)(link)
It's not just you - it got me at the start of Grindstone ...

And again now, as I'm trying to do an online course which relies on Java to power parts of itself - except it looks like it requires 1.5 rather than 1.6 (aka SE 5 rather than SE 6). [sigh]

[identity profile] bugshaw.livejournal.com 2007-09-18 01:14 pm (UTC)(link)
I should write this up. (And then I will find loads of places where it's written up already)

If you get it together write it up

[identity profile] dmsherwood53.livejournal.com 2007-09-18 02:02 pm (UTC)(link)
Post it on your web page under a catchy title that browserds can find. If your into serving the community that is.

[identity profile] alexmc.livejournal.com 2007-09-18 02:25 pm (UTC)(link)
It is in fact so complicated that most software recruitment agents get it wrong.

All distributions of Java are either a JRE or a JDK.
a JRE is what you need to *run* java. A JDK is what you develop with, but also includes a runtime environment too. Sometimes the JRE is included as a web browser plugin.

You will always want a JDK since you sometimes do development.

Now, the particular flavour of JDK depends on what software you want to run. There is a small Java for use on mobile phones and such like - called J2ME (I think).

The "Standard" Java is called J2SE (remember the 'S' for standard.) This is probably what you want.

Now Sun realised that there were loads and loads of things they wanted to include *with* Java which werent that standard. They bundled them up and called them "Enterprise Edition" (aka J2EE). This includes java servlets (for websites) and most importantly this bollox technology for distributed computing called "Enterprise Java Beans" or EJB. Some people use "EJB" and J2EE interchangeably, but they are ignorant.

So if I dont mind the extra download time and disk space then I usually go for a J2EE distribution myself.

NOW the Java language itself went through a few releases. Version 1.1 is (I think) the only version you are supposed to expect for applets, but unless you have a reason not to then you should jump in straight for Java 1.5 or 1.6

I would also recommend downloading and using the Eclipse IDE ;-)

Goodluck!





[identity profile] bugshaw.livejournal.com 2007-09-18 10:05 pm (UTC)(link)
Thanks - my course requires me to install JDK 1.5 (which I now know is J2SE 5.0), BlueJ and Eclipse. Two down, one to go...

[identity profile] alexmc.livejournal.com 2007-09-19 06:32 am (UTC)(link)
Never heard of BlueJ

[identity profile] alexmc.livejournal.com 2007-09-19 06:47 am (UTC)(link)
Oh yeah, and sorry about telling you stuff which you probably already knew. I felt that I ought to write it down while I had the energy and inclination. :-)
ext_17706: (sothoth remix)

[identity profile] perlmonger.livejournal.com 2007-09-18 02:26 pm (UTC)(link)
I hate java; it's a nasty, ugly language. It has, however, got a lot easier to install here now that Sun have opened their licencing such that the thing can be included as a semi-detached package in Linux distros - "apt-get install sun-java6-jdk" is all I needed - though I'm still tied to 1.4.2 for werk as that's what sits underneath CFMX 7.

[identity profile] alexmc.livejournal.com 2007-09-18 02:42 pm (UTC)(link)
> "apt-get install sun-java6-jdk"

I was so happy when I saw that work for the first time :-)