comp.lang.ada
 help / color / mirror / Atom feed
From: Darren New <dnew@san.rr.com>
Subject: Re: Is strong typing worth the cost?
Date: Wed, 01 May 2002 16:51:17 GMT
Date: 2002-05-01T16:51:17+00:00	[thread overview]
Message-ID: <3CD01D32.19D997B0@san.rr.com> (raw)
In-Reply-To: aampl7$g37$1@nh.pace.co.uk

Following up on several posts at once...

> There is no scientific
> evidence I am aware of that somehow weak typing, lack of runtime checks,
> "concise" syntax or other features that are contrary to the Ada philosophy
> (The AntiAda Way?) improve productivity or reduce defects over development
> in Ada or other more rigorous languages.

Well, depending on the project, you might consider things like XP to be
evidence that such a system can be made more productive than a strict
top-down design blah blah.

However, I think the benefit of something like Ada over something like C
is pretty clear. It's just not clear to me that the benefit of something
like Ada over something like Smalltalk or Common Lisp or FORTH or
something else with an entirely different philosophy of programming is
as obvious.

If you're trying to convince C programmers to move to Ada, focussing on
only the strong typing is probably a bad idea, given there's good
"scientific" evidence that Ada outperforms C. If you're trying to
convince people that Ada is best, it's less obvious.

> standard disclaimer: "All Other Things Being Equal" :-) 

And the problem is that in reality, all other things aren't equal. A
language specifically designed to be weakly typed, or dynamically typed,
or something like that isn't going to be equal to Ada in most other
ways. If all you know are the "romance languages" of programming
(procedural imperative statically-typed languages), this may not be as
obvious.

> This discussion is occurring in an Ada news group because Ada
> is essentially the only game in town, with regard to a) strong
> typing, and b) a reasonable sized commercial usage base.

Errr, COBOL? Smalltalk? Java? You seem to have a very odd definition for
"strong typing". 

> Things like that *can* become functional requirements as in "The system
> shall detect all input that is out of range..." or "The system shall never
> generate an output for this device that exceeds its safe operating
> range...." All that requires some kind of constraint checks at points
> throughout the code where a weak typed language is going to be at a
> disadvantage because you'll have to manufacture your own checks.

It's not clear a weakly-typed language is going to be at a disadvantage
from this. Consider a compiler that has a requirement to give a syntax
error for any malformed input. Something like Ada could declare types
representing valid syntax trees and build the syntax trees during
parsing. But the Ada code is still going to have to check the input as
it reads it in order to give an error message rather than throwing an
uncaught exception. Something like an SQL RDBMS written in Ada is going
to have to do pretty much all the same checks in Ada as it would in C.
So once you get to a high enough level of input checking and error
reporting, you can't rely on the constraint checks to tell you what's
wrong with your input. You really don't want a stack traceback printed
out on your payroll checks.

> How about doing what I did: keep track of each bug found in their
> currently-developing code, and then determine whether strong typing
> would have either prevented it or turned a multi-day debug into a
> multi-minute debug.

And XP addresses this by making every debug session a multi-minute debug
session. For some types of developments, it really does work, even
without the strong typing. (Well, it's strongly typed, but dynamically
typed, so I don't think the OP would consider it strongly typed.) And
indeed the keeping track of bugs found and fixed is one of the central
mantras of XP. The way you program is you first insert a bug ("The code
doesn't yet implement this new requirement, so the test that it works
fails, so that's considered a bug") then you fix that bug. 

-- 
Darren New 
San Diego, CA, USA (PST). Cryptokeys on demand.
   The 90/10 rule of toothpaste: the last 10% of 
         the tube lasts as long as the first 90%.



  parent reply	other threads:[~2002-05-01 16:51 UTC|newest]

Thread overview: 166+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-28 17:07 Is strong typing worth the cost? dmjones
2002-04-29 15:22 ` Ted Dennison
2002-04-29 15:53   ` Pat Rogers
2002-04-29 18:37   ` dmjones
2002-04-29 18:50     ` Pat Rogers
2002-04-29 19:00     ` Darren New
2002-04-30 11:50     ` Marc A. Criley
2002-04-30 13:24       ` dmjones
2002-04-30 15:03         ` Jim Rogers
2002-04-30 16:48           ` dmjones
2002-04-30 17:45             ` Marin David Condic
2002-05-01 21:36               ` Brian Gaffney
2002-04-30 18:20             ` tmoran
2002-04-30 19:00               ` Marin David Condic
2002-05-01 15:20                 ` dmjones
2002-05-01 16:07                   ` Marin David Condic
2002-05-02  5:00                     ` Simon Wright
2002-05-02  7:55                   ` Martin Dowie
2002-05-01 16:51                 ` Darren New [this message]
2002-05-01 17:25                   ` Marin David Condic
2002-05-02 16:09                     ` Darren New
2002-05-03 13:46                       ` Marin David Condic
2002-05-03 22:54                         ` Darren New
2002-05-01 18:22                 ` tmoran
2002-05-01 18:50                   ` Marin David Condic
2002-05-01 20:30                   ` Dan Andreatta
2002-05-01 21:47                     ` Larry Kilgallen
2002-05-02 15:43                     ` Wes Groleau
2002-04-30 19:01             ` Preben Randhol
2002-04-30 19:28               ` Preben Randhol
2002-04-30 20:20                 ` Marin David Condic
2002-05-01  8:36                   ` Pascal Obry
2002-05-01 11:50                     ` Gary Scott
2002-05-01 13:39                       ` Marin David Condic
2002-05-02  2:24                         ` Darren New
2002-05-02 15:47                           ` Wes Groleau
2002-05-02 16:37                             ` Darren New
2002-05-02 19:59                               ` Chad R. Meiners
2002-05-02 21:48                                 ` Darren New
2002-05-02 22:16                                   ` Wes Groleau
2002-05-02 23:52                                     ` Darren New
2002-05-03  0:17                                       ` Aidan Skinner
2002-05-03  0:31                                         ` Aidan Skinner
2002-05-03 15:10                                       ` Wes Groleau
2002-05-03 16:06                                         ` Darren New
2002-05-06 16:37                                           ` Wes Groleau
2002-05-06 17:40                                             ` Darren New
2002-05-07  2:06                                               ` tmoran
2002-05-07 15:21                                                 ` Darren New
2002-05-07 19:11                                                   ` Preben Randhol
2002-05-03 15:31                                       ` Wes Groleau
2002-05-03 16:21                                         ` Darren New
2002-05-06 15:33                                           ` Wes Groleau
2002-05-06 16:30                                             ` Darren New
2002-05-03 15:38                                       ` Wes Groleau
2002-05-03 16:07                                         ` Marin David Condic
2002-05-03 19:51                                       ` Randy Brukardt
2002-05-03 20:55                                         ` Ed Falis
2002-05-04 16:34                                           ` Brian Rogoff
2002-05-03  0:22                                   ` Chad R. Meiners
2002-05-03  0:48                                     ` Darren New
2002-05-03 12:11                                       ` Chad R. Meiners
2002-05-03 14:27                                         ` Marin David Condic
2002-05-04  0:23                                           ` Darren New
2002-05-06 17:54                                             ` Marin David Condic
2002-05-07 15:28                                               ` Darren New
2002-05-07 17:54                                                 ` Chad R. Meiners
2002-05-03 14:01                           ` Marin David Condic
2002-05-03 23:41                             ` Gary Scott
2002-05-06 18:05                               ` Marin David Condic
2002-05-01 14:19                       ` Pascal Obry
2002-05-01 13:27                     ` Marin David Condic
2002-05-01 14:28                     ` Wes Groleau
2002-05-01 15:25                       ` Marin David Condic
2002-05-02 15:51                       ` Wes Groleau
2002-05-02 16:47                         ` Gary Scott
2002-05-02 18:24                           ` Preben Randhol
2002-05-02 18:48                             ` Dan Nagle
2002-05-03  8:44                               ` Preben Randhol
2002-05-03 10:17                                 ` Gary Scott
2002-05-03 10:48                                   ` Preben Randhol
2002-05-03 13:13                                     ` Gary Scott
2002-05-03 14:40                                       ` Preben Randhol
2002-05-03 14:32                                 ` Dan Nagle
2002-05-02 17:26                         ` Larry Hazel
2002-05-02 18:12                           ` Wes Groleau
2002-05-02 18:40                             ` Preben Randhol
2002-05-02 21:54                               ` Wes Groleau
2002-05-02 18:54                           ` Gary Scott
2002-05-02 21:56                             ` Wes Groleau
2002-05-26 17:56                           ` Robert I. Eachus
2002-05-26 22:04                             ` Brian Rogoff
2002-05-27 23:26                               ` Robert I. Eachus
2002-05-28 15:26                             ` Marin David Condic
2002-05-02 11:30                     ` Larry Kilgallen
     [not found]                     ` <3CCFD76A.A60BB9Organization: LJK Software <Sb8D81Zz$HcE@eisner.encompasserve.org>
2002-05-02 16:12                       ` Darren New
2002-04-30 21:17             ` Jim Rogers
2002-04-30 21:30               ` Darren New
2002-05-07 12:17           ` Colin Paul Gloster
2002-05-07 22:11             ` Hyman Rosen
2002-04-30 15:39         ` Marin David Condic
2002-05-01 14:39           ` Wes Groleau
2002-05-01 15:42             ` Marin David Condic
2002-05-02 20:17               ` Jeffrey Carter
2002-05-03 14:40                 ` Marin David Condic
2002-05-26 16:51               ` Robert I. Eachus
2002-05-28 15:16                 ` Marin David Condic
2002-04-30 17:02         ` Chad R. Meiners
2002-04-30 17:27           ` Darren New
2002-04-30 20:15             ` Chad R. Meiners
2002-04-30 20:42               ` Marin David Condic
2002-05-02 12:00                 ` Marc A. Criley
2002-05-02 15:20                   ` Larry Kilgallen
2002-05-02 16:19                   ` Darren New
2002-05-03 14:44                   ` Marin David Condic
2002-04-30 21:40               ` Darren New
2002-04-30 21:43             ` tmoran
2002-04-30 22:38               ` Darren New
2002-04-30 18:04           ` Marin David Condic
2002-04-30 17:27         ` Jeffrey Carter
2002-04-30 17:35         ` Marc A. Criley
2002-05-01  4:01         ` Richard Riehle
2002-04-29 16:02 ` Marin David Condic
2002-05-01  0:31 ` dmjones
2002-05-01  8:05   ` Preben Randhol
2002-05-01  8:07   ` Preben Randhol
2002-05-01 14:32   ` Mike Silva
2002-05-01 15:52     ` Marin David Condic
2002-05-02 16:17     ` Wes Groleau
2002-05-02 18:53       ` tmoran
2002-05-02 18:58         ` Pat Rogers
2002-05-01 15:35   ` Jim Rogers
2002-05-01 16:17     ` Marin David Condic
2002-05-01 18:42     ` dmjones
2002-05-01 20:12       ` Dan Andreatta
2002-05-01 20:19       ` Darren New
2002-05-01 22:17         ` Jeffrey Carter
2002-05-02 16:18           ` Wes Groleau
2002-05-01 21:46       ` Larry Kilgallen
2002-05-01 22:21       ` Jeffrey Carter
2002-05-02 11:28         ` John English
2002-05-02 16:18           ` Darren New
2002-05-02 16:41             ` Larry Kilgallen
2002-05-02 18:28               ` Preben Randhol
2002-05-02 19:53                 ` Larry Kilgallen
2002-05-03 12:12                 ` Andrzej Filip
2002-05-03 10:14             ` Georg Bauhaus
2002-05-26 22:46               ` Robert I. Eachus
2002-05-27  8:10           ` Florian Weimer
2002-05-01 22:47       ` Jim Rogers
2002-05-01 16:32   ` Jeffrey Carter
2002-05-01 17:59     ` Marin David Condic
2002-05-01 19:08     ` Wes Groleau
2002-05-01 21:10   ` Brian Gaffney
2002-05-03  2:45 ` dmjones
2002-05-03  7:59   ` Martin Dowie
2002-05-03  8:43     ` Preben Randhol
2002-05-03  8:55       ` Martin Dowie
2002-05-03  8:51   ` Preben Randhol
  -- strict thread matches above, loose matches on Subject: below --
2002-04-29 19:21 Beard, Frank [Contractor]
2002-04-29 20:15 ` dmjones
2002-04-29 23:26 Beard, Frank [Contractor]
2002-04-30 18:08 Beard, Frank [Contractor]
2002-05-01 11:07 ` David Gillon
2002-04-30 20:32 Beard, Frank [Contractor]
2002-04-30 21:34 Gralia, Mars  J.
replies disabled

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