The Artima Developer Community
Sponsored Link

Java Buzz Forum
Erasures and the backward compatibility issue

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Marc Logemann

Posts: 594
Nickname: loge
Registered: Sep, 2002

Marc Logemann is founder of www.logentis.de a Java consultancy
Erasures and the backward compatibility issue Posted: Sep 25, 2004 5:08 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Marc Logemann.
Original Post: Erasures and the backward compatibility issue
Feed Title: Marc's Java Blog
Feed URL: http://www.logemann.org/day/index_java.xml
Feed Description: Java related topics for all major areas. So you will see J2ME, J2SE and J2EE issues here.
Latest Java Buzz Posts
Latest Java Buzz Posts by Marc Logemann
Latest Posts From Marc's Java Blog

Advertisement

I recently joined the backward compatibility discussion on the net and tried to understand the surroundings on that. I used "Generics" as an example of a place where backwards compatibility drove an implementation.

Dont expect a complete overview on all aspects, because at the end, i am not a compiler programmer. As to Neil Gafter, Sun tried to achieve the following:

* compile old sources on Java5
* run old classes on Java5
* using generic aware APIs in existing applications (compiled against the same API without generics)

To me it seems, the first two goals could have been realised without erasures with a NextGen approach but the third looks hard (perhaps impossible) to achieve without.

After reading the generics forum @ sun for quite a while (very emotional discussions here btw), i ended in believing that the "transitional compatibility" for 3rd party library developers is really a showstopper for not using erasures. Basically Sun helped all those java projects, so that they dont need to offer two version of the same library, one with generics and one without. Your old application can still use the new generics aware log4j lib for example.

But the question remains, how important that feature is? If i were the lead programmer for log4j and Java5 would not have erasures, how hard would it be to recompile my project and distribute a Java5 compatibly version of log4j and keep the old one too?

After all, Generics is just an example of the overall backwards compatibility issue, even though its one of the hardest to follow, because of the complexity of the topic in general.

There are most likely trillion other reasons and pros and cons, but to me it seems that in presence of C#, we (and SUN) have to think about this whole issue of progress and compatibility.

Note: Now Neil Gafter being at Google with dozens other java related folks (joshua bloch, Bosworth, etc.), i am really wondering what Google is out for. Why do they need a compiler designer for instance?

Note: made some edits because of false assumptions after reading Neil's blog..

Read: Erasures and the backward compatibility issue

Topic: 10 Things you should know about IT Training Previous Topic   Next Topic Topic: [Sep 14, 2004 11:51 PDT] 14 Links

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use