Originally posted by Tomas Hertzman:
Hi.
Maybe a strange question but I felt that here is the place I can ask!
We are using a Java App at work (an editor tool for text documents)that requiers us to use JRE 1.3.1_XX (some version number). Does anyone here knows why you would want to do that? We can't even start the app if we have a higher version of JRE installed. Isn't the JRE backwords compatible? I mean, as far as I know you do get quite a speed increase in the latest JRE versions so it is really a shame to do this kind of thing. Or can anyone think of any reason why?
I have seen hundreds of projects like this, and will probably see more. While I'd like to offer you an optimistic explanation, reality unfortunately prevents me from doing so. In *all* cases that I have observed, this is the result of general incompetence on behalf of the developers. In fact, I have watched a rather large (in fact, the largest Java project on the planet) project evolve its support contract based on the mistakes that its many hundreds of developers make. For example, I might be asked to write some component and I might add some assert statements. Since a 1.3 runtime is supported, and so assert statements are not, I will then engage in a bitter dispute about who needs to change their stance - since I am a lowly Australian and in this case, our operations are driven and funded by the US, I will likely be forced to concede regardless of the technical merits of my argument (or lack of). However, note that a reversal of roles would also see me conceding - again due to a politically motivated agenda - not a technical one.
In more simple terms, you end up with a big nasty contradictory mess, that customers pay lots of money for, and you drive yourself crazy trying to logically explain the reasons for its existence. My biggest piece of advice is "Do not attempt to rationalise your observation" - it will truly drive you nuts.
So did I guess right?
