From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,703c4f68db81387d X-Google-Thread: 109fba,703c4f68db81387d X-Google-Thread: 115aec,703c4f68db81387d X-Google-Thread: f43e6,703c4f68db81387d X-Google-Attributes: gid103376,gid109fba,gid115aec,gidf43e6,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local01.nntp.dca.giganews.com!nntp.rcn.net!news.rcn.net.POSTED!not-for-mail NNTP-Posting-Date: Thu, 24 Mar 2005 16:55:29 -0600 Sender: jsa@rigel.goldenthreadtech.com Newsgroups: comp.lang.ada,comp.lang.c++,comp.realtime,comp.software-eng Subject: Re: Teaching new tricks to an old dog (C++ -->Ada) References: <4229bad9$0$1019$afc38c87@news.optusnet.com.au> <1110032222.447846.167060@g14g2000cwa.googlegroups.com> <871xau9nlh.fsf@insalien.org> <3SjWd.103128$Vf.3969241@news000.worldonline.dk> <87r7iu85lf.fsf@insalien.org> <1110052142.832650@athnrd02> <1110284070.410136.205090@o13g2000cwo.googlegroups.com> <395uqaF5rhu2mU1@individual.net> <1111607633.301232.62490@z14g2000cwz.googlegroups.com> <1111628011.160315.134740@o13g2000cwo.googlegroups.com> From: jayessay Organization: Tangible Date: 24 Mar 2005 17:59:39 -0500 Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii NNTP-Posting-Host: 209.6.25.79 X-Trace: sv3-piZ9Uy5ViaDbrr2KuYUxbIzKnueajXQhBd9rXbBbb3XeQJEkoOtzePZCCULNVR9LPfggjFT/gudCAb5!lvjeY1tcJd79SqePeTDeVU7hl4HdUq1g/+DYkT7mPRB+/yt1Iq4YYrOjnVppUiWrfNo6ljNreUVm X-Complaints-To: abuse@rcn.net X-DMCA-Complaints-To: abuse@rcn.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.32 Xref: g2news1.google.com comp.lang.ada:9937 comp.lang.c++:47130 comp.realtime:1692 comp.software-eng:5303 Date: 2005-03-24T17:59:39-05:00 List-Id: "Jerry Coffin" writes: > Martin Dowie wrote: > > Jerry Coffin wrote: > > > Just for one obvious example, Ada doesn't provide an easy way to > > > express/do most of the things one can do with the C or C++ > > > preprocessor. It provides some alternative in _some_ cases, but > > > quite frankly, these are really the exceptions rather than the > > > rule. > > > > That 'problem' isn't unique to Ada - I can't think of another > > language that *does* define a pre-processor. > > A preprocessor per so, no. The type of capabilities is a different > story. For example, Lisp includes macros. Most assemblers include (much > more extensive) macros as well as an eqiuvalent of C's > #if/#ifdef/#ifndef/#endif. Lisp macros are _not_ a preprocessor and they are _vastly_ more capable than what people typically think of when they see/hear "macros". Lisp macros are full code analyzing and generating constructs. Things like C/C++ preprocessor/"macro" simplistic text substitutions are not in any way related to them. You can literally create entire new languages with them, create embedded domain specific languages, and/or create extensions to the "core" language _within_ Lisp itself. You can also domain specific code _optimizers_ in like fashion. None of this is at all doable _in_ things like C++/Ada/Eiffel/. You would have to write a compiler (or at least optimizer/code generator)_with_ those languages _for_ the new language/constructs/optimization, etc. Robert Duff made a comment a while ago about how silly most (I would say without much hyperbole 99+%) of the points in these threads would be to Lisp (and Smalltalk) folks. I couldn't agree more. You are all arguing over differences that mean almost nothing looked at from these other perspectives. Exceptions is another good example. Neither Ada nor C++ nor Eiffel has anything even _remotely_ as potent as the condition system in Common Lisp. Same goes for the so called "OO" capabilities in these languages in comparison with CLOS. And the level of _expressive capability_ in either Ada or C++ or Eiffel or ?? is so _low_ that it again is simply amazing to see people so vehemently arguing over differences that are almost invisible. /Jon -- 'j' - a n t h o n y at romeo/charley/november com