• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Q to H.Schildt: Tiger approached from design perspective

 
blacksmith
Posts: 979
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,

IMHO it looks like Java Tiger is converging in
order to comply to the concepts and principles
currently governing the UML language.

In your opinion, is it correct to say that not
only the new features are a technical enhancement,
but are a great aid in resolving a sometimes
convoluted transition from design to implementation?

Cheers,

Gian
[ March 17, 2005: Message edited by: Gian Franco Casula ]
 
Author
Posts: 253
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Gian,

I think that you make a good point.

In the larger view, Java is evolving because it has too. The world of programming does not stand still. If Java did not evolve, it would have become out-dated and outmoded. Basically, in the world of computer programming languages its "evolve or die!"

Taking this theme one level deeper, the history of computer language development is defined by two main processes:

1. Adaptation to changing environments and users.
2. Implementation of refinements and improvements in the art of programming.

The many new features in J2SE 5 reflect the effect of both of these processes. Take metadata (annotations) for example. Metadata echoes aspects of a larger trend in programming in which the programmer declares an action, but does not provide all of the code. Thus, it is (in part) a response to a refinement/improvement in programming.

Now consider the new Concurrency API. It does not represent an innovation, because things like semaphores, latches, and locks have been around a long time. It does, however, reflect the fact that Java is being used a bit differently than was anticipated when its original threading model was devised.

It is Java's culture of innovation and change that has kept it at the forefront of computer language development for a decade. As long as this culture continues to exits, Java will continue to be strong.
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I agree that Tiger is a big step forward, but I strongly suspect that has a lot to do with competitive pressure due to C#. Actually many of the new features are also present in C#, in one form or another.


The many new features in J2SE 5 reflect the effect of both of these processes. Take metadata (annotations) for example. Metadata echoes aspects of a larger trend in programming in which the programmer declares an action, but does not provide all of the code. Thus, it is (in part) a response to a refinement/improvement in programming.



But are those features really a new thing in the industry? Are they really innovative?


Now consider the new Concurrency API. It does not represent an innovation, because things like semaphores, latches, and locks have been around a long time. It does, however, reflect the fact that Java is being used a bit differently than was anticipated when its original threading model was devised.



In fact the API isn't new either - it has been around as a non-official library since years, as far as I know. It took Sun quite some time to incorporate it into Java.

As an aside, the longer I'm working with Java, the more I think it really would help to open source it. There are so many feature requests/bug reports in the bug database for which the fix would be trivial, but for some reason Sun doesn't take the time to tackle them...
 
Herb Schildt
Author
Posts: 253
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Ilja,

Good thoughts. But, I would respond with the following.

1. C# is a reaction to (and response to) Java, not the other way around. C# has several nice features, including some things that it does a bit better than Java. (And, for the record, I personally like C#.) However, C# is only now adding generics, for example. In the larger historical sense, it would be difficult to make the case that Java is following C#, since C# was created years after the introduction of Java! Again, its C# that is following Java.

2. Regarding your comment relative to the Concurrency API. There is a big difference between the availability of a third-party library and something that is officially part of the language. It is the addition of the Concurrency API to the core Java API makes it possible to use these features in fully portable programs that don't rely on third-party add-ons.

3. Regarding metadata. Sure, features similar to annotations have been around a long time. However, only when such a feature is incorporated into a language as successfull and widely used as Java does it gain mainstream status and acceptability. It is the addition of features such as metadata to Java that makes the event important. (Yes, C# has attributes, but C# is currently not even close to being as widely used as Java. Changes to Java significantly impact computer language development because of the large number of programmers who use it. When a change is made to Java, it affects millions of programmers! Java moves the programming world forward.)
[ March 18, 2005: Message edited by: Herb Schildt ]
 
Ilja Preuss
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Well, of course C# is Microsofts reaction to Java, no doubt!

On the other hand, it already had some advanced features such as enums, enhanced for loop, autoboxing etc. pp. - and I somehow doubt that those features would all have made it into Tiger without the advent of C#.

Regarding your other points, I agree. My point was just that those features aren't that innovative at all, that Sun actually is rather conservative in regards to new language features. That's not to say that it is necessarily a bad strategy, and it certainly doesn't play down that it's really nice to now have those features build in into Java...
 
You're not going crazy. You're going sane in a crazy word. Find comfort in this tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic