Subject: Re: Seeking computer-programming job (Sunnyvale, CA)
From: rpw3@rpw3.org (Rob Warnock)
Date: Fri, 15 May 2009 19:01:37 -0500
Newsgroups: comp.lang.lisp,comp.lang.java.programmer
Message-ID: <zcSdnTi0H4H8n5PXnZ2dnUVZ_sqdnZ2d@speakeasy.net>
eric-and-jane-smith <noreply@nospam.com> wrote:
+---------------
| pjb@informatimago.com (Pascal J. Bourguignon) wrote:
| > Lisp macros are just a much simplier and much more powerful to archive
| > the same results much faster.
| 
| It's hard to make the power of CL macros clear to non-Lispers.  They think 
| in terms of the macros of other programming languages, and have no idea 
| what CL macros are.  From their point of view, we seem to be telling them 
| we want to use macros as a klugey substitute for C++ templates, or for the 
| Java type system, or whatever.
+---------------

Oddly enough, it is *much* easier to explain Lisp macros to those
who have experience with assembly language macros in such "antiques"
as the DEC PDP-10 or IBM 360/370 mainframes which supported looping,
deconstruction/construction of symbol names (down to individual
characters), definition of new macros *by* macros, access to the
assembler's symbol table at compile time (accessing & mutating the
values of symbols and tags), "pass1" vs. "pass2" conditionals
(collect data from the whole program in pass 1 and drop it into
instruction and/or data locations in pass 2), etc., etc.[1]

But for those whose first or only experience of "macros" came from
the crippled incarnation of them in C, well, you are quite correct,
sadly.


-Rob

[1] I have spoken at length here several times previously on the
wonders of PDP-10 assembler macros, so won't bore you again. For
the curious, search for "rpw3", "FOCAL" & "PDP-10".

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607