comp.lang.ada
 help / color / mirror / Atom feed
From: "Warren W. Gay VE3WWG" <ve3wwg@home.com>
Subject: Re: Do we need "Mission-Critical" software? Was: What to Do?
Date: Thu, 04 Jan 2001 03:53:57 GMT
Date: 2001-01-04T03:53:57+00:00	[thread overview]
Message-ID: <3A53F327.DBFD5C57@home.com> (raw)
In-Reply-To: 3A53CB9E.EA7CF86C@uol.com.br

Cesar Scarpini Rabak wrote:
> "Warren W. Gay VE3WWG" wrote:
> > Cesar Scarpini Rabak wrote:
> > > "Warren W. Gay VE3WWG" wrote:
> > > [snipped]
> > > > First of all, I like the idea of the book. It should be written.
> > >
> > > A book! Let's start with an article and have it published in Dr. Dobbs's
> > > Mag first!
> > >
> > > just my .019...
> >
> > Articles are also fine ;-)
> 
> Great, lets see if we get enough material to pump a good one!
> Incidentally, Dr. Dobbs _did_ publish an article about GNAT some time
> ago (my personal library is all packed from a recent office moving and
> could not pinpoint in their site).

I missed that one (over a year ago?) I did see an article in the Linux
Journal, which was nice to see.

 > I'm not suggesting that the Ada95 language and/or compiler will solve all
> > security problems, or even reliability ones. But it does allow your CPU
> > to point out a lot of very common problems that lead to unreliable and/or
> > insecure programs. If you focus on all other aspects of security, as people
> > do when the write in C/C++/Java for example, then you leave unecessary
> > risks within the system. In a nutshell, Ada95 greatly improves the chances
> > of a program being correct, and less likely to be exploitable.
> 
> Agreed. But, again we're lost in the "mainstream" school of thought.
> Java advocates convinced the masses that the "only" dangerous feature of
> a nice language (C++) was pointers so they made an elegant one (only OO)
> w/o pointers... and rest is history. (Anedoctically  it can be added
> that in the infant days of Java a lot of people used to say that JAVA
> stand for "Just Another Version of Ada"!)

Besides doing our best to contribute in Ada code, I think the next best
thing is perhaps the "educational aspect", which I think you're hinting
at.

Anyway, I think some carefully constructed articles for various magazines
may help increase some interest. I think that one approach might be to
assume C++ knowledge, and show how things are done in Ada in comparison
fashion. While doing so, the article should quietly show why Ada95 does 
it better, of course.

I also think you need to do some comparisons of real-life programming in the
two languages. For example, show examples with records (possibly tagged)
with discrimants affecting the contained array bounds. This is one of the
ugliest problems in C/C++. Anyway, you can probably think of many more 
(I am just thinking out loud).

Other articles could take the "Why Ada?" approach. Perhaps sprinkled
with information about where Ada was, is today, and is likely to be in
the future. It seems that a lot of people have a number of pre-conceived
misconceptions about the language, and its design. I'm not sure that
surveys and studies are what readers want however (links to them would
be good for the curious of course).

A decade ago, compiler size was important on a 386. Disk space was low,
and PC CPUs were not fast. Apparently Linus Torvalds dropped the idea of 
using C++ for Linux, after a while. This was because gcc was too slow 
on the 386 at the time. Now, things are considerably different. Perhaps
this was a little short-sighted on his part.

I think that a few basic Ada "marketing" messages need to go out: 

  (1) the compiler size for Ada is no longer a problem. 
  (2) the compiler (GNAT) is available, and free.
  (3) Ada (95) is not obsolete, and supports OOP

Perhaps (2) will be an easier sell, once it is rolled in with gcc. Having
it already installed with new distributions will help it's cause greatly,
IMHO.

> > > I counter case, usually used by Ada disgusters is the famous ESA Arianne
> > > rocket, although programmed in Ada it made a very expensive piece of
> > > hardware burn (literally!) due an error in design, notwitstanding the
> > > supposed high quality language (and btw process) to build the softaware.
> >
> > You can never eliminate human error or stupidity completely. I am sure many
> > here on this news group could site "stupid Ada tricks" that are not the
> > fault of the language or its tools, but of those USING the "tool". Kinda
> > like the apprentice mechanic that uses a caliper as a C-clamp.
> >
> > Your example is more the design/human-error type, which again, is not
> > completely avoidable. At least you can say that Ada did exactly as it
> > was told to do, when it burned it's hardware!  What more can you ask
> > of a computer?
> 
> Again we are stuck with the "mental image". Ada "did not avoid" and it
> is harder to learn, etc. (I'm not advocating this, please!). OTOH, Meyer
> started to canvass the community about a new programming paradigm
> ("programming by contract") and it brand new language that supports this
> (Eiffel), which again takes the focus out of Ada.

I will agree that stepping into Ada, is not trivial (the basics are simple,
but there is a lot of familiarization required for the various Ada 
packages etc.)  There needs to be a new class of Ada95 books that take
the reader BEYOND the language and look at Ada95, using UNIX, and step
the reader through such issues as using Streams and other Ada specific
solutions.

I found the language easy enough to pick up. What wasn't found in existing
literature was the answers to such questions as:

   How do I read in structures from a file?
   How do I structure my project? My Makefile?
   How do I use shared libraries with GNAT?
   How should a main program be formed?
   How should I process command line arguments?
   How should I interface with various UNIX facilities? errno? signals?
   String handling (this is never adequately covered)

These are just a few. When the beginner goes to write a new Ada95
app, he knows how to do the basic language things. However, the
environment is very foreign to a UNIX/C type, and this is where all
of the literature I have seen, is found wanting.

> In a nutshell, I partially agree that to regain momentum (out of some
> academic circles and specific niche markets). We need to get some
> projects public interest and get them a feel of the advantages of "our"
> programming environment.
> 
> The idea of games seems interesting, an OS seems to me too far fetching
> (let alone FSF struggling to finish their GNU OS, a small community of
> Ada programmers would be faster?).

An OS, with its problems with getting driver support etc. is very ambitious.
For me, AdaOS is a wish list item, but I agree, that seeing it
completed doesn't seem likely, unless Ada participants should
suddenly rise.

> Other things we could try is to go
> the FSF "todo/wishlist" and look for some production software FSF needs,
> some of them although not as exciting as games or rocket control, are
> still software engineering respectable projects, and if they catch the
> user audience they rather be stable/robust. Two which I recall were
> office related includind a general ledger program. I wonder if a Free
> version of an ERP package wouldn't be more worth investing than a
> competing OS.
> Cesar (PY2CSH)

Because of concern about Internet security, I'd like to replace 
servers with ones written in Ada95, if time ever permits. Some 
immediate examples come to mind:

  - A better Linux DHCP client program (the C version I have installed
    is very problematic, and probably exploitable).
  - A replacement for DNS (Bind) in Ada95, possibly including
  - optional DHCP server (with dynamic DNS update)

OTOH, there are so many more interesting things to do... sigh.. like
applications that allow your host to do useful work for you. ;-)

-- 
Warren W. Gay VE3WWG
http://members.home.net/ve3wwg



  reply	other threads:[~2001-01-04  3:53 UTC|newest]

Thread overview: 184+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-12-31 16:09 What to Do? Petra Lynn Hofman
2000-12-31 16:58 ` Robert Dewar
2000-12-31 17:41   ` Ted Dennison
2001-01-01 15:24     ` Marin David Condic
2001-01-01 17:18       ` Robert Dewar
2001-01-02 15:05         ` Marin David Condic
2001-01-01 17:54       ` Ted Dennison
2001-01-02 15:14         ` Marin David Condic
2001-01-01 21:22       ` Lao Xiao Hai
2001-01-01 15:15   ` Marin David Condic
2000-12-31 18:06 ` E. Robert Tisdale
2000-12-31 21:07   ` tmoran
2001-01-01 16:10   ` Marin David Condic
2001-01-01 17:08     ` Ehud Lamm
2001-01-01 17:53       ` Do we need "Mission-Critical" software? Was: " Warren W. Gay VE3WWG
2001-01-01 18:29         ` Ted Dennison
2001-01-01 20:25           ` Robert Dewar
2001-01-02 19:03             ` Ted Dennison
2001-01-02 20:22               ` Robert Dewar
2001-01-02 22:23               ` Florian Weimer
2001-01-02 22:27               ` Florian Weimer
2001-01-01 20:26           ` Robert Dewar
2001-01-02 19:05             ` Ted Dennison
2001-01-02 20:24               ` Robert Dewar
2001-01-02 22:53                 ` Ted Dennison
2001-01-03 18:39           ` Georg Bauhaus
2001-01-03 19:22             ` Ted Dennison
2001-01-04  1:18               ` Cesar Scarpini Rabak
2001-01-01 19:28         ` Ehud Lamm
2001-01-02 14:56         ` Cesar Scarpini Rabak
2001-01-03  3:32           ` Warren W. Gay VE3WWG
2001-01-04  1:02             ` Cesar Scarpini Rabak
2001-01-04  3:53               ` Warren W. Gay VE3WWG [this message]
2001-01-04 12:04               ` Marin David Condic
2001-01-04 13:48                 ` Marc A. Criley
2001-01-06 20:23                   ` Lao Xiao Hai
2001-01-04 17:09                 ` Ted Dennison
2001-01-04 20:30                   ` Kevin Rigotti
2001-01-05  9:15                     ` n_brunot
2001-01-05  9:57                       ` Tarjei T. Jensen
2001-01-05 10:41                         ` n_brunot
2001-01-05 13:41                       ` Robert Dewar
2001-01-05 14:15                         ` n_brunot
2001-01-06 17:17                           ` Robert Dewar
2001-01-08  8:51                             ` n_brunot
2001-01-09  4:00                               ` Robert Dewar
2001-01-09 10:20                                 ` n_brunot
2001-01-09 12:34                                   ` Karel Thoenissen
2001-01-09 14:18                                   ` Robert Dewar
2001-01-09 15:29                                     ` Ole-Hjalmar Kristensen
2001-01-09 19:25                                     ` tmoran
2001-01-09 20:11                                     ` Florian Weimer
2001-01-09 14:20                                   ` Robert Dewar
2001-01-10  2:08                                 ` Keith Thompson
     [not found]                               ` <93e2d1$spv$1@ <3A5B054B.3CF03325@hello.nl>
2001-01-09 22:05                                 ` Simon Wright
2001-01-05 15:35                         ` Ole-Hjalmar Kristensen
2001-01-05 19:20                           ` Object naming conventions (was: Do we need "Mission-Critical" software?) Kevin Rigotti
2001-01-06 17:30                             ` Robert Dewar
2001-01-06 17:24                           ` Do we need "Mission-Critical" software? Was: What to Do? Robert Dewar
2001-01-08  9:14                             ` n_brunot
2001-01-09  0:28                               ` Cesar Scarpini Rabak
2001-01-09  8:35                                 ` Florian Weimer
2001-01-10  2:21                                 ` mark_lundquist
2001-01-09  2:34                               ` DuckE
2001-01-09  4:12                               ` Robert Dewar
2001-01-09  9:12                                 ` n_brunot
2001-01-09 12:24                                   ` David Gillon
2001-01-09 12:58                                   ` Marc A. Criley
2001-01-09 13:42                                   ` Marin David Condic
2001-01-09 14:00                                     ` Marin David Condic
2001-01-12  0:21                                       ` Larry J. Elmore
2001-01-12  1:24                                         ` Al Christians
2001-01-12  5:19                                         ` Ken Garlington
2001-01-12 18:05                                         ` Marin David Condic
2001-01-09 14:27                                   ` Robert Dewar
2001-01-09 15:15                                     ` n_brunot
2001-01-09 19:41                                       ` Robert Dewar
2001-01-09 20:44                                         ` Florian Weimer
2001-01-10 12:22                                           ` Marin David Condic
2001-01-10 13:49                                             ` Ken Garlington
2001-01-10 20:41                                           ` Robert Dewar
2001-01-09 23:04                                         ` tmoran
2001-01-27 16:58                                           ` Alejandro R. Mosteo
2001-01-10 16:37                                         ` Jerry Petrey
2001-01-10 19:12                                           ` Georg Bauhaus
2001-01-11  1:43                                           ` Frank Manning
2001-01-09 16:12                                     ` n_brunot
2001-01-09 19:48                                       ` Robert Dewar
2001-01-09 20:43                                         ` Britt Snodgrass
2001-01-10 20:43                                           ` Robert Dewar
2001-01-11 13:41                                             ` JOVIAL (was Do we need "Mission-Critical" software?) Ken Garlington
2001-01-12 15:32                                               ` carr_tom
2001-01-12 16:58                                                 ` Ira D. Baxter
2001-01-22 23:18                                                 ` jls
2001-01-13 14:20                                               ` Ken Garlington
2001-01-10 10:41                                         ` Do we need "Mission-Critical" software? Was: What to Do? David Kristola
2001-01-10 13:44                                           ` Ken Garlington
2001-01-10 21:39                                           ` Robert Dewar
2001-01-10 11:47                                         ` n_brunot
2001-01-10 12:25                                           ` Marin David Condic
2001-01-10 21:36                                           ` Robert Dewar
2001-01-11 10:00                                             ` n_brunot
2001-01-12  0:42                                               ` Larry J. Elmore
2001-01-12  1:47                                                 ` Robert Dewar
2001-01-12 16:05                                               ` Georg Bauhaus
2001-01-16 19:52                                               ` Do we need any Dewar-bashing? Wes Groleau
2001-01-09 19:03                                     ` Do we need "Mission-Critical" software? Was: What to Do? dmitry6243
2001-01-09 19:51                                       ` Robert Dewar
2001-01-09 20:46                                         ` Florian Weimer
2001-01-09 21:57                                         ` Warren W. Gay VE3WWG
2001-01-10  8:55                                         ` dmitry6243
2001-01-10 13:39                                           ` Pascal Obry
2001-01-11  8:58                                             ` dmitry6243
2001-01-11 21:01                                       ` mark_lundquist
2001-01-12 11:41                                         ` dmitry6243
2001-01-12 20:29                                           ` Subprogram types vs. "limited access" (was " mark_lundquist
2001-01-12 21:58                                             ` Randy Brukardt
2001-01-13  1:35                                               ` Robert Dewar
2001-01-13  1:20                                             ` Robert Dewar
2001-01-13 17:29                                             ` dmitry6243
2001-01-15 21:06                                               ` mark_lundquist
2001-01-16  0:32                                                 ` Robert Dewar
2001-01-16  2:57                                                   ` mark_lundquist
2001-01-16  5:47                                                     ` Robert Dewar
2001-01-16 17:47                                                       ` mark_lundquist
2001-01-16  9:12                                                 ` dmitry6243
2001-01-16 20:04                                         ` Wes Groleau
2001-02-02  6:45                                           ` Java packages (was " mark_lundquist
2001-01-15 20:04                                   ` Lao Xiao Hai
2001-01-15 20:28                                     ` Jerry Petrey
2001-01-15 21:05                                       ` tmoran
2001-01-16  0:36                                         ` Robert Dewar
2001-01-16 13:23                                           ` Marin David Condic
2001-01-15 21:44                                     ` Tucker Taft
2001-01-15 22:26                                       ` BSCrawford
2001-01-23  2:19                                       ` Lao Xiao Hai
     [not found]                                         ` <94kkme$amg$1@nnrp1.deja.com>
2001-01-26 20:43                                           ` Lao Xiao Hai
2001-01-27  9:36                                             ` David Kristola
2001-01-27 21:54                                             ` Ken Garlington
2001-01-27 23:09                                               ` Pat Rogers
2001-01-28 22:30                                                 ` Ken Garlington
2001-01-09 13:37                                 ` Marin David Condic
2001-01-12  1:11                                   ` Larry J. Elmore
2001-01-09 14:52                               ` Larry Kilgallen
2001-01-10 10:26                                 ` Florian Weimer
2001-01-10 21:43                                   ` Robert Dewar
2001-01-11 18:51                               ` mark_lundquist
2001-01-11 20:11                     ` mark_lundquist
2001-01-12 11:49                       ` Kevin Rigotti
2001-01-12 19:19                         ` mark_lundquist
2001-01-16 20:20                           ` Wes Groleau
2001-01-04 16:48               ` Ted Dennison
2001-01-05 13:15                 ` Cesar Scarpini Rabak
2001-01-06 20:19               ` Lao Xiao Hai
2001-01-01 21:37       ` Lao Xiao Hai
2001-01-01 21:44         ` Ehud Lamm
2001-01-03  4:00         ` William Starner
2001-01-01 23:44       ` David Kristola
2001-01-02  0:41         ` Brian Rogoff
2001-01-02  3:14           ` tmoran
2001-01-02 20:35             ` David Kristola
2001-01-02 22:56               ` Ted Dennison
2001-01-02  7:38           ` Ehud Lamm
2001-01-02 15:08           ` Ted Dennison
2001-01-02 20:59           ` What to Do? Silly Valley JF Harrison
2001-01-02 23:22             ` William Dale
2001-01-06 20:45               ` Lao Xiao Hai
2001-01-08 18:15                 ` William Dale
2001-01-08 19:00                   ` Florian Weimer
2001-01-08 19:01                   ` Florian Weimer
2000-12-31 21:47 ` What to Do? Robert Love
2001-01-01 21:31   ` Robert Love
2001-01-10 22:06 ` km0762
2001-01-10 22:06 ` km0762
2001-01-11  0:00   ` James Rogers
2001-01-11  1:03     ` Al Christians
2001-01-29 16:09       ` spider_templar2
2001-01-11 13:57     ` John English
2001-01-11 18:00       ` William Dale
2001-01-12  0:27         ` John English
2001-01-12  2:57           ` David Botton
2001-01-13  3:34             ` Petra Lynn Hofman
2001-01-13  6:05               ` Robert Dewar
2001-01-13 13:52               ` Ken Garlington
replies disabled

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