comp.lang.ada
 help / color / mirror / Atom feed
From: thornley@visi.com (David Thornley)
Subject: Re: Beginner's Language?
Date: Thu, 31 May 2001 19:22:50 GMT
Date: 2001-05-31T19:22:50+00:00	[thread overview]
Message-ID: <eSwR6.4670$Dd5.2043224@ruti.visi.com> (raw)
In-Reply-To: 3B166490.98133E58@ftw.rsc.raytheon.com

In article <3B166490.98133E58@ftw.rsc.raytheon.com>,
Wes Groleau  <wwgrol@ftw.rsc.raytheon.com> wrote:
>
>> P.S.  Any language where you can add two positive numbers together and get a
>> negative number is inherently broken.  It is a sign of the language designer
>> and compiler writer choosing their own convenience over yours.
>
>Since Java was not one of the many newsgroups posted to,
>I presume it is not the only language with such a stupid
>feature?
>
It's fairly usual in C.  The C standard leaves the case of
arithmetic overflow in signed types undefined, which means
that the result could be negative, imaginary, text, or armed
with thermonuclear weapons for all the standards care.
Most systems I've used it on will wrap around, so that adding
positive numbers and overflowing the limits will give you
a negative number.

Partly the choice of languages depends on such things as
whether you wish to get the right answer almost immediately
or the wrong one with even greater speed.  I never want
to have to trust intermediate results not to overflow,
which is one of the many reasons I like Common Lisp (in 
which case such overflow yields the right answer at a loss
in speed).

Other interesting behaviors are truncation on the left because
somebody left a 9 off a variable definition in COBOL.  I've
seen that cost thousands of dollars (well, to be honest, the
client being billed probably saw it as a savings of thousands
of dollars).  I've heard of such behavior in PL/I, a language
I have never had the pleasure of working in.

You can also avoid some floating-point errors in Common Lisp
by using rational numbers instead of floating-point.  (/ 1 3)
evaluates to an honest 1/3 rather than a floating-point
approximation.  If (+ (/ 1 3) (/1 3) (/1 3)) doesn't yield
1, your CL system has problems.  Pity about transcendental
functions that have rational values on only a few points of
their range.

--
David H. Thornley                        | If you want my opinion, ask.
david@thornley.net                       | If you don't, flee.
http://www.thornley.net/~thornley/david/ | O-



  reply	other threads:[~2001-05-31 19:22 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-31  0:41 Beginner's Language? robin
2001-05-31  4:15 ` Frank A. Adrian
2001-05-31 15:34   ` Wes Groleau
2001-05-31 19:22     ` David Thornley [this message]
2001-06-02 13:37   ` Johan Kullstam
2001-06-02 15:46     ` Frank A. Adrian
  -- strict thread matches above, loose matches on Subject: below --
2001-05-10  4:35 yamir
2001-05-04 16:12 Faisal Halim
2001-05-04 16:29 ` Marin David Condic
2001-05-04 17:14 ` chris.danx
2001-05-04 22:35 ` Jeffrey Carter
2001-05-05  1:51 ` raj
2001-05-05 14:51   ` Carl E Gundel
2001-05-05 18:12   ` Dodger
2001-05-05 19:06     ` Jochen Schmidt
2001-05-05 22:59       ` Randal L. Schwartz
2001-05-05 23:38         ` Jochen Schmidt
2001-05-08 16:01           ` John English
2001-05-08 18:37             ` Brian Rogoff
2001-05-09 11:31               ` John English
2001-05-09 14:33                 ` Ehud Lamm
2001-05-09 16:40             ` Charles Hixson
2001-05-06  2:19         ` Jeffrey Carter
2001-05-18 23:02       ` glauber
2001-05-05 20:09     ` Jeffrey Carter
2001-05-06  1:50     ` raj
2001-05-06  2:09       ` raj
2001-05-06  2:09       ` raj
2001-05-06 15:49         ` Randal L. Schwartz
2001-05-06 22:50           ` raj
2001-05-05 19:49   ` Larry Kilgallen
2001-05-05 22:52     ` Reinout Heeck
2001-05-06  0:03       ` Dale Stanbrough
2001-05-06  1:47         ` Reinout Heeck
2001-05-06  3:38           ` Dale Stanbrough
2001-05-06  4:05             ` Reinout Heeck
2001-05-06 20:17             ` Dave Harris
2001-05-07 10:41     ` Biep @ http://www.biep.org
2001-05-07 10:57       ` Andrew Cooke
2001-05-09 10:22         ` Biep @ http://www.biep.org/
2001-05-10  5:45           ` Raffael Cavallaro
2001-05-10  9:02           ` Jochen Schmidt
2001-05-07 14:24   ` Marin David Condic
2001-05-07 15:45     ` Friedrich Dominicus
2001-05-09  7:19       ` Espen Vestre
2001-05-09 13:55       ` Marin David Condic
2001-05-09 14:18         ` Ola Rinta-Koski
2001-05-09 15:53           ` Marin David Condic
2001-05-10 17:15           ` David Gillon
2001-05-10 19:50             ` Warren W. Gay VE3WWG
2001-05-10 20:15             ` Marie-No�lle Baechler
2001-05-11  5:29             ` Friedrich Dominicus
2001-05-27 12:59               ` Alejandro R. Mosteo
2001-05-27 22:34                 ` Larry Elmore
2001-06-03 21:18                   ` Stefan Skoglund
2001-05-09 14:53         ` Biep @ http://www.biep.org/
2001-05-09 15:39         ` Friedrich Dominicus
2001-05-09 18:24           ` Andreas Krennmair
2001-05-09 23:01             ` Sashank Varma
2001-05-10  0:01               ` David Starner
2001-05-10  6:10                 ` Mark VandeWettering
2001-05-10  8:08                 ` FM
2001-05-10 15:07                 ` Eugene Zaikonnikov
2001-05-10 20:08                 ` David Thornley
2001-05-16 18:00                 ` Robert Posey
2001-05-16 18:19                   ` stephan
2001-05-21  4:15                     ` Lao Xiao Hai
2001-05-21 11:53                       ` raj
2001-05-23 10:33                         ` Liam Devlin
2001-05-21 21:30                       ` Marie-No�lle Baechler
2001-05-27 12:59                     ` Alejandro R. Mosteo
2001-05-30 20:26                     ` Florian Weimer
2001-05-30 21:56                       ` Johan Kullstam
2001-05-31  9:01                         ` Jean-Pierre Rosen
2001-05-31 13:29                           ` Raymond Toy
2001-05-31 13:51                             ` Jean-Pierre Rosen
2001-05-16 20:44                   ` brlewis
2001-05-21  5:09                   ` vsync
2001-05-10  6:06             ` Mark VandeWettering
2001-05-10  7:57               ` Andrew Bromage
2001-05-10  8:55                 ` Iain McNaughton
2001-05-15  2:02                   ` Rob Warnock
2001-05-15 11:56                     ` Andreas Krennmair
2001-05-15 17:14                       ` FM
2001-05-15 18:08                         ` Andreas Krennmair
2001-05-15 20:37                           ` FM
2001-05-16 17:56                             ` Andreas Krennmair
2001-05-17  3:06                               ` FM
     [not found]                 ` <3AFA5A92.5D4F191C@info.unicaen.fr>
     [not found]                   ` <3AFAD076.C5F31B44@research.bell-labs.com>
     [not found]                     ` <m37kz1utg9.fsf@chaos.resnet.gatech.edu>
2001-06-05 13:03                       ` Biep @ http://www.biep.org/
2001-05-10 13:03               ` John English
2001-05-10 13:44                 ` Michael Livshin
2001-05-16 17:59                   ` Lex Spoon
2001-05-22 14:16                     ` John English
2001-05-22 23:31                       ` raj
2001-05-23  0:44                       ` Chad R. Meiners
2001-05-28  0:17                       ` Lao Xiao Hai
2001-05-30 20:34                         ` Florian Weimer
2001-05-10  7:28             ` FM
2001-05-10  8:51               ` Jochen Schmidt
2001-05-10 21:32                 ` FM
2001-05-11  0:26                   ` James Rogers
2001-05-12  2:56                 ` FM
2001-05-12 17:06                 ` FM
2001-05-11 15:55               ` Andreas Krennmair
2001-05-15  9:19                 ` Siegfried Gonzi
2001-05-15  9:47                   ` Preben Randhol
2001-05-15 12:06                   ` Andreas Krennmair
2001-05-10  8:11             ` Friedrich Dominicus
2001-05-10 11:09             ` Markus Mottl
2001-05-10 14:44             ` Eugene Zaikonnikov
2001-05-10 15:34             ` ssthapa
2001-05-14 19:58             ` Johan Kullstam
2001-05-14 20:14               ` Matthias Blume
2001-05-16 16:16                 ` J�rgen Exner
2001-05-16 20:49                   ` Matthias Blume
2001-05-17  0:22                     ` Boris Smilga
2001-05-17  1:29                     ` a
2001-05-17  3:07                       ` FM
2001-05-17 13:56                       ` Matthias Blume
2001-05-17 17:54                         ` J�rgen Exner
2001-05-09 22:56         ` David Thornley
2001-05-10  9:16           ` Ola Rinta-Koski
2001-05-10 20:17             ` David Thornley
2001-05-10  5:53         ` Mark VandeWettering
2001-05-10  9:22         ` Francis Leboutte
2001-05-10 15:13         ` Georg Bauhaus
2001-05-10 16:49           ` Jochen Schmidt
2001-05-10 17:04             ` Friedrich Dominicus
2001-05-11  7:34           ` Ola Rinta-Koski
2001-05-11 14:47             ` Georg Bauhaus
2001-05-10 15:17         ` brlewis
2001-05-08  0:15     ` Dodger
2001-05-16 16:55       ` Lex Spoon
2001-05-16 17:42         ` Markus Kliegl
2001-05-19 14:24           ` Lex Spoon
2001-05-08  7:11     ` Tarjei T. Jensen
2001-05-08  7:23       ` ronald schroder
2001-05-16 17:53         ` Lex Spoon
2001-05-17  0:54           ` Tim May
2001-05-17  1:15             ` Gary Scott
2001-05-17  7:20               ` Tom Lake
2001-05-19 14:40                 ` Lex Spoon
2001-05-17  8:20           ` Biep @ http://www.biep.org/
2001-05-17 12:43             ` illya
2001-05-08 13:38       ` Marin David Condic
2001-05-09  5:32     ` Simon Wright
2001-05-10 21:50       ` Gary Scott
2001-05-11  2:14       ` raj
2001-05-05  6:23 ` Gerhard Häring
2001-05-05  9:06   ` David Starner
2001-05-05 11:05     ` chris.danx
2001-05-05 22:12       ` Nacho Robledo
2001-05-06 13:14     ` Florian Weimer
2001-05-06 19:15       ` David Starner
2001-05-06 15:17 ` DuckE
2001-05-06 20:58 ` Frank
2001-05-06 21:12 ` Kenneth Almquist
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox