at the risk of continuing this thread into something that is OT, or
becomes some sort of language debate ...

On 6/19/06, Thierry Coq (Personnel) <[EMAIL PROTECTED]> wrote:

However, about inner classes and Java : it's a destructive construct in
Java for design, coming from the strange notion a type should be
equivalent to a module and be a unit of consistency and therefore of
compilation.

i'm not sure if there is a point in there somewhere ...

From the very beginning, Java has not been able to keep
such an impossible promise and has added over time inner classes,
anonymous classes, etc.

i've been using Java forever. as far as i can recall, inner classes
and anonymous classes have been in the language since its inception.

they were not "added".


In fact, it's such a stupid idea Java is now
coming to the notion of namespaces (for the same reason as C++ in its
time).

i'm not sure if you are citing some new language feature in Java 6 or
something that I haven't heard of ?

fwiw, Java has _always_ had namespaces in it, via the "package"
mechanism as part of any class declaration, and thus _all_ classes in
java hava a namespace.

In Java, <Object> the parent of all objects, is in the <java.lang>
namespace, and this is synonymous with the qualification
<java.lang.Object>.

thus the convention in Java, of putting all of your classes into a
base package consisting of an internet domain that belongs to the
developer, thus increasing the odds dramatically that any code that
your development shop writes won't ever collide with someone elses.

The result is that Java pollutes public classes with private
constructs and mixes everything in the declaration.

you're saying something is wrong with Java's way of declaring classes
because it doesn't seperate the contents of the file with the
interface and implementation parts ?

i'm not sure i see that one is superior to the other so i won't put up
a counterpoint.


 From a design point of view, the clear separation of interface and
implementation is blurred in Java and enhanced in Pascal.

well, the only thing i would say here is that in Java, these details
are part of the definition itself.

also, while java supports classes and abstractions, it also supports
the notion of true interfaces, which is a darn nice language feature.

i've used it quite a bit as a powerful design feature over the years.


Best regards,
Thierry

Tony

_________________________________________________________________
    To unsubscribe: mail [EMAIL PROTECTED] with
               "unsubscribe" as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to