From: "David Thompson" <david.thompson1@worldnet.att.net>
Subject: Re: ada vs. cpp
Date: Tue, 16 Oct 2001 04:52:02 GMT
Date: 2001-10-16T04:52:02+00:00 [thread overview]
Message-ID: <S1Py7.71080$WW.3283137@bgtnsc05-news.ops.worldnet.att.net> (raw)
In-Reply-To: 3bbd6287.346843109@news.cis.dfn.de
Dmitry Kazakov <dmitry@elros.cbb-automation.de> wrote :
...
> Sorry, but Ada is one of rare languages which are able to manipulate
> strings allocated on the stack. IMO strings are indeed one of Ada
> strengths, especially if you need an efficient parsing code. ...
COBOL, post-1977 (IIRC) versions of Fortran, and (standard) Pascal
support ordinary local (or global/static) variables containing some
(fixed) number of characters treated (to greater or lesser extent)
as character strings. Many Pascals support counted strings
(that is, variable up to a declared limit) as an extension. Fortran
and later Pascal allow a subprogram parameter to accept string
arguments of different (fixed) sizes, a limited kind of genericity.
(On most separate-compilation implementations and even some
without you can cheat and access outside the declared bound(s)
or length of a parameter and it always works right as long as it
is within the actual argument, but this is not formally a feature
except in the BCPL-C lineage where an array parameter is
_defined_ to actually be a pointer with the bound discarded.)
PL/1 supports CHAR(n) fixed-length and VARYING variables,
and generic-length parameters. FWIW SQL also has fixed
and variable length character string data types; true SQL has
no local or "stack" variables of any type, but SQLoid PLs
like Sybase/M$ T-SQL and Oracle PL/SQL do.
C (and C++) can locally or statically allocate a char array
and treat it as a string given the null-termination convention;
in C++ a user or 3rdparty class could do fixed and/or variable
strings like all those above, including generic-length using a
templated proxy, though none are provided by the standard.
In C99 (not yet widely implemented) or GNU C a local array
variable (char or otherwise) can have a bound determined at
the equivalent of elaboration, and PL/1 has always had this.
Perhaps you meant to say C is the only widespread 3GL
(besides arguably FORTH and maybe early BASIC?) that
_didn't_ have character strings as an "official" datatype :-?
In this area (as others) Ada did a good job of collecting,
organizing, and making uniform pretty much all the functions
available in other 3GLs, but did not break significant new ground.
Which I hasten to say is still a valuable and even vital contribution.
>
> In any case, as many have pointed, it is a bit ridiculous to compare
> Ada's strings with C++ having no strings at all.
>
As previously noted C++ std::string is closely comparable
to Ada.Strings.Unbounded (and dynamically allocated).
--
- David.Thompson 1 now at worldnet.att.net
next prev parent reply other threads:[~2001-10-16 4:52 UTC|newest]
Thread overview: 148+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-10-03 20:42 ada vs. cpp Ralph M�ritz
2001-10-03 20:56 ` Preben Randhol
2001-10-03 21:07 ` Ralph M�ritz
2001-10-04 5:08 ` Pi
2001-10-04 5:07 ` Ed Falis
2001-10-04 5:13 ` David Starner
2001-10-04 10:57 ` Preben Randhol
2001-10-04 13:18 ` Marin David Condic
2001-10-04 16:30 ` Pascal Obry
2001-10-04 17:05 ` Marin David Condic
2001-10-05 15:22 ` Mike Mohr
2001-10-06 9:15 ` Pascal Obry
2001-10-06 11:23 ` MM
2001-10-06 12:27 ` Marc A. Criley
2001-10-06 16:53 ` James Rogers
2001-10-09 13:51 ` Marin David Condic
2001-10-09 14:13 ` James Rogers
2001-10-09 14:25 ` Marin David Condic
2001-10-10 16:46 ` Warren W. Gay VE3WWG
2001-10-09 15:10 ` Robert*
2001-10-09 16:17 ` James Rogers
2001-10-11 12:03 ` David Botton
2001-10-09 14:43 ` Robert*
2001-10-09 15:18 ` Wes Groleau
2001-10-09 18:21 ` Marin David Condic
2001-10-09 20:37 ` James Rogers
2001-10-09 16:21 ` James Rogers
2001-10-09 16:43 ` Lutz Donnerhacke
2001-10-10 5:18 ` Richard Riehle
2001-10-10 13:21 ` Marin David Condic
2001-10-10 14:15 ` Wes Groleau
2001-10-22 2:07 ` David Thompson
2001-10-22 13:35 ` Wes Groleau
2001-10-22 19:14 ` Ole-Hjalmar Kristensen
2001-10-23 5:40 ` Richard Riehle
2001-10-09 15:06 ` Ole-Hjalmar Kristensen
[not found] ` <9pv2f20jf4@drn.newsguy <3BC3240B.96703A8B@worldnet.att.net>
2001-10-10 5:47 ` Simon Wright
2001-10-06 22:38 ` Frode Tennebø
2001-10-06 23:48 ` mike
2001-10-07 7:31 ` Pascal Obry
2001-10-08 14:55 ` Mike Mohr
2001-10-08 15:07 ` Mike Mohr
2001-10-08 16:34 ` Robert*
2001-10-08 17:47 ` Mike Mohr
2001-10-08 18:38 ` Robert*
2001-10-09 14:56 ` Mike Mohr
2001-10-09 15:20 ` Wes Groleau
2001-10-09 16:14 ` Steven Deller
2001-10-09 16:55 ` Pascal Obry
2001-10-08 19:19 ` James Rogers
2001-10-09 8:17 ` Pascal Obry
2001-10-09 15:46 ` Ted Dennison
2001-10-09 17:35 ` Mike Mohr
2001-10-09 18:45 ` Ted Dennison
2001-10-08 18:02 ` Ted Dennison
2001-10-09 4:59 ` David Thompson
2001-10-04 13:16 ` Ted Dennison
2001-10-05 7:50 ` Dmitry Kazakov
2001-10-05 13:31 ` David Starner
2001-10-05 15:34 ` Ted Dennison
2001-10-05 17:49 ` David Starner
2001-10-05 18:54 ` Wes Groleau
2001-10-05 22:02 ` James Rogers
2001-10-05 22:35 ` Wes Groleau
2001-10-06 3:44 ` David Starner
2001-10-08 8:18 ` Dmitry Kazakov
2001-10-08 13:33 ` David Starner
2001-10-09 13:36 ` Wes Groleau
2001-10-09 15:29 ` David Starner
2001-10-10 11:01 ` Dmitry Kazakov
2001-10-10 11:20 ` Lutz Donnerhacke
2001-10-10 12:14 ` Robert*
2001-10-10 13:31 ` Lutz Donnerhacke
2001-10-10 14:36 ` Steven Deller
2001-10-10 14:59 ` Wes Groleau
2001-10-10 15:15 ` Lutz Donnerhacke
2001-10-10 15:16 ` Dmitry Kazakov
2001-10-10 16:10 ` Florian Weimer
2001-10-11 8:02 ` Dmitry Kazakov
2001-10-10 15:59 ` Brian Rogoff
2001-10-10 18:50 ` David Starner
2001-10-11 9:28 ` Lutz Donnerhacke
2001-10-10 14:03 ` David Starner
2001-10-10 16:40 ` Ted Dennison
2001-10-10 17:53 ` Pascal Obry
2001-10-10 23:11 ` David Starner
2001-10-11 3:00 ` James Rogers
2001-10-22 2:10 ` David Thompson
2001-10-05 13:52 ` James Rogers
2001-10-05 14:28 ` Larry Kilgallen
2001-10-05 14:07 ` Ted Dennison
2001-10-16 4:52 ` David Thompson [this message]
2001-10-16 10:21 ` Dmitry Kazakov
2001-11-13 2:12 ` David Thompson
2001-11-13 10:21 ` Dmitry A. Kazakov
2001-11-13 16:05 ` Ted Dennison
2001-11-14 9:29 ` Dmitry A. Kazakov
2001-10-04 6:01 ` mike
2001-10-04 8:42 ` Pi
2001-10-04 12:22 ` James Rogers
2001-10-04 17:50 ` perl Warren W. Gay VE3WWG
2001-10-04 19:27 ` perl maa
2001-10-05 12:15 ` perl Georg Bauhaus
2001-10-04 19:28 ` perl Larry Kilgallen
2001-10-05 7:24 ` perl Lutz Donnerhacke
2001-10-05 12:38 ` perl Georg Bauhaus
2001-10-06 19:00 ` perl Florian Weimer
2001-10-04 16:26 ` ada vs. cpp Pascal Obry
2001-10-04 18:47 ` David Botton
2001-10-04 22:29 ` Jacob Sparre Andersen
2001-10-04 22:31 ` Wes Groleau
2001-10-04 22:52 ` Preben Randhol
2001-10-05 12:43 ` Georg Bauhaus
2001-10-05 13:09 ` Preben Randhol
2001-10-06 1:05 ` Mike Silva
2001-10-04 13:50 ` Ted Dennison
2001-10-03 21:03 ` Marin David Condic
2001-10-04 2:40 ` Jeff
2001-10-05 1:23 ` Adrian Hoe
2001-10-05 4:34 ` mike
2001-10-05 4:42 ` mike
2001-10-05 11:13 ` Adrian Hoe
-- strict thread matches above, loose matches on Subject: below --
2001-10-12 20:54 Richard Pinkall-Pollei
2001-10-12 21:28 ` Vector..
2001-10-13 7:07 ` Dale Stanbrough
2001-10-14 8:15 ` Jean-Marc Bourguet
2001-10-15 10:04 ` Nexus
2001-10-15 12:18 ` Lutz Donnerhacke
2001-10-15 21:25 ` Florian Weimer
2001-10-22 2:08 ` David Thompson
2001-10-22 7:04 ` Florian Weimer
2001-10-22 7:31 ` Lutz Donnerhacke
2001-11-13 2:12 ` David Thompson
2001-10-16 8:47 ` Jean-Marc Bourguet
2001-10-16 10:08 ` Lutz Donnerhacke
2001-10-16 11:07 ` Jean-Marc Bourguet
2001-10-16 12:00 ` Lutz Donnerhacke
2001-10-16 19:08 ` Darren New
2001-10-16 15:46 ` Florian Weimer
2001-10-16 19:31 ` Stephen Leake
2001-10-16 20:13 ` Florian Weimer
2001-10-16 21:42 ` Stephen Leake
2001-10-17 8:37 ` Florian Weimer
2001-10-17 8:45 ` Lutz Donnerhacke
2001-10-16 13:45 ` Ted Dennison
2001-10-16 13:54 ` Jean-Marc Bourguet
2001-10-16 13:54 ` Lutz Donnerhacke
2001-10-15 13:44 ` Marin David Condic
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox