ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Loughran" <stev...@iseran.com>
Subject Re: aspectJ (was Re: [PATCH] build events)
Date Wed, 28 Jun 2000 20:47:07 GMT

----- Original Message -----
From: "Stefano Mazzocchi" <stefano@apache.org>
To: <ant-dev@jakarta.apache.org>
Sent: Wednesday, June 28, 2000 03:29
Subject: Re: aspectJ (was Re: [PATCH] build events)


> <rant about="Microsoft C#">
> C# is the most incredibly obvious Java-clone in existance. They claim it
> was invented only with experience from C/C++ but do you believe that?
> They cloned everything and they even got it WRONG!! Look at namespaces,
> look at pointer availability.

It's a bit like the engineers were told to make 'an easier to use version of
C++' without being allowed to read the java manual -just being told of some
of the language features by someone in marketing who could not remember the
syntax. So things in java (instanceof, boolean, synchronized) get
equivalents with the wrong names (is, bool, lock)

Also the bits of VJ++ that nobody used (delegates) are in there, still for
no apparent reason.

> And they add _nothing_ that Java doesn't have today

1. there's goto (!)
2. even the primary types (int &c) derive from object (someone must have
read the smalltalk manual)
3. variable length arguments are permitted
4. properties can have explicit get/set operators which are not visible to
callers. (good or bad, depending upon your opinion)
5. switch statements can use strings (as opposed to the old 'Randall
maneuver ' of using weakly hased cases like  case 'J'+'A'+'N')

>(well, to be honest,
> only one thing "class versioning" which is something I'd expect the JCP
> to talk about soon).

The versioning thing is actually incomplete in C# , despite its claims. The
versioning, as in COM, exists only to ensure interface compliance.
Versioning is also about implementation compliance. Given that most of the
system admin features in win2K related to DLL hell are effectively about
versioning COM libraries, one would have expected more from the langage.

Also, if VB is anything to go by, each version of the language adds new
reserved words, which kind of breaks everything if you were unlucky in your
choice of identifiers.

> </rant>

> And if it takes 2 years to get assertions and 5 years to get aspects
> into the language but only engineering and technical reasons drive that
> R&D period, I'm totally fine with that.

I suspect the battle will be less on pure language than on ease of
development and deployment. Right now java has the edge on both counts. The
C# spec does not cover those. Tools like ant, tomcat etc can help keep C#
down.

The most amusing thing, when you think of it, is that MS, bastion of VB and
the largest commercial vendor of Windows C++ compilers has effectivey
admitted that neither of them cut it in the web world -one too hard, one too
cheesy. Does C# spell an end to Win32 API, MFC and ATL? we shall have to
see.

Now, to get back to something ant related I've attached in my own Touch
task, which I'm not happy with as it does not do what I really want:-
    -take in a list of files
    -take a timestamp from a) another file b) remote sources and c) text
parameters
It probably raises an exception on jdk1.1, but I havent tested that.

    -Steve


Mime
View raw message