comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <Stephe.Leake@nasa.gov>
Subject: Re: Prototyping with Ada
Date: Thu, 22 May 2008 04:43:19 -0400
Date: 2008-05-22T04:43:19-04:00	[thread overview]
Message-ID: <u3aoabufs.fsf@nasa.gov> (raw)
In-Reply-To: 8e953413f88u9slj1es57kuegqdvn908ul@4ax.com

John McCabe <john@nospam.assen.demon.co.uk> writes:

> On Sun, 18 May 2008 10:04:17 +0200, Ludovic Brenta
> <ludovic@ludovic-brenta.org> wrote:
>
>>> For very prototyping simple projects, scripting languages are fast,
>>> but errors and inconsistencies creep in quickly.  The code tends not
>>> to last as long because of inflexibility (poor/missing structuring tools
>>> such as packages and generics in scripting).
>
>>I agree.  I would even go so far as to say there is no such thing as
>>software prototyping.  A prototype is something complex you make
>>before mass-producing some sort of physical good, because it is very
>>difficult to change the physical system after you've made it, should
>>you find any problems.  By definition, you know you're going to throw
>>the prototype away at some point.
>>
>>The opposite is true for software.  If you build a prototype, you can
>>always fix problems in it.  And once there are no more problems, the
>>prototpye is the "real" software, and you don't throw anything away.
>
> Ah, but this is one of the reasons there is so much poor quality
> software around! If you do it right, a prototype should give you an
> idea of how you are going to approach a solution, and should show up
> certain features or situations that you need to handle, or avoid in
> order to make that solution appropriate, reliable and acceptable.
>
> Thus you need to plan for the prototype to be thrown away, because
> then you start again taking into account the lessons you learned from
> the protoyping exercise.
>
> Of course, if there is some self-contained code that can be re-used,
> e.g. a particularly complicated algorithm in its own little "space",
> then it is reasonable to do so, as long as you make it more reliable
> and so on in the process.
>
> If you approach the whole thing from the point of view you describe,
> then you're just taking what may be poor quality code and making it a
> bit better, which doesn't necessarily make the code (or design!) good.

If you do refactoring right, you can incrementally improve the quality
of code.

I think there is a spectrum here; "gross refactoring" is simply
throwing away huge chunks of code and starting over for those; "fine
refactoring" is tinkering with a few lines here and there. Anything
inbetween is possible, and can be useful.

I prefer prototyping with Ada; the compiler finds bugs for me, and
with GNAT and Emacs on current hardware, the compile/edit/run cycle is
very fast.

I have to use Matlab for part of my current job, because another part
of the project uses it. The lack of software engineering in that
language is glaring, and my productivity (in something approximating
"implemented features per day") is much lower in Matlab than in Ada.
That's partly because I can't figure out how to run Matlab from the
command line under Emacs (on Windows), and the Matlab GUI is just not
as powerful as Emacs.

-- 
-- Stephe



  parent reply	other threads:[~2008-05-22  8:43 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-16 10:56 Ada featured in Doctor Dobb's Journal Ludovic Brenta
2008-05-16 12:28 ` Mike Silva
2008-05-16 13:04   ` Ludovic Brenta
2008-05-16 14:33     ` Mike Silva
2008-05-16 22:26       ` Randy Brukardt
2008-05-17  6:30   ` rant (Re: Ada featured in Doctor Dobb's Journal ) jhc0033
2008-05-17  8:28     ` Ludovic Brenta
2008-05-17  9:27       ` Dmitry A. Kazakov
2008-05-17  9:56         ` Georg Bauhaus
2008-05-17 12:05           ` Dmitry A. Kazakov
2008-05-17  9:38       ` jhc0033
2008-05-17 11:49         ` Ludovic Brenta
2008-05-17 17:53           ` jhc0033
2008-05-17 23:21             ` Ludovic Brenta
2008-05-18  0:28               ` jhc0033
2008-05-18  0:35               ` Dr. Adrian Wrigley
2008-05-18  8:04                 ` Prototyping with Ada (was: Ada featured in Doctor Dobb's Journal) Ludovic Brenta
2008-05-20 10:25                   ` John McCabe
2008-05-20 16:57                     ` Prototyping with Ada Jeffrey R. Carter
2008-05-20 17:23                       ` Mike Silva
2008-05-20 17:37                       ` Peter C. Chapin
2008-05-20 23:30                         ` Mike Silva
2008-05-21  0:40                         ` Jeffrey R. Carter
2008-05-21 12:53                         ` Martin Krischik
2008-05-22  8:43                     ` Stephen Leake [this message]
2008-05-28 11:32                       ` John McCabe
2008-05-28 12:12                         ` Ludovic Brenta
2008-05-29  3:27                           ` tmoran
2008-05-29  9:41                           ` John McCabe
2008-05-31  6:03                         ` Stephen Leake
2008-06-02 15:43                           ` Britt Snodgrass
2008-05-17  9:45     ` rant (Re: Ada featured in Doctor Dobb's Journal ) Georg Bauhaus
2008-05-17 10:57     ` Mike Silva
2008-05-17 16:49     ` tmoran
2008-05-16 22:56 ` Ada featured in Doctor Dobb's Journal Ivan Levashew
replies disabled

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