comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: newbie, Spark 2014 or Ada 2012
Date: Fri, 10 Jul 2015 17:12:03 -0500
Date: 2015-07-10T17:12:03-05:00	[thread overview]
Message-ID: <mnpfvj$khe$1@loke.gir.dk> (raw)
In-Reply-To: 878uap8539.fsf@jester.gateway.sonic.net

"Paul Rubin" <no.email@nospam.invalid> wrote in message 
news:878uap8539.fsf@jester.gateway.sonic.net...
...
> Yeah, it's a different development style, as the Chris Smith essay I
> linked to earlier describes.  With Python-like languages, it's SOP to
> write code expecting it to crash, then then rely on the extensive
> runtime type and data checks to quickly diagnose and fix the crashes.
> You can get a module to be pretty solid after a few iterations of this.

I've always used Ada this way (especially on low importance programs). 
There's of course one more step (get rid of the compile-time errors), but 
that's way better than spending lots of time building test harnesses. Ada's 
extensive runtime checks catch most of the rest of the errors.

I hate compile-time errors as much as the next guy, but I hate debugging 
programs a lot more. I expect my programs to work the first time I run them, 
and most do. (And, after a few off-by-one errors, the only programs that 
don't work are the ones that ultimately solved the wrong problem. No 
programming language or system could do anything about that.)

What I want is more compile-time detection of errors to increase the 
likihood that the programs work immediately (or tell me precisely why they 
didn't work). Once you've reached runtime, it's too late for the computer to 
provide much help in getting the program to do what's intended.

                            Randy.


  parent reply	other threads:[~2015-07-10 22:12 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-06  0:28 newbie, Spark 2014 or Ada 2012 nomadlite
2015-07-06  1:30 ` Paul Rubin
2015-07-06  7:04   ` nomadfate
2015-07-06  7:20     ` Paul Rubin
2015-07-06  7:50     ` Jacob Sparre Andersen
2015-07-06 18:44       ` Jeffrey R. Carter
2015-07-06  9:34     ` Björn Lundin
2015-07-06 16:19       ` Paul Rubin
2015-07-06 22:37         ` Björn Lundin
2015-07-07  1:30           ` Paul Rubin
2015-07-07  9:35             ` darkestkhan
2015-07-07 17:26               ` David Botton
2015-07-07  3:46           ` Nasser M. Abbasi
2015-07-07  8:24             ` Björn Lundin
2015-07-07  8:57               ` Georg Bauhaus
2015-07-07 18:48                 ` Randy Brukardt
2015-07-07 22:56                   ` Paul Rubin
2015-07-08 19:50                     ` Randy Brukardt
2015-07-08 22:57                       ` Paul Rubin
2015-07-09 17:59                         ` Björn Lundin
2015-07-09 20:10                           ` Paul Rubin
2015-07-09 20:22                             ` Jeffrey R. Carter
2015-07-09 20:41                               ` Paul Rubin
2015-07-09 21:59                                 ` Jeffrey R. Carter
2015-07-09 22:37                                   ` Paul Rubin
2015-07-09 22:55                                     ` Jeffrey R. Carter
2015-07-09 23:25                                       ` Paul Rubin
2015-07-10 22:12                             ` Randy Brukardt [this message]
2015-07-06 19:20     ` David Botton
2015-07-06  2:16 ` David Botton
2015-07-06  6:56   ` nomadfate
2015-07-06 19:18     ` David Botton
2015-07-10 22:49 ` nomadfate
replies disabled

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