ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <stev...@iseran.com>
Subject Re: Brent Rector on Msbuild vs Ant
Date Wed, 05 Nov 2003 18:05:33 GMT
Stefan Bodewig wrote:
> On Tue, 04 Nov 2003, Steve Loughran <steve_l@iseran.com> wrote:
> 
>>Here is the offending page from Brent's book.
> 
> 
> I stumbled over it yesterday[1] - the snippet you post - here
> <http://www.dotnetguru.org/articles/pdc2003/pdc2003v2.htm>.
> 
> As I don't speak french I've been unable to understand the context - I
> was planing to ask the author of that article to translate it for me
> and then answer it as well.

Stefan. I am disappointed. I thought it was us british citizens that 
were meant to be brought up not speaking the languages of our neighbours 
:(. Still, I guess English does make more sense as a second language 
than, say, Russian, to name one of the languages I was nominally taught.

Here goes then, bearing in mind I havent spoken french since '99 and my 
language skills there were mainly focused around safety warnings to do 
with antimatter and radiation "Danger, risque de radiation", bicicyle 
parts and telling french girls that I am very interested in what they 
have to say...


The author says that it was a 1h15 presentation about Ant. It was 
clearly apparent that MS build is a good copy of Ant and also Nant.
If the two speakers had started their talk by acknowledging that they 
supported the efforts of the NAnt community and that they participated 
in the development of the framework, they could still [equally] have 
justified their decision to completely rewrite it for the reasons listed 
below.

concerning the techicanl details, the notion of Target is the same. 
Tasks are an equally integral part of the project. The plagiarism (sorry 
to use the term, but it is clearly the case) goes up to the API in the 
naming of the tasks, and the manner of using the properties [maybe 
attributes] is absolutely identical. But where are the differences, you 
ask me? Well, the developers had the idea to add functionality that is 
not in Ant to date. This is all explained the book "Introducing 
Longhorn" that was distributed free to participants during the conference

[the bogus claims reprinted]
We leave you to form  your own opinion on the subject. The positive side 
is that an Ant developer [user?] will not be really, but also really, 
not lost with MsBuild.

[I havent been able to really translate that last sentence. I would 
guess it means that an ant user will feel at home with MSBuild]

> 
> Let me add to your comments.
> 
> 
>>1. Ant does not provide built-in target dependency analysis -a
>>requirement for a scalable build system
> 
> 
> <http://stefanbodewig.blogger.de/stories/10575/>
> 
> And your case where name mangling is more difficult than the current
> engine knows is a good point as well.  We have a similar case in
> <rmic>, where the Weblogic compiler adapter produces a different
> result from Sun's.
> 
> And then there is the case of dependencies between classes.  If
> superclass and subclass end up in different assemblies and you change
> the superclass, the naive target dependency analysis will not
> recompile the subclass.  And people will never think of doing
> something like the <depend> task as this is done by MSBuild.

no. I think that is why they arent going to do C++ support; if you have 
to list dependencies by hand, stick to automake. Oh, wait, they dont 
support that, do they.

> 
> 
>>3. Ant does not have a normalized concept of task inputs and
>>outputs; a necessity for a build system to support intra-task
>>communication.
> 
> 
> We do have references, we just don't use them as much as we could
> <http://stefanbodewig.blogger.de/stories/10636/>.
> 
> I'm trying to get my thoughts on this into a better shape and will
> have a proposal for the 1.7 timeframe.

This sounds interesting.

> 
> 
>>4. Unlike Ant, MSbuild is a secure build engine. MSBuild introduces
>>the notion of partially trusted builds, project level sandboxing and
>>task level sandboxing.
> 
> 
> I couldn't find anything about this in the public docs about MSBuild.

me neither. Which is why this smacks of a briefing rather than brent 
doing his own research.

 >>5. MSbuild has a richer extensibility model than ant.
 >
 >
 > I was laughing out loud on reading this.

yes, I thought maybe it was a typo. You dont get more extensible than 
having no schema and the complete source to play with.

 >
 >
 >>6. Ant does not have the ability to import (macro insert) parts of
 >>the project file
 >
 >
 > It is fair to say that this is true for all released versions of Ant
 > (so let's get 1.6 out of door quickly ;-).  And only if you deny
 > entities, of course.

yes, but MSBuild is a year from shipping. They should really be 
comparing msbuild to Ant1.7 release; for now 1.6 vs MSBuild beta is the 
best comparision.

 >>What are we going to do now. I am feeling ruthless.
 >
 >
 > Wait until it apperas in MSDN to address it?  Address it right now?
 > Judging from my blog's referers, people are searching for infomation
 > on MSBuild a lot ATM, so we may as well set the record straight right
 > from the beginning.

no, we are going to our retaliation in early, as they say in rugby. I 
will send some emails to the relevant authorities. One nice thing about 
MS compared to Sun is that they are very easily contacted, and usually 
pretty responsive. If they dont respond, that is when you have to worry. 
  It usually means they dont want to tell you something bad.

now, they dont have to care what I say, but we do have the option of 
pulling all .NET support from ant1.6...we will just have to see if that 
matters to them. It'll be an interesting test of conflict of the 
tactical 'get .net developers today' over the strategic 'own the 
developers forever'.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message