Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

1.4 vs 1.5 - why don't people load new

 
Matt Fielder
Ranch Hand
Posts: 158
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've seen several instances of people either sticking with 1.4 or even 1.3 and not loading 1.5. Is there a reason for this? I'd think that people would want to run the most recent 1.5.

Is there not that much benefit to upgrading?
Is there a compatability issue?
 
Jeff Bosch
Ranch Hand
Posts: 805
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
One reason is that some people like to stick with what works. Have you ever written program that runs fine on, say 1.4.2_04, yet crashes the JVM in 1.4.2_06? I've seen it, and the toll it takes on the programmers is not pretty to see.

Often a new major version release is very buggy and some people don't like the potential for instability that comes with life on the bleeding edge, but will opt to wait for several minor releases to fix the initial slew of bugs. Also, some people do not need features beyond the ones their using. You'll find this fairly often with maintenance programmers.
 
marc weber
Sheriff
Posts: 11343
Java Mac Safari
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Here's what I'm wondering:

If code is written using 1.5 features and compiled using a 1.5 compiler, then is a 1.5 runtime environment required?
 
Jeff Bosch
Ranch Hand
Posts: 805
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yep.
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm stuck on a version of WebSphere that only runs 1.3
 
Jimmy Die
Ranch Hand
Posts: 97
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

In my situation. I have about 12 inches of 1.4 books, and at times I feel I'm just understanding 1.4. So I'll just wear out these books for a few more months. While I'm grasping some of the finer details of 1.4 I won't have to worry about those changes that I've not had the time to properly investigate. I feel like if I swap into 1.5 then I'll get side tracked from my learning targets.
 
Tony Morris
Ranch Hand
Posts: 1608
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've seen people still continue to use java.util.Vector and java.util.Hashtable.

Why do people use APIs that became redundant with the introduction of J2SE 1.2, which is 7 years old?

I don't know either - afraid of change perhaps?
 
Fisher Daniel
Ranch Hand
Posts: 582
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have installed J2SE 5 into my computer.
And I have a lot of applications which are build using previous J2SE version (mostly 1.4).

When I compile those source codes using J2SE 5, I ussually have compile-error. It is about using variable's identifier that is same with new keyword in J2SE 5 such as enum.

Because of that I have to rename those identifier so that my application can run well in J2SE 5.

Correct me if I am wrong..
thanks
daniel
 
Paul Sturrock
Bartender
Posts: 10336
Eclipse IDE Hibernate Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

I'm stuck on a version of WebSphere that only runs 1.3

Ditto. Anything with third party dependencies like this tends to be written in older versions of the JDK (in my experience particularly if the third party is IBM). A colleague of mine was only recently able to ditch a dependency on writing code which complied with the EJB 0.9 spec!
 
Jeroen Wenting
Ranch Hand
Posts: 5093
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
you shouldn't have to rename anything but you may need to specifically add a -source 1.4 flag to the compiler.

As to sticking with older releases:
Our main deployment platforms are SCO (Unixware/OpenServer) and AIX, 2 platforms that have no 5.0 JVM yet.
I used to work for a company where they were using an old appserver which wouldn't work with anything written to a newer than a 1.3.1 JVM (even though it allowed a 1.4.0 to work itself, the internal JVM for servlets etc. was 1.3).

I used to deploy to OS/2, back when there were 1.3 JVMs for Windows. The latest JVM for OS/2 at the time was 1.1.6 or so.

Then there's corporate policy. I once applied for a consultancy job at a company that had a hard policy to NEVER use the latest major and minor release.
If 1.4.2 was the latest they'd stick with the second to last 1.3 release (so 1.3.0).
They wouldn't even install the latest service packs and hotfixes(they were upgrading to NT4 SP3 when SP4 came out and only after Windows 2000 was released).
However misguided such policies are there's often no way for a development group to get them changed.
 
marc weber
Sheriff
Posts: 11343
Java Mac Safari
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Paul Sturrock:
...particularly if the third party is IBM...

Like Lotus Notes. (Ugh.)
 
marc weber
Sheriff
Posts: 11343
Java Mac Safari
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Forgive me for pressing the issue, but...

My impression is that many of the enhanced features are simply more convenient ways to write Java code -- for example, replacing what might have required 3 lines in a previous version with a single line in the new version. But (in these cases) wouldn't the compiled class file essentially be the same -- still runnable / interpretable in a previous runtime environment?

Does anyone know whether this type of back compatibility (or more accurately, "back-runtime-environment compatibility") is addressed in a Sun article?

I haven't yet struggled with issues of Java deployment, but if applications compiled under 1.5 definitely require a 1.5 runtime environment, and you can't be sure of your client's platform, then this appears to be another reason to postpone upgrading. Consider, for example, that 1.5 isn't yet available on Macs, so you can't even bundle the runtime environment with your app.
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, some new language features compile into byte code compatible with older JVMs. Sometimes that means you can sneak a few classes or jars into the classpath and use them. I've never tried it, tho!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic