Greatest Java Release .... EVER!

(no, you don’t get to vote for 1.0 :P)

This poll was sparked by the claim that Sun was telling people 1.5 (5) was the most important release ever - which I happen to consider BS.

Feel free to justify your choice with a concise elegant speech extolling it’s virtues :D.

PS I’ve guessed the release years from memory - feel free to correct me if I got some wrong.

PPS does it make a difference if you consider it from the game-developers perspective only?

PPPS yes, I am bored; Velocity is buggered and I’m waiting for responses from various friends etc to my cry for help :(.

1.4 was the release that make game development in Java really possible, so my vote goes for it :wink:

EDIT: fixed spelling.

Same here.

Cas :slight_smile:

I found the quote from the Sun marketing person:

http://java.sun.com/developer/technicalArticles/Interviews/hamilton_qa.html

Pity Sun doesn’t employ “java developers” to write about java, rather than poety and fiction authors ;D. Shrug; that’s a problem with journos generally, I guess…

Anyway, I have to correct my earlier statements - I’d forgotten about the GC improvements in java 5, and also I haven’t tried out the new management (SNMP style) stuff. SNMP to date has been unusable (we’ve tried it and given up because the small benefits of JMX clearly weren’t worth the effort), so this could be really good … for server developers.

I think it’s rather telling that the “lead architect” for Java 5, when asked what he thinks is the most important part, answers with something that is only really applicable to J2EE, and offers Generics as the other alternative.

So…Sun still hasn’t kicked itself into understanding the value of java-on-the-desktop (meanwhile kudos to the small islands within Sun which have seen this, especially populated by people we see here, not just GTG but also trembovetski etc)…their head-honcho for this release could only offer something mostly useless and something effectively J2EE-specific (there are advantages in J2SE apps, but it seems very narrow benefits). :(.

1.4 as well…

But from my point of view, each version of java has been a great improvement for me (except 1.3 maybe, which was just a speed & library update)… I’ve started with 1.1, then 1.2 brings a lot of new things, 1.4 was the best release for game developpers and 1.5 comes with a lot of new features too…

Chman

I like the new features that have been introduced in 1.5 (5.0) and I thought 1.4 was a great performance increase, 1.3 didn’t even apear on my radar as anything special.

For me 1.2 was the biggest change/step forward, the different event processing model, the introduction of Swing (I use these for work, not games), that was also the time that people started to use Java in a big way, version 1.02 just wasn’t ready for the big-time.

Now all we need is a specific GVM (Game VM) that is cut down in the same was as J2ME is, just leaving the bare essentials for game programmers. (I know Cas will hate me for saying this, but you can’t force people to use LWJGL all the time, so the GVM may include Java2D stuff by default).

Andy.

1.3 was great, because I didn’t got BSODs anymore when trying database stuff… yea BSOD each time with 1.2. Really.

1.4 was a big step forward. Getting usable for games etc.

1.5 has finally a usable timer. Wow. Great… but sound is totally b0rked.

Having that said… 1.5 would get my vote if there would be working sound. I hope they fix that soon-ish. Oh and there isn’t a mac vm yet… so it’s pretty useless.

I reckon J2ME + LWJGL + one of them newfangled mobile 3D chips == Killer App. But Java2D??? AAAggggh!

Cas :slight_smile:

[quote]But Java2D??? AAAggggh!
Cas :slight_smile:
[/quote]
“AffineTransform” and “Area” are some of the best API design Sun’s java people have done - ever. Sadly, the implementation is slightly sub-par (performance of Shape’s and Area’s is desperately poor in some cases because they shortcutted pretty standard algorithms that would have given better performance).

If Sun made all the standard libraries the same quality of API design as these I would be a very happy bunny.

Of course, AWT is some of the worst API design they’ve ever done. Quite embarassing to have those two side-by-side, really…

Are there enough people around here that even remember pre 1.4? ??? Seeing the opinions expressed in many posts, particularly over in the JOGL forum seems to indicate that most developers thing Java only began 2 years ago with 1.4.

Sigh… Shutup kids and bring me my walking stick!

1.2 gets my vote as that’s when Java started becoming real. Though, really, I would love to include 1.02 because that’s when all us pre-beta user/developers actually got to play with a real, working system finally. Most revolutionary for me as my first commercial product was developed on the beta and released on 1.02, and it’s been almost full time Java development ever since.

I started with v1.0.2 over 7 years ago at just as I was leaving university…I remember when Applets we THE BIG THING!!!

Oh how times have changed.

Andy.

v1.0.2 sounds familiar, athough for me it was when I just ended my first year at Uni. Telnet chat channels were all the vogue and Java I’m afraid didn’t cut it.

And now… well, I still don’t see why I should want to program in anything else :slight_smile:
[except of course C++, php, perl, Ada and anything else that gets me work]

Kev

I remember writing both a Telnet and passive FTP client way back when. The only problem was the inability of Java to do out of band network comms - and it still doesn’t. ??? >:(

[quote]Are there enough people around here that even remember pre 1.4? ???
[/quote]
I fondly remember using 1.02. I had written an applet that used the basic http functionality in URL to call out to CGI scripts to access the database. I remember, back at that time, thinking that I needed to develop an ODBC-like database API for Java, because it was such a pain in the ass to get at the database through CGI. (It appears I wasn’t the only one thinking that). You could tell how beta the 1.02 API was in general, because java.awt.Choice didn’t have methods to remove an item. (Seriously - look at the javadoc for Choice. It says that remove was added in 1.1).

1.1 was an interesting release. We got inner classes, we started getting JFC/Swing as an add-on library, and we had a new listener event model (addActionListener(), et al), instead of the hacked handleEvent() stuff.

For about the same reasons as Mithrandir, I’d say 1.2 was probably the most important release. It’s when Java really started to get interesting. JDBC was really coming onto the scene, Swing became part of the API, we were starting to see some serious JIT compilers come out, and probably a whole lot more that I can’t remember.

1.4 had a pretty serious impact too. Probably the two largest improvements were the inclusions of NIO and the oh-so-wonderful DirectByteBuffer interface which made all sorts of vast improvements in performance possible. This is when Java started becoming a real contender for client-side applications, and we started seeing the birth of all sorts of serious bindings to 3rd party multimedia libraries.

God bless,
-Toby Reyelts

[quote]1.3 didn’t even apear on my radar as anything special.
[/quote]
I was thinking “yeah, me too”, and then I remembered that 1.3 contained JavaSound!
I don’t think I found out about it until just before 1.4 anyway, though.

I voted 1.5 (please don’t kill me) because I’m happy with generics in the main (i.e. having a typed collection and not having to cast when pulling stuff out), I think the new for() syntax is pretty handy and JavaSound has made massive advances (e.g. MIDI ports), not that I’ll get to use any of that at work for the next year (urh… and MIDI ports never).

I only wish IntelliJ weren’t trying to charge me more to upgrade than the original product cost! :o

wow Mithrandir nice estimate, I started two years ago (minus one month). Since there has only been one release since I’ve been coding, I shan’t vote :-[

without 1.1 or 1.0 we wouldnt have the other versions.

[quote]without 1.1 or 1.0 we wouldnt have the other versions.
[/quote]
::slight_smile: that’s why I didn’t include 1.0, because it was too easy to argue “only one version really matters…”

It’s really hard to choose. 1.1 was really a thing of beauty. It was simple, portable, and had a kick-ass core library. i.e. It was everything C/C++ wasn’t. (At the time, anyway.)

I actually stuck with 1.1 for quite awhile, as I felt that Sun had seriously screwed up Java with the 1.2 release. In hindsight, 1.2 was necessary, but I still tend to think that it would have been better if it was introduced piece-meal. That would have given the community more of a chance to give feedback and push Sun to keep it small, fast, and stable.

1.3 was what finally ripped me away from 1.2. It finally made remote objects usable, added neat APIs like JavaSound, and was all-around thin, stable, and fast. In other words, Sun cleaned up some of their 1.2 mess.

1.4 was a serious shock to the 'ol system. It introduced a whole new set of APIs that finally made every Java programmer’s dream come true: Full Screen games in Java! What more could you want? Ok, so it wasn’t exactly the most stable, but it worked, and it worked well.

1.5 almost seems like another language. Honestly, I kind of feel like Sun sold out to the “syntactic sugar” crowd on this one. I haven’t noticed any particular APIs that make me happy, and the JavaDocs have again doubled in complexity. (Anyone remember how simple 1.1 JavaDocs where?) On the bright side, JavaSound and Full Screen seem to work better than ever.