From: kst@alsys.com (Keith Thompson)
Subject: Re: "Subtract C, add Ada"
Date: Sat, 14 Jan 1995 10:37:11 GMT
Date: 1995-01-14T10:37:11+00:00 [thread overview]
Message-ID: <D2E5Hz.LDG@alsys.com> (raw)
In-Reply-To: 3f4mbe$rud@cronkite.seas.gwu.edu
In <3f4mbe$rud@cronkite.seas.gwu.edu> dobrien@seas.gwu.edu (David O'Brien) writes:
> I have to wonder. What if C defined the logical equals operator to be
> "=" and the assignment operator to be ":=" just like Ada, Algol, Pascal,
> Modula-x, etc? Would this error still exist???
>
> Quickly thinking about it, I feel that I write a lot more assignment
> statements than local statements, couldn't I be in the habit of typing
> ":=" and thus accidently type that when I meant logical comparison?
> Since that would still be a perfectly valid, conforming C program,
> the compiler is not required to give any warnings (just like current
> practice). Thus, I would still have the same logic error in my program.
> Chances of happening??? Any bodies guess. So is the problem really
> one of symbol choice, or program semantics?
I suspect this error would be rarer if C used ":=" for assignment.
The symbol "=" is used for equality in some languages (Pascal, standard
mathethematical notation, etc.) and assignment in others (Fortran,
C, etc.). The symbol ":=" is used only for assignment. I don't think
I've ever accidentally typed ":=" for a comparison in Ada.
Digression:
I once heard about a relatively obscure language that used ":" as
a catenation operator. It also had C-style assignment operators.
So, naturally, the statement "x := y;" assigned to x the result of
catenating x and y.
end Digression;
Of course, if C used ":=" for assignment and "=" for comparison, the
opposite error would be likely to occur; people would commonly type
x = y;
which, instead of assigning the value of y to x, would compare them
and discard the result. This could be caught by a compiler warning;
an assignment in an expression context sometimes makes sense, but a
comparison in a statement context never does. It could even be forbidden,
but I suppose that would violate the spirit of C.
Hmm. How about ":=" and ".EQ."? 8-)}
Please note that this article is not an anti-C flame; it's a theoretical
discussion about programming language syntax design. Yeah, there's
the ticket.
--
Keith Thompson (The_Other_Keith) kst@thomsoft.com (kst@alsys.com still works)
TeleSoft^H^H^H^H^H^H^H^H Alsys^H^H^H^H^H Thomson Software Products
10251 Vista Sorrento Parkway, Suite 300, San Diego, CA, USA, 92121-2718
When you're a nail, every problem looks like a hammer.
next prev parent reply other threads:[~1995-01-14 10:37 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <3etund$hnr@miranda.gmrc.gecm.com>
1995-01-12 9:56 ` "Subtract C, add Ada" Erik Svensson
[not found] ` <3f0n6b$qnp@theopolis.orl.mmc.com>
[not found] ` <3f3cq3$4tu@gnat.cs.nyu.edu>
1995-01-12 14:25 ` uninitialzed variables Richard Kenner
1995-01-12 14:44 ` "Subtract C, add Ada" Norman H. Cohen
1995-01-13 1:51 ` David O'Brien
1995-01-13 12:38 ` Laurent Gasser
1995-01-13 20:53 ` John DiCamillo
[not found] ` <3f8fnf$c8p@gamma.ois.com>
1995-01-16 11:02 ` Matt Kennel
[not found] ` <milodD2IFpG.329@netcom.com>
1995-01-17 21:39 ` R. William Beckwith
[not found] ` <3fa11q$sdh@gnat.cs.nyu.edu>
1995-01-16 20:20 ` David Moore
1995-01-14 0:24 ` David O'Brien
1995-01-20 4:43 ` Samuel Mize
1995-01-21 20:28 ` David O'Brien
1995-01-22 21:12 ` Robert Dewar
1995-01-23 18:35 ` Norman H. Cohen
1995-01-23 19:18 ` John Cosby - The Coz
1995-01-24 14:11 ` Samuel Mize
[not found] ` <3g655n$q5k@theopolis.orl.mmc.com>
1995-01-30 15:33 ` Ada vs. C Martijn Bak
1995-01-14 10:37 ` Keith Thompson [this message]
[not found] ` <3fcjgt$b0v@cronkite.seas.gwu.edu>
1995-01-16 18:47 ` "Subtract C, add Ada" Robert Dewar
[not found] ` <D2It0r.4rp@inmet.camb.inmet.com>
1995-01-17 14:11 ` Norman H. Cohen
[not found] ` <3g9nir$fpl@gnat.cs.nyu.edu>
1995-01-28 20:23 ` Increment operator (+=) Jacob Sparre Andersen
[not found] ` <3gc5be$frj@Starbase.NeoSoft.COM>
1995-01-29 12:51 ` Adding in COBOL Robert Dewar
1995-02-10 13:49 "Subtract C, add Ada" R.A.L Williams
[not found] <3gsr0e$oin@miranda.gmrc.gecm.com>
1995-02-07 16:58 ` Mark S. Hathaway
1995-02-08 7:39 ` Travis C. Porco
1995-02-08 16:07 ` Fred J. McCall
1995-02-08 21:30 ` Garlington KE
-- strict thread matches above, loose matches on Subject: below --
1995-01-31 9:34 R.A.L Williams
1995-02-01 16:45 ` Charles H. Sampson
1995-01-23 8:49 R.A.L Williams
1995-01-25 23:18 ` Charles H. Sampson
1995-01-20 10:20 R.A.L Williams
1995-01-20 13:22 ` Renaud HEBERT
1995-01-24 3:35 ` David Moore
1995-01-25 5:38 ` Robert Dewar
1995-01-28 16:35 ` Jules
1995-01-29 8:06 ` Matt Kennel
1995-01-30 5:31 ` Michael Feldman
1995-01-31 22:22 ` David O'Brien
1995-01-24 20:23 ` N. Mellor
1995-01-25 8:50 ` Robb Nebbe
1995-01-25 14:19 ` John Volan
1995-01-26 5:07 ` Samuel Mize
1995-01-26 18:51 ` Mark A Biggar
1995-01-21 15:18 ` Robert Dewar
1995-01-21 21:03 ` David O'Brien
1995-01-23 3:09 ` Jay Martin
1995-01-23 12:50 ` Andrew McConnell
1995-01-24 0:54 ` Matt Kennel
1995-01-25 17:03 ` Norman H. Cohen
1995-01-26 1:13 ` Dr. Richard Botting
1995-01-26 14:32 ` Anders Juul Munch
1995-01-24 0:17 ` Bob Kitzberger
1995-01-23 20:46 ` Robert Firth
1995-01-24 14:25 ` Samuel Mize
1995-01-25 7:27 ` David O'Brien
1995-01-25 12:14 ` Robert A Duff
1995-01-25 5:57 ` David O'Brien
[not found] ` <3g9rf0$71k@Starbase.NeoSoft.COM>
1995-01-28 21:08 ` David O'Brien
1995-01-31 18:07 ` Samuel Mize
1995-02-01 10:23 ` Samuel Mize
1995-01-30 0:24 ` Mark S. Hathaway
1995-01-31 3:30 ` Jay Martin
1995-02-01 13:25 ` Jesper Kaagaard
1995-01-20 9:33 R.A.L Williams
[not found] <3fgphd$sc3@rational.rational.com>
1995-01-20 5:51 ` RonaldS60
1995-02-07 13:55 ` Robert C. Soong
[not found] <3fdcoi$chn@miranda.gmrc.gecm.com>
1995-01-20 5:01 ` Samuel Mize
1995-01-20 22:07 ` Garlington KE
1995-01-24 5:02 ` R_Tim_Coslet
1994-12-30 16:06 Mitch Gart
1995-01-03 19:04 ` whiting_ms@corning.com (Matt Whiting)
1995-01-05 4:31 ` Michael Feldman
1995-01-04 21:40 ` Fred McCall
1995-01-05 4:30 ` Richard Pattis
1995-01-05 16:07 ` Kevin Weise
1995-01-06 13:06 ` Jahn Rentmeister
1995-01-06 16:47 ` Laurent Gasser
1995-01-06 17:29 ` David Weller
1995-01-06 17:30 ` David Weller
1995-01-10 18:28 ` Bob Kitzberger
1995-01-06 23:36 ` Kenneth Almquist
1995-01-04 22:45 ` Jay M. Martin
1995-01-05 4:37 ` Michael Feldman
1995-01-05 18:08 ` Jay Martin
1995-01-05 23:56 ` Robert Dewar
1995-01-08 8:04 ` Jay Martin
1995-01-06 0:07 ` Michael M. Bishop
1995-01-10 21:30 ` Jay Martin
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox