[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: java getting old?



I've read the article too and there are some great ideas and some not so
great. On your four point I can comment on the first two.

On 1) I think we have enough keywords so adding a new one will bring
confusion and uncertainly. You can't replace ejb-jar.xml with one keyword
can you? If you look at xdoclet.sourceforge.net you might find a better
solution there.

2) 100% agree! Although well designed Swing is slow and heavy. Thread
expensive and has memory leaks. And after all Swing Look&Feel doesn't fit on
XP Look&Feel. The OS are getting skinable lately including Windows XP,
MacOS, Gnome and KDE and having an application with a different a different
look&feel seems at least unprofessional.

regards,
stefan baramov

|-----Original Message-----
|From: pommele@mindspring.com [mailto:pommele@mindspring.com]
|Sent: Tuesday, August 20, 2002 10:42 AM
|To: ajug-members@ajug.org
|Subject: java getting old?
|
|
|There was a thread a few weeks ago at slashdot about suggested
|future changes
|to the java language.  It referred to this article:
|www.onjava.com/pub/a/onjava/2002/07/31/java3.html
|
|  I disagree with some of his points but an interesting read none
|the less.
|It got me thinking of what I would change. I was curious if others felt the
|same way I do.  This is what I'd suggest:
|
|
|1. Remote key word to replace ejb
|One of the reasons that java was adopted so readily was the
|cleanly designed
|language that was easy to understand, especially compared to c++.
|I for one
|am grateful that it has remained that way.  The exception to this in my
|opinion is ejb.  To manager a single entity bean in ejb it requires you to
|manager up to 6 files, the implementation file, local remote, local home,
|remote, home and the descriptor.  This could be simplified by
|making rmi part
|of the jvm and adding a new java keyword remote (sample below).
|There are a
|lot of implications to this, especially to ejb app vendors.  This wouldn't
|cover transactions or threading so there would still be plenty of
|work for app
|vendors to do.
|C#.Net has something analogous to this called remoting I think.
|Why not adopt
|some new features from them.
|This could easily be made backwards compatible.
|
|Public remote class SomeClass{
|    public remote Object getSomething(){}
|}
|
|
|
|2. deprecate awt and swing and replace with an eclipse like swt
|and app frame
|work (this is a library change not language change)
|In my opinion swing is almost single handedly responsible for the java's
|reputation as slow and fat.  Letting developers choose a look and
|feel that is
|not integrated into the underlying platform was a huge mistake.
|It make the
|language look cheap and unprofessional.
|    Not only will making the widgets native integrate the app to
|the underling
|platform, appearance wise, it will help performance and give the api's a
|smaller foot print.
|    Also the api designers need to consider and include an
|application centric
|design.  I know this really only applies to mac users (like me) but if they
|are truly going to be cross platform they need to accommodate different
|application design models, also.
|
|
|
|3. java kinds and drop assertions
|    I for one really like that the language has remained simple.
|I've toyed
|with assertions just to check them out and in my opinion they really don’t
|offer anything exceptions don't already do other than a coding
|convention.  It
|would be language clutter to me.  Sorry if I've offended some one
|here.  Can
|some one convince me otherwise?
|    What I would really like to see is some mechanism similar to
|the C++ enum
|to group data or objects in a none hierarchical way. I'm calling
|them "kinds"
|for a lack of a better term.  And somehow, if it could accommodate
|type safe
|collections, that would be excellent.  It could probability be
|make into all
|compile time checks.  And this also could easily be made backwards
|compatible.
|
|
|Psydo code:
|Public kind SomeKind [data type or object]{
|
|    //list of kinds, in this case int
|     public static final int x = 1;
|    etc.
|}
|
|Public kind SomeOtherKind MyInterface { }
|
|Public someClass{
|
|    // compile time check to see if it's a int of SomeKind
|    public void setSomething(kind SomeKind someParam){}
|
|
|    // I haven't really thought this one out for type safe collections
|    public kind someOtherKink Collection getCollection(){}
|}
|
|
|But then again, maybe this would be clutter.
|
|
|4. jsp deprecate scriplets (also just a library change )
|Jsp was conceived before xml, as far as I know, and was originally
|intended to
|compete with asp.  A lot has changed since then.  I think they should
|deprecate scriplets and replace much of jsp with a jsptl, struts,
|coldfusion
|style tag library that is well formed, valid xml.  They're already
|moving in
|this direction, why not speed it up.
|
|
|I hope this is taken in the spirit of appreciation for the
|language and that
|these are suggestions. There are many people, a lot smarter people
|than me,
|working on the same thing.
|
|
|Michael Fortin
|
|