From: Fernando
Subject: MS says that macros will revolutionize application development ;-)
Date: 
Message-ID: <bikha0htqcfos7fr6gp4i27t10ng49oi2n@4ax.com>
Check the description of this book(Code Generation in .NET)  at amazon:
http://urlmini.com/?i=314

"Text shows readers how to incorporate code generation into their own
developments. Shows underlying fundamentals along with three specific
techniques: outputting code to a stream, using the Code DOM, and using
XSLT-based code generation. Softcover. 

Book Description

Code generation has the potential to revolutionize application development.
Rather than handcrafting each piece of code, enterprises will increasingly
turn to code generation, based on templates and application of business logic,
to automatically generate code to perform a variety of tasks. Code Generation
in Microsoft .NET presents the fundamentals of code generation. Code
generation is already used extensively in Visual Studio .NET ? every
form-based application contains potentially hundreds of lines of 'wizard'
created code, which is modified as the developer sets various properties.
Strongly typed datasets, XML schemas and web service proxies are also
generated automatically by Visual Studio. This results in a huge cost savings
and improvement in software reliability. 


Developers need both the technical details of how to accomplish code
generation in .NET as well as a coherent series of steps to follow to
incorporate code generation into their development. Code Generation in
Microsoft .NET teaches developers how to adopt these techniques in their own
development efforts. To accomplish this, this book introduces a series of five
steps that leverage code generation both within and between projects in the
organization. The mechanics of code generation introduced in the book are
organized around these steps, and provide the tools to leverage code
generation for significant payback on the very first application where it is
used. "

From: Will Hartung
Subject: Re: MS says that macros will revolutionize application development ;-)
Date: 
Message-ID: <2gs99iF6879tU1@uni-berlin.de>
"Fernando" <···@NOSPAMeasyjob.net> wrote in message
·······································@4ax.com...

> "Text shows readers how to incorporate code generation into their own
> developments. Shows underlying fundamentals along with three specific
> techniques: outputting code to a stream, using the Code DOM, and using
> XSLT-based code generation. Softcover.

Ya know, I've been thinking a little bit about that recently.

I've been using code generators for *gulp* 20 years. Early ones were more
like simple boiler plate "wizard" generators, and then later there was a
better tool that handled code generation and merging of changes, so you
could continue to use the code generator late through the project.

And those were all well and good.

We haven't advanced much today beyond that. (At least in the mainstream).
The most dominant form today I think is the ancillary code generators coming
out of the Java camp where they use embedded comments to generate the
supporting XML "glue" for the diverse packages and frameworks. This is
becoming dominant enough that they seem to plan to actually roll it into the
language, rather than as an external utility.

But the real problem with all of these is that, while they're handy and
reduce drudgery, they don't really add a new level of abstraction to the
whole thing. They simply clean the process up, but overall the layer is
pretty darn transparent and exposes all of the complexity to the programmer,
even if it has decent defaults.

The other issue is while things like XSLT and the "Code DOM" may make the
generators easier to make more powerful, they're still a piece outside of
the language puzzle. One of the benefits of the true macro systems (either
CLs or Scheme and Dylan) is that they make adding language elements
possible. C# and Java are not extensible languages, CL, Schema and Dylan
are. It doesn't matter how many TLAs or XML or whatever you at languages
like C# and Java, it's still all cruft bolted on top. Extensibility through
comment mark up. Whee.

Look at simple macros like WHEN and UNLESS, or the WITH-* style macros. One
is simple sytanx sugar, the other wraps the code in a nice, transparent
handler. None of the techniques mentioned will allow C# or Java to add
simple things like that, much less something as sophisticated as LOOP.

So, while boiler plate management integrated with the build cycle is a handy
tool, they're nowhere close to "real" macros.

Regards,

Will Hartung
(·····@msoft.com)
From: Daniel Barlow
Subject: Re: MS says that macros will revolutionize application development ;-)
Date: 
Message-ID: <87pt93hz2f.fsf@noetbook.telent.net>
Fernando <···@NOSPAMeasyjob.net> writes:

> Code generation has the potential to revolutionize application development.

I'd agree with that.  I think that compilers for high-level languages
did a lot to advance the state of the art.


-dan

-- 
"please make sure that the person is your friend before you confirm"
From: Steven M. Haflich
Subject: Re: MS says that macros will revolutionize application development ;-)
Date: 
Message-ID: <LXeqc.50071$nC5.10486@newssvr29.news.prodigy.com>
The question neatly avoided by these latecomer proponents of code
generation is why code generation should be so distantly separated
from the core language.

  ==========
  Q: What is the difference between Java and .NET?
  A: Java was paved with good intentions.
  ==========

[For literary reference, see http://www.samueljohnson.com/road.html ]
From: Gorbag
Subject: Re: MS says that macros will revolutionize application development ;-)
Date: 
Message-ID: <rnoqc.149$d4.53@bos-service2.ext.ray.com>
"Steven M. Haflich" <·················@alum.mit.edu> wrote in message
··························@newssvr29.news.prodigy.com...
> The question neatly avoided by these latecomer proponents of code
> generation is why code generation should be so distantly separated
> from the core language.
>
>   ==========
>   Q: What is the difference between Java and .NET?
>   A: Java was paved with good intentions.
>   ==========
>
> [For literary reference, see http://www.samueljohnson.com/road.html ]

And .NET is an unpaved Hell?
From: Steven M. Haflich
Subject: Re: MS says that macros will revolutionize application development ;-)
Date: 
Message-ID: <BQXqc.1592$tB2.425@newssvr27.news.prodigy.com>
Gorbag wrote:
>>  ==========
>>  Q: What is the difference between Java and .NET?
>>  A: Java was paved with good intentions.
>>  ==========
>>
>>[For literary reference, see http://www.samueljohnson.com/road.html ]
> 
> And .NET is an unpaved Hell?

My statement did not specify whether the .NET road is unpaved, or paved
with some different intentions.  I stated only that if it was paved with
any intentions at all, those intentions were not good intentions.
From: Fred Gilham
Subject: Re: MS says that macros will revolutionize application development  ;-)
Date: 
Message-ID: <u7r7tfb4hu.fsf@snapdragon.csl.sri.com>
Steven M. Haflich wrote:
> > 
> > And .NET is an unpaved Hell?
> 
> My statement did not specify whether the .NET road is unpaved, or
> paved with some different intentions.  I stated only that if it was
> paved with any intentions at all, those intentions were not good
> intentions.

Yes, but you've *got* to work hell in there somewhere.  I thought it
was something like since Java was paved with good intentions, it was
the road to hell, while by contrast .NET was hell itself.  But if
you're going to make evocative literary allusions like that, you can't
just leave us hanging.... :-)

Actually I suppose you can, and just claim to be postmodern or
something.

-- 
Fred Gilham                                    ······@csl.sri.com
Do remember you're there to fuddle him.  From the way some of you
young fiends talk, anyone would suppose it was our job to teach!
                          -- The Screwtape Letters, C. S. Lewis
From: Steven M. Haflich
Subject: Re: MS says that macros will revolutionize application development  ;-)
Date: 
Message-ID: <40ADA337.9020709@alum.mit.edu>
Fred Gilham wrote:

> Steven M. Haflich wrote:
> 
>>>And .NET is an unpaved Hell?
>>
>>My statement did not specify whether the .NET road is unpaved, or
>>paved with some different intentions.  I stated only that if it was
>>paved with any intentions at all, those intentions were not good
>>intentions.
> 
> Yes, but you've *got* to work hell in there somewhere.  I thought it
> was something like since Java was paved with good intentions, it was
> the road to hell, while by contrast .NET was hell itself.  But if
> you're going to make evocative literary allusions like that, you can't
> just leave us hanging.... :-)
> 
> Actually I suppose you can, and just claim to be postmodern or
> something.

I'm trying to understand your message, but unfortunately, I might
be merely a semi-intelligent trollbot written in Common Lisp, and
X3J13 neglected to define a deconstructuring-bind in the language.

   Have ANS Will Travel.
   Wire ···@alum.mit.edu
From: André Thieme
Subject: Re: MS says that macros will revolutionize application development ;-)
Date: 
Message-ID: <c8edm6$ha1$1@ulric.tng.de>
Fernando wrote:

> Code generation has the potential to revolutionize application development.
> Rather than handcrafting each piece of code, enterprises will increasingly
> turn to code generation, based on templates and application of business logic,
> to automatically generate code to perform a variety of tasks. Code Generation
> in Microsoft .NET presents the fundamentals of code generation. Code
> generation is already used extensively in Visual Studio .NET ? every
> form-based application contains potentially hundreds of lines of 'wizard'
> created code, which is modified as the developer sets various properties.
> Strongly typed datasets, XML schemas and web service proxies are also
> generated automatically by Visual Studio. This results in a huge cost savings
> and improvement in software reliability. 

They want Lisp, but they don't know it yet...


Andr�
--
From: szymon
Subject: Re: MS says that macros will revolutionize application development ;-)
Date: 
Message-ID: <87lljo298n.fsf@darkstar.example.net>
> They want Lisp, but they don't know it yet...

What about "BOB" enviroment?

regards.
From: Kenny Tilton
Subject: Re: MS says that macros will revolutionize application development ;-)
Date: 
Message-ID: <uTHqc.48914$mX.18043545@twister.nyc.rr.com>
szymon wrote:

>>They want Lisp, but they don't know it yet...
> 
> 
> What about "BOB" enviroment?

See?! Lisp sucks! :)

kenny

-- 
Home? http://tilton-technology.com
Cells? http://www.common-lisp.net/project/cells/
Cello? http://www.common-lisp.net/project/cello/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
Your Project Here! http://alu.cliki.net/Industry%20Application
From: Christopher C. Stacy
Subject: Re: MS says that macros will revolutionize application development ;-)
Date: 
Message-ID: <u7jv8fl88.fsf@news.dtpq.com>
>>>>> On Wed, 19 May 2004 11:51:54 GMT, Kenny Tilton ("Kenny") writes:

 Kenny> szymon wrote:

 >>> They want Lisp, but they don't know it yet...
 >> What about "BOB" enviroment?

 Kenny> See?! Lisp sucks! :)

I thought BOB is the paperclip.
From: szymon
Subject: Re: MS says that macros will revolutionize application development ;-)
Date: 
Message-ID: <871xlgz7z8.fsf@darkstar.example.net>
from D.Lamkins lisp tutorial -
[ http://www.psg.com/~dlamkins/sl/chapter01.html ].

[.....]
"Oh, and one more thing: It's not quite true that no mass market product
uses Lisp. Microsoft's "Bob" environment for naive computer users was
developed (and delivered) in Lisp."
[.....]

regards.

ps. I never see it (do not have MS Windows).