From: jayessay <nospam@foo.com>
Subject: Re: why learn C?
Date: 04 Apr 2007 12:14:22 -0400
Date: 2007-04-04T12:14:22-04:00 [thread overview]
Message-ID: <m38xd8i0bl.fsf@sirius.goldenthreadtech.com> (raw)
In-Reply-To: jvmz1qia7b.fsf@hod.lan.m-e-leypold.de
Markus E Leypold <development-2006-8ecbb5cc8aREMOVETHIS@ANDTHATm-e-leypold.de> writes:
> "kevin cline" <kevin.cline@gmail.com> writes:
>
> > On Mar 30, 4:09 am, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
> > wrote:
> >> On Fri, 30 Mar 2007 07:44:31 +0000 (UTC), Lutz Donnerhacke wrote:
> >> > * kevin cline wrote:
> >> >> "The big difference is that C++ templates allow type checking during
> >> >> compile-time, so that no overhead neither in memory space nor in
> >> >> runtime is incurred. In this respect, C++ templates ARE MORE POWERFUL
> >> >> than Ada generics."
> >>
> >> > This is correct. C++-Templates itself are a Lisp dialect and Turing complete.
<delurk, in order to correct this nonsense>
This is only half correct and totally misleading. C++ templates,
other than being Turing complete, have absolutely nothing to do with
Lisp or Lisp like languages. Nothing. And to think otherwise shows a
complete ignorance of the matter. This poster probably saw someone
somewhere claim that templates are "like" Lisp macros because they are
a (very weak) example of metaprogramming.
> >> One should be careful with such statements. In fact it is apples and
> >> oranges, because whatever power templates might have, they are *not*
> >> executed on the target machine.
> >
> > So what? The discussion was about compile-time type safety, and the
> > point is that C++ templates, being Turing complete, allow more
> > thorough compile type checking than is possible in Ada.
>
> I fail to see what the one has to do with the other.
They _can_ be related, but in general are not. An example of how
something like this might be useful can be seen in this (admittedly
artificial) example:
Allow a user/programmer to define a dictionary like object while
ensuring at _compile_ time that the size of the table implementing it
is a prime number.
That's something that is easy to do in Lisp. It is at least
theoretically possible (if mind numbingly painful) to achieve with C++
templates. I don't think you can achieve this with Ada without
writing some sort of external preprocessor. If you can, it would be
neat to see.
> Indeed, I'd rather not write my own type checker in a lispish
> compile time language.
That wouldn't be so bad (or even such a big deal), but C++ templates
are nothing like this and are in general a clumsy giant PITA.
/Jon
--
'j' - a n t h o n y at romeo/charley/november com
next prev parent reply other threads:[~2007-04-04 16:14 UTC|newest]
Thread overview: 167+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1172144043.746296.44680@m58g2000cwm.googlegroups.com>
[not found] ` <slrnetr31o.875.Marc.Boyer@localhost.localdomain>
[not found] ` <1172161751.573558.24140@h3g2000cwc.googlegroups.com>
[not found] ` <slrnetri6j.875.Marc.Boyer@localhost.localdomain>
[not found] ` <546qkhF1tr7dtU1@mid.individual.net>
2007-02-23 8:09 ` why learn C? Marc Boyer
2007-03-20 17:37 ` adaworks
2007-03-21 8:07 ` Maciej Sobczak
2007-03-21 13:39 ` Martin Krischik
2007-03-22 7:54 ` Maciej Sobczak
2007-03-21 14:10 ` Dmitry A. Kazakov
2007-03-21 17:57 ` adaworks
2007-03-21 18:48 ` adaworks
2007-03-21 18:39 ` Georg Bauhaus
2007-03-21 20:09 ` Dmitry A. Kazakov
2007-03-21 20:25 ` Use of declare blocks Randy Brukardt
2007-03-21 20:36 ` Gautier
2007-03-21 20:37 ` Gautier
2007-03-21 20:43 ` Niklas Holsti
2007-03-21 21:29 ` Randy Brukardt
2007-03-22 1:17 ` Adam Beneschan
2007-03-22 8:34 ` Dmitry A. Kazakov
2007-03-22 1:06 ` Adam Beneschan
2007-03-22 17:59 ` adaworks
2007-03-23 2:35 ` Randy Brukardt
2007-03-23 5:23 ` adaworks
2007-03-23 5:15 ` Randy Brukardt
2007-03-23 10:20 ` Georg Bauhaus
2007-03-23 18:25 ` commenting, was " tmoran
2007-03-24 0:32 ` adaworks
2007-03-24 2:12 ` tmoran
2007-03-24 3:19 ` Randy Brukardt
2007-03-24 7:36 ` tmoran
2007-03-24 15:35 ` Simon Wright
2007-03-21 13:29 ` why learn C? Alexander E. Kopilovich
2007-03-30 0:51 ` kevin cline
2007-03-30 4:09 ` Steve
2007-03-30 4:58 ` kevin cline
2007-03-30 7:44 ` Lutz Donnerhacke
2007-03-30 9:09 ` Dmitry A. Kazakov
2007-04-02 4:29 ` kevin cline
2007-04-02 6:45 ` adaworks
2007-04-02 7:52 ` Dmitry A. Kazakov
2007-04-02 8:19 ` kevin cline
2007-04-02 12:04 ` Dmitry A. Kazakov
2007-04-02 23:37 ` Randy Brukardt
2007-04-03 12:42 ` Erasing inappropriate operations (was: why learn C?) Ludovic Brenta
2007-04-03 23:44 ` Randy Brukardt
2007-04-04 8:34 ` Erasing inappropriate operations Ludovic Brenta
2007-04-04 22:00 ` Randy Brukardt
2007-04-03 0:16 ` why learn C? Markus E Leypold
2007-04-04 16:14 ` jayessay [this message]
2007-04-05 7:14 ` Hyman Rosen
2007-04-05 15:35 ` jayessay
2007-04-06 2:02 ` Hyman Rosen
2007-04-06 5:57 ` Ray Blaak
2007-04-06 11:01 ` Markus E Leypold
2007-04-07 23:00 ` Ray Blaak
2007-04-08 19:41 ` jayessay
2007-04-09 14:08 ` Markus E Leypold
2007-04-10 15:48 ` jayessay
2007-04-08 19:44 ` jayessay
2007-04-06 18:05 ` jayessay
2007-04-06 22:00 ` Hyman Rosen
2007-04-06 23:46 ` jayessay
2007-04-06 23:59 ` jayessay
2007-04-06 22:16 ` Hyman Rosen
2007-04-06 23:52 ` jayessay
2007-04-07 0:39 ` Ray Blaak
2007-04-06 17:52 ` jayessay
2007-03-30 8:29 ` Markus E Leypold
2007-03-30 8:35 ` Markus E Leypold
2007-03-30 17:39 ` adaworks
2007-03-31 14:59 ` Steve
2007-03-31 15:59 ` Markus E Leypold
2007-04-01 14:32 ` Ed Falis
2007-04-02 7:03 ` adaworks
2007-03-31 15:14 ` Pascal Obry
2007-04-02 5:27 ` kevin cline
2007-04-02 6:04 ` Harald Korneliussen
2007-04-02 6:33 ` Shortage on C / C++ experts Martin Krischik
2007-04-02 7:07 ` why learn C? adaworks
2007-04-02 7:18 ` kevin cline
2007-04-02 13:00 ` adaworks
2007-04-12 15:28 ` Hyman Rosen
2007-04-12 18:32 ` Robert A Duff
2007-04-13 15:59 ` Hyman Rosen
2007-04-14 22:20 ` Robert A Duff
2007-04-14 22:46 ` Randy Brukardt
2007-04-22 18:53 ` adaworks
2007-04-22 19:50 ` Gautier
2007-04-03 0:26 ` Markus E Leypold
2007-04-03 0:34 ` Markus E Leypold
2007-04-03 2:22 ` jimmaureenrogers
2007-04-12 15:47 ` Hyman Rosen
2007-04-12 16:18 ` Markus E Leypold
2007-04-13 23:18 ` kevin cline
2007-04-14 9:38 ` Georg Bauhaus
2007-04-14 10:57 ` Markus E Leypold
2007-04-15 15:10 ` Simon Wright
2007-04-15 16:05 ` Markus E Leypold
2007-04-15 0:59 ` Hyman Rosen
2007-04-15 15:28 ` Markus E Leypold
2007-04-12 16:39 ` Dmitry A. Kazakov
2007-04-12 20:54 ` Georg Bauhaus
2007-04-12 20:33 ` Dmitry A. Kazakov
2007-04-12 21:40 ` Georg Bauhaus
2007-04-12 20:50 ` Dmitry A. Kazakov
2007-04-13 0:32 ` Markus E Leypold
2007-04-14 22:27 ` Robert A Duff
2007-04-14 1:20 ` jimmaureenrogers
2007-04-02 5:03 ` Brian May
2007-04-02 6:16 ` kevin cline
2007-04-03 0:00 ` Brian May
2007-04-12 15:56 ` Hyman Rosen
2007-04-12 16:19 ` Markus E Leypold
2007-04-13 23:42 ` Georg Bauhaus
2007-04-03 0:13 ` Markus E Leypold
2007-04-02 11:47 ` Shortage on C / C++ experts Larry Kilgallen
2007-04-02 12:01 ` Ludovic Brenta
2007-04-02 12:15 ` Dmitry A. Kazakov
2007-04-02 18:47 ` Alexander E. Kopilovich
2007-04-02 20:43 ` tmoran
2007-03-30 4:52 ` why learn C? jimmaureenrogers
2007-03-30 6:30 ` Case Crab
2007-03-30 6:37 ` Gautier
2007-03-30 9:17 ` Georg Bauhaus
2007-03-31 13:18 ` Peter C. Chapin
2007-04-01 1:23 ` Georg Bauhaus
2007-04-01 11:59 ` Peter C. Chapin
2007-04-02 6:37 ` kevin cline
2007-04-02 9:39 ` Harald Korneliussen
2007-03-30 17:47 ` adaworks
2007-03-30 19:25 ` Markus E Leypold
2007-03-30 20:29 ` Randy Brukardt
2007-03-31 9:52 ` Dmitry A. Kazakov
2007-04-01 1:35 ` adaworks
2007-03-31 2:41 ` jimmaureenrogers
2007-03-31 12:25 ` not NASA Ada coding standard Stephen Leake
2007-03-31 15:44 ` Markus E Leypold
2007-04-01 16:22 ` Simon Clubley
2007-04-02 10:08 ` Stephen Leake
2007-04-02 7:43 ` why learn C? kevin cline
2007-04-02 8:45 ` Martin Krischik
2007-04-02 10:54 ` Georg Bauhaus
2007-04-12 16:05 ` Hyman Rosen
2007-04-12 16:48 ` Dmitry A. Kazakov
2007-04-12 18:27 ` Robert A Duff
2007-04-13 16:21 ` Hyman Rosen
2007-04-12 21:11 ` Georg Bauhaus
2007-04-13 15:45 ` Hyman Rosen
2007-04-02 8:13 ` kevin cline
2007-04-02 23:54 ` Randy Brukardt
2007-04-03 2:58 ` jimmaureenrogers
2007-04-12 16:24 ` Hyman Rosen
2007-04-12 18:05 ` Markus E Leypold
2007-04-15 0:55 ` Hyman Rosen
2007-04-15 7:55 ` Dmitry A. Kazakov
2007-04-15 15:25 ` Markus E Leypold
2007-03-31 11:40 ` Larry Kilgallen
[not found] ` <1175236212.771445.135460@y66g2Organization: LJK Software <c82IfUV$xbi8@eisner.encompasserve.org>
2007-03-31 18:56 ` adaworks
2007-03-31 20:10 ` Markus E Leypold
2007-04-01 18:13 ` tmoran
2007-03-31 19:33 ` Cesar Rabak
2007-03-31 20:11 ` Markus E Leypold
2007-03-30 8:16 ` Markus E Leypold
2007-03-30 9:10 ` Georg Bauhaus
2007-03-30 19:16 ` Pascal Obry
2007-04-01 11:41 ` Martin Krischik
2007-04-01 17:03 ` Pascal Obry
2007-04-01 18:13 ` tmoran
2007-04-16 2:09 ` Brian May
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox