moving from java 5 to java 6 or 7
Hi all,
We have a client that wants to move from java 5, and doesn't know if he should upgrade to java 6 or java 7.
Zvika posted a while ago a link to an interesting article that suggests skipping on java 6 and moving straight to java 7:
http://www.sdtimes.com/link/32737
What do you think? Would you skip java 6 and move straight to java 7?
Note that the reason the client wants to upgrade is mainly performance (after they fine-tuned the GC and upgraded to the latest jboss).
Thanks,
Elad

Comments
I would go for 6. Only because it's more stable and supported then 7.
Unless there's a specific feature that's worth the risk of stability - choosing 7 sounds like the "misadventure of shit-man" to me.
Assuming that moving to 7 isn't recommended (as you said),
but I still want to upgrade an existing code from 5, is it worth moving to 6?
Or 6 is just a minor release, and it's better waiting for ~year and then upgrade to 7?
I don't think 6 is considered a minor change...
Just working out the incompatibilities might turn out as a considerable task...
I agree, using the 'minor' is wrong.
Quoting from the link Zvika gave (http://www.sdtimes.com/link/32737):
"Skipping Java 6, however—that I do understand. Its changes were incremental.
The upcoming Java 7 shows all the signs of being a major release, on the order of Java 5"
Would you recommend updating an existing code to java 6?
I saw the incompatibilities, and they doesn't seem so hard to fix (some of the features mentioned there may not be used in the application), I'm more afraid from problems that Sun doesn't document ...
You think everyone else in Tikal is dead?
no - but since we don't remember how do you look like - we enjoy - at least- hearing your 'voice'
Will it be too complicated to run on both platforms during some definite testing period?
Adi, your previous car produces a lot of noise, do you think you can fix it?
I would move to Erlang: http://www.lshift.net/blog/2006/09/10/erlang-processes-vs-java-threads
1. It's recommended to release the hand-break before driving.
2. You and Ittay can schedule a date... put your leg-warmers on, wear your best neon-shirt, and play Wham on your double cassette deck...
I had enough of the 80's... I'll stick with Scala...
What has Scala going for it besides being young? I learned Scala a while ago (2006 to be exact). At first I was as enthusiastic as you, but as I learned it, I saw many of its features were copied from other languages (its Actors library is taken from Erlang, type inference is from Haskell and list comprehension is from Python) and that its syntax was "unraveling" at the edges (see http://osdir.com/ml/lang.scala/2006-04/msg00015.html for an example). Also, as far as I know, it is not used in production. I think its a cool language, probably better than Java, but not innovative. If it were for cool features, I'd go with Ruby (especially for the meta programming, althogh as I mentioned in another thread, it can create some magic tricks that make it harder to understand someone else's code)
Erlang on the other hand is used in production systems and has brought innovative features (parse trees, parameter pattern matching, and of course the concepts of actors). It is a functional language also (functions as objects, list comprehensions etc.).
Also, according to the Tiobe index, Erlang is rated 31 while Scala is 49. In www.langpop.com Scala doesn't appear and Erlang has also more job postings in both dice.com and monster.com. So many people are interested in it today.
Why not give it a try?
1. Give everything a try! Erlang isn't an exception...
2. Don't take me too seriously... you should know me by now... I'm just being the usual ass...
3. I never claimed Scala is innovative (although it is, even comparing to Erlang).
4. Scala has quite few impressive productions.
5. One of the features I like in Scala is the interoperability with Java. It's a true strong feature.
6. Ruby is really great too. I really love it (and currently having a little ruby for Andriod adventure).
7. According to Tiobe index, Cobol is in the 17th place, Same thing with "langpop"... You think we should try Cobol?
Last thing... Be pragmatic. We (Tikal) want to evolve and be the best of breed...
Lets handle the Java/EE technologies flood first. At the end of the day - this is what brings food to our table.
Have spare time? try this or this.
Don't laugh(!!!) I spend at least one hour every day on SCI, writing nostalgic shit... :)
I agree with most of what you say.
But if a client wants a product that handles tens of thousands of transactions a second, can be easily clustered, easily upgradable and fault tolerant (even to software errors), then being best of breed means at leas knowing that there is something that can offer all of these.
However, I'm not suggesting here that Tikal should start investing in Erlang. As you said, our bread and butter is Java, and focus is important.
btw,
You really need to work on your English reading skills...
Otherwise you'll never catch up... So many things changed since 2006...
-