From: Magnus.Kempe@di.epfl.ch (Magnus Kempe)
Subject: Re: Easily-Read C++?
Date: 5 Oct 1994 18:24:23 GMT
Date: 1994-10-05T18:24:23+00:00 [thread overview]
Message-ID: <1994Oct5.185354@di.epfl.ch> (raw)
In-Reply-To: 941005030023_73672.2025_DHR103-1@CompuServe.COM
Ada was _designed_ to be readable. C++ is based on C, not something
which was designed to be readable (to say the least).
Is the code below readable? (pretty standard C++, no?) Try.
Read it out, loud.
--------------------------------------------------------------
template <class T>
class Stack {
public:
Stack () {size = 0; head = 0;};
~Stack () {if (head) delete head;};
void push (T& a);
void pop ();
T& top () {return head->item;};
int count () {return size;};
bool operation== (Stack<T>& a);
private:
int size;
Node<T> *head;
};
template <class T>
class Node {
public:
Node (T6 a, Node<T> *b): next(b), item(a) {};
~Node () {if (next != 0) delete next;};
private:
T item;
Node<T> *next;
friend class stack<T>;
};
--------------------------------------------------------------
How does one pronounce "void push (T& a);", or "Node<T> *b", or
"{}" ? Do you notice the typos?
Compare to a pretty standard Ada 9X equivalent:
--------------------------------------------------------------
generic
type Item_Type is
private;
package Stack_G is
type Stack_Type is
tagged limited private;
procedure Push (Stack : in out Stack_Type;
Item : in Item_Type);
procedure Pop (Stack : in out Stack_Type);
function Count (Stack : Stack_Type)
return Natural;
function Top (Stack : Stack_Type)
return Item_Type;
operator "=" (Left, Right : Stack_Type)
return Boolean;
private
type Cell_Type;
type Link_Type is
access cell_Type;
type Cell_Type is
record
Item : Item_Type;
Next : Link_Type;
end record;
type Stack_Type is
tagged limited record
Size : Natural := 0;
Head : Link_Type;
end record;
end Stack_G;
--------------------------------------------------------------
Do you notice the typos?
--
Magnus Kempe "I know not what course others may take, but as for me,
Magnus.Kempe@di.epfl.ch Give me Liberty... or give me Death!" -- Patrick Henry
next prev parent reply other threads:[~1994-10-05 18:24 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
1994-10-05 3:00 Easily-Read C++? Ken Garlington
1994-10-05 9:42 ` Pierre Castori
1994-10-05 13:28 ` Robert Dewar
1994-10-06 2:20 ` Benjamin Ketcham
[not found] ` <CxDL8H.KGE@csn.org>
[not found] ` <milodCxH2E4.7F4@netcom.com>
[not found] ` <CxHJv0.Kw0@csn.org>
[not found] ` <DAG.94Oct11080229@bellman.control.lth.se>
[not found] ` <37du0k$ir2@gnat.cs.nyu.edu>
1994-10-12 3:19 ` Attractive comments better? R_Tim_Coslet
1994-10-13 1:35 ` Michael Feldman
1994-10-12 17:03 ` Easily-Read C++? John DiCamillo
1994-10-05 14:26 ` Eric S. Sessoms
1994-10-05 17:47 ` Kevin Cline
1994-10-05 22:02 ` Robert Dewar
1994-10-05 22:23 ` Richard Kenner
[not found] ` <124377@cup.portal.com>
1994-10-11 18:11 ` David Weller
1994-10-11 18:43 ` Robert Dewar
1994-10-12 13:15 ` Norman H. Cohen
1994-10-12 14:10 ` Robert Firth
1994-10-13 19:33 ` John D. Reading
1994-10-13 0:51 ` Keith Thompson @pulsar
1994-10-05 18:24 ` Magnus Kempe [this message]
[not found] ` <EACHUS.94Oct6101347@spectre.mitre.org>
[not found] ` <371a3p$nos@gnat.cs.nyu.edu>
[not found] ` <1994Oct7.153254.29848@swlvx2.msd.ray.com>
[not found] ` <374uke$8mo@delphi.cs.ucla.edu>
[not found] ` <37bno4$ko4@gnat.cs.nyu.edu>
1994-10-11 13:00 ` Robert Firth
1994-10-11 13:44 ` Casper H.S. Dik
1994-10-11 19:03 ` Robert Dewar
1994-10-12 16:38 ` John DiCamillo
1994-10-11 18:52 ` Robert Dewar
1994-10-12 13:49 ` Norman H. Cohen
[not found] ` <37eej8$6ie@siberia.gatech.edu>
1994-10-11 18:55 ` Robert Dewar
1994-10-12 13:35 ` John M. Mills
1994-10-12 19:48 ` Robert Dewar
[not found] ` <CxFr5B.K1G@news.otago.ac.nz>
[not found] ` <DAG.94Oct10075533@bellman.control.lth.se>
1994-10-11 17:50 ` Norman H. Cohen
[not found] ` <373vd2$39n@theopolis.orl.mmc.com>
[not found] ` <CxBvq7.GrH@inmet.camb.inmet.com>
[not found] ` <37bnic$kj2@gnat.cs.nyu.edu>
1994-10-11 18:02 ` Norman H. Cohen
[not found] ` <1994Oct7.110309@di.epfl.ch>
[not found] ` <DAG.94Oct7204142@bellman.control.lth.se>
[not found] ` <1994Oct7.210111.4494@nosc.mil>
[not found] ` <374i3o$c87@Starbase.NeoSoft.COM>
1994-10-12 17:37 ` "Tag" (Was: Easily-Read C++? (NOT)) David Emery
[not found] <3719k1$11gt@watnews1.watson.ibm.com>
[not found] ` <85C92963672@annwfn.com>
1994-10-11 18:37 ` Easily-Read C++? Norman H. Cohen
1994-10-12 16:54 ` David Emery
1994-10-14 21:13 ` Kevin Cline
1994-10-21 14:38 ` Thomas M. Breuel
1994-10-22 3:10 ` Michael M. Bishop
1994-10-26 0:39 ` -mlc-+Schilling J.
1994-10-27 14:54 ` Bob Duff
1994-10-27 15:35 ` Richard Kenner
1994-10-27 23:09 ` Robert Dewar
1994-11-01 21:19 ` Adam Beneschan
1994-11-02 0:46 ` Bob Duff
-- strict thread matches above, loose matches on Subject: below --
1994-10-12 3:06 Easily-Read C++ Ken Garlington
1994-10-14 10:50 Easily-Read C++? Bob Wells #402
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox