comp.lang.ada
 help / color / mirror / Atom feed
* Improving Ada's image - Was: 7E7 Flight Controls Electronics
@ 2004-05-30 11:46 Per Dalgas Jakobsen
  2004-05-30 16:13 ` Pascal Obry
                   ` (4 more replies)
  0 siblings, 5 replies; 216+ messages in thread
From: Per Dalgas Jakobsen @ 2004-05-30 11:46 UTC (permalink / raw)


> That's not so easy. I've seen lot of project managers chosing C++ even if
> they knew that Ada was cheaper/safer. As I said that's not so easy... This
is
> political, choising a technology that everybody uses can't be something
that
> we'll be reproached to you if the project is not on schedule/budget!

The good old story: "You don't get fired for choosing IBM".
The good old story on a new bottle: "You don't get fired for choosing
Microsoft".
The good old story on a another new bottle: "You don't get fired for
choosing C/C++".

One way to make Ada come through, is to make it visible to them. Not just to
those at the "safety-critical" segment, but to the entire software segment.
A couple of years ago I suggested changing from C/C++ to Ada on a company
strategy meeting. The suggestion was met with comments like: "No real
company is using Ada for anything", "Ada is a heavy/slow and expensive
language", "Only projects with a *lot* of money can do that", "We are not
building rockets or aeroplanes, we are just building ...".

Even though you can counter-argue most of their claims, they still have it
in their stomach and won't make the leap.

Instead of advertising for Ada in software magazines, web-sites, etc. I
believe that Ada needs to get an "image-lift" at executive level. Imagine if
we could get to the point when project managers are suggesting C/C++ and the
executive asks: "Why not use Ada?" :-p

It doesn't take many arguments to convince most serious programmers of the
advantages in Ada (even though there *are* religious extremists around, that
believe void-pointers and goto-statements are the only true way) - But it
really doesn't matter if the project managers doesn't have the courage to
even suggest it, because of the opinion of the executives.

Executives will like to hear:
*) that the reusability factor of Ada is magnitudes higher than for C/C++.
*) that Ada is much better suited than C/C++ for larger projects with
several (potential distanced) developers. And by larger, I mean almost any
project with a project manager.
*) that Ada projects results in fewer bugs at the customer.
I'll bet that this news-group can come up with a dozen or more easy-to-prove
arguments...

But another important thing to nail into their heads are: It does *not* have
to be expensive to choose Ada. Most visible projects are safety-critical
once, with budgets in the "heavy league".
We need to establish a common knowledge, that Ada is as cheap as choosing
C/C++ (buying toolchains), and that even small projects will have a higher
probability to complete on time with fewer bugs.
The cost of sending people on Ada courses will be insignificant in anything
but the narrowest view.


But how can we get the attention of the executives?
Let the brainstorm start ;-)

Per





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-30 11:46 Improving Ada's image - Was: 7E7 Flight Controls Electronics Per Dalgas Jakobsen
@ 2004-05-30 16:13 ` Pascal Obry
  2004-05-30 18:03   ` Luke A. Guest
  2004-05-30 18:47 ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Richard  Riehle
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 216+ messages in thread
From: Pascal Obry @ 2004-05-30 16:13 UTC (permalink / raw)



"Per Dalgas Jakobsen" <i@hate.spam> writes:

I agree 100% about what you said!

> But how can we get the attention of the executives?
> Let the brainstorm start ;-)

That's the real problem :)

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|              http://www.obry.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-30 16:13 ` Pascal Obry
@ 2004-05-30 18:03   ` Luke A. Guest
  2004-05-30 19:09     ` Per Dalgas Jakobsen
  0 siblings, 1 reply; 216+ messages in thread
From: Luke A. Guest @ 2004-05-30 18:03 UTC (permalink / raw)


On Sun, 30 May 2004 18:13:59 +0200, Pascal Obry wrote:

> 
> "Per Dalgas Jakobsen" <i@hate.spam> writes:
> 
> I agree 100% about what you said!
> 
>> But how can we get the attention of the executives?
>> Let the brainstorm start ;-)
> 
> That's the real problem :)

No, the real problem is that executives = management and management =
morons and morons are in charge.

Simple as that.

Luke.




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-30 11:46 Improving Ada's image - Was: 7E7 Flight Controls Electronics Per Dalgas Jakobsen
  2004-05-30 16:13 ` Pascal Obry
@ 2004-05-30 18:47 ` Richard  Riehle
  2004-05-31 12:57   ` Marin David Condic
  2004-06-07 16:35   ` Warren W. Gay VE3WWG
  2004-05-31 12:45 ` Marin David Condic
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 216+ messages in thread
From: Richard  Riehle @ 2004-05-30 18:47 UTC (permalink / raw)



"Per Dalgas Jakobsen" <i@hate.spam> wrote in message
news:40b9c99e$0$268$edfadb0f@dread16.news.tele.dk...

> Instead of advertising for Ada in software magazines, web-sites, etc. I
> believe that Ada needs to get an "image-lift" at executive level. Imagine
if
> we could get to the point when project managers are suggesting C/C++ and
the
> executive asks: "Why not use Ada?" :-p

Sadly, there is no money available in the Ada community for advertising
or public relations.   The money we did have was squandered on silly
posters and ineffective advertising about the time Ada 95 appeared.  The
people charged with making the advertising decisions were inexperienced
in the ways of advertising and the ads had no appreciable effect.

Advertising is not a bad approach, but it needs to be done by people who
understand the product, the audience, and the mission.  It also needs to be
done by people who understand how to make an impact with advertising.
Just as there are lots of ineffective software managers, there is no
shortage
of stupid advertising executives.   To paraphrase Einstein, the two things
without boundary are space and human stupidity.

Actually Per, your idea sparks an image that might be an interesting Ad if
there were money for it.    A group of people sitting in a conference room,
a whiteboard with the words Java, C++, C#, and Eiffel written on it, and
someone in the meeting asking, "Why not just use Ada?"

Such an ad, place in the right journals would spark the debate once again,
if it were widely enough published.

But then, we have wasted all our money and resources on useless stuff so
there
is none left to produce such an ad.

Richard Riehle





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-30 18:03   ` Luke A. Guest
@ 2004-05-30 19:09     ` Per Dalgas Jakobsen
  2004-05-31  2:28       ` Richard  Riehle
  2004-06-04 17:24       ` Improving Ada's image - Was: 7E7 Flight Controls Electronics (why not Universities?) Warren W. Gay VE3WWG
  0 siblings, 2 replies; 216+ messages in thread
From: Per Dalgas Jakobsen @ 2004-05-30 19:09 UTC (permalink / raw)


>>> But how can we get the attention of the executives?
>>> Let the brainstorm start ;-)
>>
>> That's the real problem :)
>
> No, the real problem is that executives = management and management =
> morons and morons are in charge.

Well, I understand your view, but I have (almost) never seen a person that
acted irrational, when seing things from a certain point of view.
That view might not be yours for several reasons, one being that you know
more about some stuff than they do or visa versa.

I have more than once looked at a decision and thought: "Now they went mad",
but later found out that the stuff have become a political "hot potato".
Again, reasonable seing stuff from the political angle, but completely
old-fashioned-foot-shooting seing it from a any other angle.
The problem being most project managers do not have the courage to put their
reputation at stake to make an unorthodox decision, because all the other
project managers will know immediately where to point fingers if the project
runs off track, disregarding the real reason (the majority are right...).

Thats why it makes no sense to try forcing Ada from the bottom up (even
though Linux seems to have accomplished that to a certain extend), but let
it enter at top level and let the executives suggest it, so the project
managers have their backs free.


One way to get their attention could be to suggest Berkeley or Oxford (or
whoever makes these kinds of analyses) to make a thorough investigations
based on real business cases, with help from "people in the business" = us,
and make them do all the economical consequence maths, for very small
projects with no safety critical issues, to very large projects with all the
whistles and bells.

If (or hopefully when) their results shows that the current accepted
business model with C/C++ is a very bumpy one, and that a business model
based on Ada would result in a significant profit and lower risk, then I'm
pretty sure that such a result will be published in all financial magazines
world-wide.
Software is big business, and a low-risk path to increased profit is
something that will generate a "certain" interest.


So anyone knows a (preferably respected) business university professor that
might be interested? ;-)

Per





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-30 19:09     ` Per Dalgas Jakobsen
@ 2004-05-31  2:28       ` Richard  Riehle
  2004-05-31 15:33         ` Wes Groleau
  2004-06-01  2:45         ` Hyman Rosen
  2004-06-04 17:24       ` Improving Ada's image - Was: 7E7 Flight Controls Electronics (why not Universities?) Warren W. Gay VE3WWG
  1 sibling, 2 replies; 216+ messages in thread
From: Richard  Riehle @ 2004-05-31  2:28 UTC (permalink / raw)



"Per Dalgas Jakobsen" <i@hate.spam> wrote in message
news:40ba315a$0$254$edfadb0f@dread16.news.tele.dk...
>
> One way to get their attention could be to suggest Berkeley or Oxford (or
> whoever makes these kinds of analyses) to make a thorough investigations
> based on real business cases, with help from "people in the business" =
us,
> and make them do all the economical consequence maths, for very small
> projects with no safety critical issues, to very large projects with all
the
> whistles and bells.

Any Berkeley professor who espoused, or even attempted to justify the use
of Ada, would be laughed out of her/his tenure.   That person be subjected
to a barrage of ridicule that any previous credibility would vanish like a
candle flame in a dust storm.

Wind River was originally founded by Berkeley students.  They used to deny
any
connection with Ada because, from their point of view, it is the language of
death and destruction, the programming language of war.   In more recent
times,
the Wind River management seems to have softened its stance regarding Ada,
and position it as simply an annoying language that they must temporarily
support
until it completely fades into oblivion.

Berkeley has never been a friendly place for Ada.

As to other universities, there is currently no incentive for professors to
carry out
any kind of research that might favor Ada.   The scholarly journals prefer
contributions
that avoid Ada,  the textbook publishers edit out excessive references to
Ada, and
the DoD is not funding any Ada research projects anymore.

At this point, Ada is standing entirely on its own.  It must survive on its
own merits.  It
must endure the ridicule of the academics, the widespread misinformation
among the
developers, and the inane criticism of those who have never written a
seropus system in
the language.  When one considers the obstacles that have been thrown at it
during
the past six years, it is a wonder that it survives at all.   The fact that
it continues to be
the choice of many intelligent users is a tribute to its value.   Those who
select Ada,
when there are so many other options available must be doing so for very
good
reasons.   One must ask what those reasons are.    No one can say, in this
time,
that Ada is only used because of the "mandate."

I am of the opinion that those who choose Ada are on to something that the
other
developers have failed to apprehend.   Perhaps, in time, the secret of Ada
will be
out, and more will discover that they can build better, more maintainable
software
with Ada, within well-bounded budgets, than they can with competing choices.

Until then, those who do decide for Ada will reap the benefits of that
decision while
those who decide for other options will continue to do whatever it is they
think they
are doing.

Richard Riehle





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Improving Ada's image - Was: 7E7 Flight Controls Electronics
@ 2004-05-31  9:22 Rod Chapman
  2004-06-01 11:30 ` Georg Bauhaus
  0 siblings, 1 reply; 216+ messages in thread
From: Rod Chapman @ 2004-05-31  9:22 UTC (permalink / raw)


"Richard  Riehle" <adaworks@earthlink.net> wrote in message news:<oLwuc.17575$be.14510@newsread2.news.pas.earthlink.net>...

> As to other universities, there is currently no incentive for professors to
> carry out
> any kind of research that might favor Ada.   The scholarly journals prefer
> contributions
> that avoid Ada,  the textbook publishers edit out excessive references to
> Ada, and
> the DoD is not funding any Ada research projects anymore.

Richard and others,
  We have recently been rather successful (by our own modest
standards)
at getting Ada into University programmes...How?  The answer is
simple: SPARK!

 SPARK offers faculty some really interesting stuff to play with:
design-by-contract, program proof, static analysis, hard real-time,
embedded etc. etc.  Secondly, the professional toolset is free (as
in no dollars) to university faculty.

Off the top of my head, the following US
institutions have taught SPARK on advanced courses in the last 
couple of years: NYU, Northern Iowa, Virginia, JMU, Oakland,
USAFA, and NPGS.  Not a bad start.  Several others use SPARK in
research: MIT springs to mind, plus York, Birmingham, Heriot-Watt
in the UK.

 There's also a pretty darn good textbook about SPARK, which 
helps. :-)  

 At SIGCSE this year, the SIGAda and ARA people were cleaned out
of SPARK book samplers and CDROMs - we sent over 50 sets and
could have probably shifted double that.  We have subsequently
been contacted by other authors who want to include SPARK
in next editions of their programming languages textbook.
Not a bad sign.

 As for publications, we have some success - IEEE Transactions on SE,
IEEE Software, CrossTalk (a DoD sponsored journal!) hardly seem
like small-fry.  Heriot-Watt's current work on automated
proof is appearing in significant conferences and (soon) 
journals.

 Finally, the _really_ great thing about SPARK is that you can
tell your conference program committee, journal referees, and
board of studies all about it, WITHOUT MENTIONING THAT IT'S Ada!
(at least not until the light-bulb has gone on and people have
realised
how great it is...)  This really does work - honest.

 So here's a challenge for the Ada community: get SPARK into
your local university CS program, without telling 'em
it's Ada.  Go ahead - you know you want to!  When someone
asks what the language is like, tell 'em it's hard-real-time-
Eiffel-on-steroids.  When someone asks which compiler you use,
tell 'em "GCC of course"...go on give it a go - Praxis will
support your efforts...

 - Rod, SPARK Team



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-30 11:46 Improving Ada's image - Was: 7E7 Flight Controls Electronics Per Dalgas Jakobsen
  2004-05-30 16:13 ` Pascal Obry
  2004-05-30 18:47 ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Richard  Riehle
@ 2004-05-31 12:45 ` Marin David Condic
  2004-05-31 20:55 ` Improving Ada's image Björn Persson
  2004-06-01  2:40 ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Hyman Rosen
  4 siblings, 0 replies; 216+ messages in thread
From: Marin David Condic @ 2004-05-31 12:45 UTC (permalink / raw)


I basically agree with your analysis. I'd suggest that the way to get 
executive level attention is by having companies that successfully build 
things with a large software component developed in Ada be successful in 
selling their wares. A company that makes some device or software 
product that gets it out the door faster/better/cheaper and does it in 
Ada is going to get attention.

Trying to persuade mid-level managers in existing companies that they 
should adopt Ada when the rest of the world is using C++ or Java is 
going to be an uphill, losing battle. Forget the frontal assault and do 
an end-run around them. Start a company that markets something built in 
Ada and *prove* it is better because you're getting stinking rich doing 
it. Or is Ada not that much better?

MDC


Per Dalgas Jakobsen wrote:
> 
> The good old story: "You don't get fired for choosing IBM".
> The good old story on a new bottle: "You don't get fired for choosing
> Microsoft".
> The good old story on a another new bottle: "You don't get fired for
> choosing C/C++".
> 
> One way to make Ada come through, is to make it visible to them. Not just to
> those at the "safety-critical" segment, but to the entire software segment.
> A couple of years ago I suggested changing from C/C++ to Ada on a company
> strategy meeting. The suggestion was met with comments like: "No real
> company is using Ada for anything", "Ada is a heavy/slow and expensive
> language", "Only projects with a *lot* of money can do that", "We are not
> building rockets or aeroplanes, we are just building ...".
> 
> Even though you can counter-argue most of their claims, they still have it
> in their stomach and won't make the leap.
> 
> Instead of advertising for Ada in software magazines, web-sites, etc. I
> believe that Ada needs to get an "image-lift" at executive level. Imagine if
> we could get to the point when project managers are suggesting C/C++ and the
> executive asks: "Why not use Ada?" :-p
> 
> It doesn't take many arguments to convince most serious programmers of the
> advantages in Ada (even though there *are* religious extremists around, that
> believe void-pointers and goto-statements are the only true way) - But it
> really doesn't matter if the project managers doesn't have the courage to
> even suggest it, because of the opinion of the executives.
> 
> Executives will like to hear:
> *) that the reusability factor of Ada is magnitudes higher than for C/C++.
> *) that Ada is much better suited than C/C++ for larger projects with
> several (potential distanced) developers. And by larger, I mean almost any
> project with a project manager.
> *) that Ada projects results in fewer bugs at the customer.
> I'll bet that this news-group can come up with a dozen or more easy-to-prove
> arguments...
> 
> But another important thing to nail into their heads are: It does *not* have
> to be expensive to choose Ada. Most visible projects are safety-critical
> once, with budgets in the "heavy league".
> We need to establish a common knowledge, that Ada is as cheap as choosing
> C/C++ (buying toolchains), and that even small projects will have a higher
> probability to complete on time with fewer bugs.
> The cost of sending people on Ada courses will be insignificant in anything
> but the narrowest view.
> 
> 
> But how can we get the attention of the executives?
> Let the brainstorm start ;-)
> 
> Per
> 
> 


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-30 18:47 ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Richard  Riehle
@ 2004-05-31 12:57   ` Marin David Condic
  2004-05-31 23:36     ` Berend de Boer
  2004-06-07 16:35   ` Warren W. Gay VE3WWG
  1 sibling, 1 reply; 216+ messages in thread
From: Marin David Condic @ 2004-05-31 12:57 UTC (permalink / raw)


Success breeds success. Advertising is a good idea but you have to have 
something to advertise with and about. That would be money and success. 
There are ways of getting attention on a product that don't necessarily 
involve lots of money, but I'd suggest that the absolute *best* way is 
to make some end products using Ada and successfully show that you did 
it with less cost and to better quality. Some real-world software 
product with an "Ada Inside" sticker on it that is selling like hotcakes 
because it works better and costs less is going to do far more for 
raising Ada's image than all the ads in all the journals in the world.

Or is it that Ada just doesn't bring enough advantage to a development 
effort and it wouldn't show on the bottom line? If that's true then we 
should all shut up about the "stupid" managers who pick other more 
popular languages. Either Ada pays or it doesn't. If it pays, then why 
not make it pay *us*?

We've got to quit trying to persuade the current 
language-decision-makers and *become* the language-decision-makers. 
That's done by building our own products in Ada and being successful 
with them.

MDC


Richard Riehle wrote:
> 
> 
> Sadly, there is no money available in the Ada community for advertising
> or public relations.   The money we did have was squandered on silly
> posters and ineffective advertising about the time Ada 95 appeared.  The
> people charged with making the advertising decisions were inexperienced
> in the ways of advertising and the ads had no appreciable effect.
> 
> Advertising is not a bad approach, but it needs to be done by people who
> understand the product, the audience, and the mission.  It also needs to be
> done by people who understand how to make an impact with advertising.
> Just as there are lots of ineffective software managers, there is no
> shortage
> of stupid advertising executives.   To paraphrase Einstein, the two things
> without boundary are space and human stupidity.
> 
> Actually Per, your idea sparks an image that might be an interesting Ad if
> there were money for it.    A group of people sitting in a conference room,
> a whiteboard with the words Java, C++, C#, and Eiffel written on it, and
> someone in the meeting asking, "Why not just use Ada?"
> 
> Such an ad, place in the right journals would spark the debate once again,
> if it were widely enough published.
> 
> But then, we have wasted all our money and resources on useless stuff so
> there
> is none left to produce such an ad.
> 
> Richard Riehle
> 
> 


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-31  2:28       ` Richard  Riehle
@ 2004-05-31 15:33         ` Wes Groleau
  2004-06-01  2:56           ` Hyman Rosen
  2004-06-01  2:45         ` Hyman Rosen
  1 sibling, 1 reply; 216+ messages in thread
From: Wes Groleau @ 2004-05-31 15:33 UTC (permalink / raw)


Richard Riehle wrote:
> At this point, Ada ..... must survive .....  the inane criticism of those
 > who have never written a
> seropus system in
> the language.  

And a large subset of that is the inane criticism of those
who have never written a serious system in any language.

-- 
Wes Groleau
    "Lewis's case for the existence of God is fallacious."
"You mean like circular reasoning?"
    "He believes in God.  Therefore, he's fallacious."



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image
  2004-05-30 11:46 Improving Ada's image - Was: 7E7 Flight Controls Electronics Per Dalgas Jakobsen
                   ` (2 preceding siblings ...)
  2004-05-31 12:45 ` Marin David Condic
@ 2004-05-31 20:55 ` Björn Persson
  2004-06-01  0:41   ` Alexander E. Kopilovich
  2004-06-01 11:23   ` Marin David Condic
  2004-06-01  2:40 ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Hyman Rosen
  4 siblings, 2 replies; 216+ messages in thread
From: Björn Persson @ 2004-05-31 20:55 UTC (permalink / raw)


I think Ada needs to be rebranded to get away from its disrepute. From 
my - admittedly not very experienced - point of view, far too many 
people seem to know Ada solely from the phrase "Oh no! Not Ada!". Free 
software started to get accepted when it was rebranded as Open Source. 
Maybe Ada 200Y should be given another name. Call it Ceylon for example, 
and introduce it as a brand new, modern, object oriented, Unicode 
enabled language.

Abandoning the name "Ada" would be a very small price to pay. I 
certainly don't care what the language is called as long as it's a good 
language.

-- 
Björn Persson

jor ers @sv ge.
b n_p son eri nu




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-31 12:57   ` Marin David Condic
@ 2004-05-31 23:36     ` Berend de Boer
  2004-06-01  0:41       ` tmoran
                         ` (3 more replies)
  0 siblings, 4 replies; 216+ messages in thread
From: Berend de Boer @ 2004-05-31 23:36 UTC (permalink / raw)


>>>>> "Marin" == Marin David Condic <nobody@noplace.com> writes:

    Marin> Or is it that Ada just doesn't bring enough advantage to a
    Marin> development effort and it wouldn't show on the bottom line?

True, no proof exist for this. Competent programmers write good, clear
and maintainable programs regardless of the language (except Perl
perhaps).

There is no absolute, undeniable proof that using Eiffel or Ada does
make this process faster. There is no proof that debugging time is
drastically less. There is no proof that maintainance is lower.

There is no proof that even it it was the case it matters more than
10% of the total budget.

Don't get me wrong, I'm using Eiffel and believe that those languages
make a difference to the bottom line, but it is just belief.


And even if there were really hard facts, would that alter a lot? Just
look at other sciences and pseudo-sciences. Facts don't alter human
behaviour.

-- 
Regards,

Berend. (-:



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-31 23:36     ` Berend de Boer
@ 2004-06-01  0:41       ` tmoran
  2004-06-01 11:04       ` Marin David Condic
                         ` (2 subsequent siblings)
  3 siblings, 0 replies; 216+ messages in thread
From: tmoran @ 2004-06-01  0:41 UTC (permalink / raw)


> Facts don't alter human behaviour.
Humans whose behavior is not altered promptly when they are told facts,
eventually alter their behavior, more painfully, later.  Ask, eg, George Bush.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image
  2004-05-31 20:55 ` Improving Ada's image Björn Persson
@ 2004-06-01  0:41   ` Alexander E. Kopilovich
  2004-06-01 11:23   ` Marin David Condic
  1 sibling, 0 replies; 216+ messages in thread
From: Alexander E. Kopilovich @ 2004-06-01  0:41 UTC (permalink / raw)
  To: comp.lang.ada

Bj?rn Persson wrote:

> far too many 
> people seem to know Ada solely from the phrase "Oh no! Not Ada!". Free 
> software started to get accepted when it was rebranded as Open Source. 
> Maybe Ada 200Y should be given another name. Call it Ceylon for example, 

I'd like to note (following one old Russian anecdote), that this is not enough
to change the name once - you should do that at least twice, for a case when
someone suspiciously asks: "But what is the previous name?" . So you should,
after renaming Ada to Ceylon, not turn immediately to propaganda, but wait a
little, and then rename Ceylon to Sri Lanka - and only after that you may
begin you rebranding campaing.

> and introduce it as a brand new, modern, object oriented, Unicode 
> enabled language.

And also offshore-enabled (as the name gently suggests).



Alexander Kopilovich                      aek@vib.usr.pu.ru
Saint-Petersburg
Russia




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-30 11:46 Improving Ada's image - Was: 7E7 Flight Controls Electronics Per Dalgas Jakobsen
                   ` (3 preceding siblings ...)
  2004-05-31 20:55 ` Improving Ada's image Björn Persson
@ 2004-06-01  2:40 ` Hyman Rosen
  2004-06-01 21:14   ` Per Dalgas Jakobsen
  4 siblings, 1 reply; 216+ messages in thread
From: Hyman Rosen @ 2004-06-01  2:40 UTC (permalink / raw)


Per Dalgas Jakobsen wrote:
> *) that the reusability factor of Ada is magnitudes higher than for C/C++.

Really? Why do you think so? What is it about Ada that would make a body
of code written for one purpose reusable for another, in a way that does
not apply to C or C++?



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-31  2:28       ` Richard  Riehle
  2004-05-31 15:33         ` Wes Groleau
@ 2004-06-01  2:45         ` Hyman Rosen
  1 sibling, 0 replies; 216+ messages in thread
From: Hyman Rosen @ 2004-06-01  2:45 UTC (permalink / raw)


Richard Riehle wrote:
 > One must ask what those reasons are.

The presumed reason, looked at from the outside, is "iconoclasm".
Lord knows that such views are endemic in computing.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-31 15:33         ` Wes Groleau
@ 2004-06-01  2:56           ` Hyman Rosen
  2004-06-01 14:51             ` Wes Groleau
  2004-06-07 16:29             ` Warren W. Gay VE3WWG
  0 siblings, 2 replies; 216+ messages in thread
From: Hyman Rosen @ 2004-06-01  2:56 UTC (permalink / raw)


Wes Groleau wrote:
> Richard Riehle wrote:
>> At this point, Ada ..... must survive .....  the inane criticism of those
>> who have never written a seropus system in the language. 
> And a large subset of that is the inane criticism of those
> who have never written a serious system in any language.

But notice that C, which is so widely derided in the Ada community,
has been used to produce Linux, a stable, portable, efficient, and
high-quality operating system which is maintained by a host of
programmers. Too often, the pro-Ada argument of "you can do it
faster and better" turns into the anti-C bash of "you can't do it at
all", and too many people know better than to buy that.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-31 23:36     ` Berend de Boer
  2004-06-01  0:41       ` tmoran
@ 2004-06-01 11:04       ` Marin David Condic
  2004-06-01 14:44       ` Wes Groleau
  2004-06-01 18:43       ` Pascal Obry
  3 siblings, 0 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-01 11:04 UTC (permalink / raw)


I was wondering if anyone was going to say it. :-)

IMHO, Ada is a good language and it can make a difference in getting a 
system produced faster and of higher quality - all other things being 
equal. Since things are seldom equal, one can imagine scenarios wherein 
using C++ or something else might actually get the job done faster and 
of higher quality than with Ada.

Even if Ada is better at getting a system out the door quicker and with 
fewer bugs, is it *that* much better to justify its use over some other 
tool? Does it produce enough difference on the bottom line of the 
business to warrant using it in the face of all the negatives? (Lack of 
trained staff, lack of sufficient tools, lack of libraries, lack of 
industry support, lack of corporate experience, etc...) Whatever the 
objections are to using Ada, they can only be overcome if there is 
enough economic benefit to selecting that technology to outweigh the 
cost of doing so. Is it enough benefit to outweigh the risks? Does it 
impact the bottom line enough to justify swimming against the tide?

In other words, let's quit throwing spitballs at the project managers 
who pick something other than our favorite language and stop calling 
them idiots for doing so. Chances are, there is some reasonable 
justification behind their decision and if *we* would make a different 
decision then *we* should step up to the plate, take on the job of being 
a project manager, be responsible for the bottom line, put our jobs and 
the jobs of those who work for us on the line and make the decision 
ourselves. (Or is it just easier to sit on the sidelines and criticize 
those who actually *do* have to make those tough decisions and take 
those risks?)

If we're really convinced that we've got a better technology that is of 
sufficient benefit that it can show up on the bottom line of the 
financial report, then we ought to be dreaming up ways of using Ada in 
making and selling a product. Anybody who has an interesting venture 
they'd like to discuss can always talk to me about it & perhaps we come 
up with something. ;-)

MDC


Berend de Boer wrote:
>>>>>>"Marin" == Marin David Condic <nobody@noplace.com> writes:
>>>>>
> 
>     Marin> Or is it that Ada just doesn't bring enough advantage to a
>     Marin> development effort and it wouldn't show on the bottom line?
> 
> True, no proof exist for this. Competent programmers write good, clear
> and maintainable programs regardless of the language (except Perl
> perhaps).
> 
> There is no absolute, undeniable proof that using Eiffel or Ada does
> make this process faster. There is no proof that debugging time is
> drastically less. There is no proof that maintainance is lower.
> 
> There is no proof that even it it was the case it matters more than
> 10% of the total budget.
> 
> Don't get me wrong, I'm using Eiffel and believe that those languages
> make a difference to the bottom line, but it is just belief.
> 
> 
> And even if there were really hard facts, would that alter a lot? Just
> look at other sciences and pseudo-sciences. Facts don't alter human
> behaviour.
> 


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image
  2004-05-31 20:55 ` Improving Ada's image Björn Persson
  2004-06-01  0:41   ` Alexander E. Kopilovich
@ 2004-06-01 11:23   ` Marin David Condic
  1 sibling, 0 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-01 11:23 UTC (permalink / raw)


If Ada doesn't fix its core problems, changing the name won't make any 
difference. I think at the heart of its troubles is perhaps a cultural 
attitude that tends to work against it. We tend to get all wrapped up in 
various technical concerns and don't think about how it affects the net 
result. We want to write "perfect" software (not a bad goal) but neglect 
the concerns of the people who have to produce and sell an end product. 
They need things we're not giving them - or at least not addressing them 
as well as they can get elsewhere. Unless the focus shifts to one that 
truly emphasizes the needs of that end user and it gets more in line 
with making Ada a significant benefit to them and addresses their needs 
better, changing the name won't help much.

MDC


Bj�rn Persson wrote:
> I think Ada needs to be rebranded to get away from its disrepute. From 
> my - admittedly not very experienced - point of view, far too many 
> people seem to know Ada solely from the phrase "Oh no! Not Ada!". Free 
> software started to get accepted when it was rebranded as Open Source. 
> Maybe Ada 200Y should be given another name. Call it Ceylon for example, 
> and introduce it as a brand new, modern, object oriented, Unicode 
> enabled language.
> 
> Abandoning the name "Ada" would be a very small price to pay. I 
> certainly don't care what the language is called as long as it's a good 
> language.
> 


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-31  9:22 Rod Chapman
@ 2004-06-01 11:30 ` Georg Bauhaus
  0 siblings, 0 replies; 216+ messages in thread
From: Georg Bauhaus @ 2004-06-01 11:30 UTC (permalink / raw)


Rod Chapman <rod.chapman@praxis-cs.co.uk> wrote:
 
: tell your conference program committee, journal referees, and
: board of studies all about it, WITHOUT MENTIONING THAT IT'S Ada!
: (at least not until the light-bulb has gone on and people have
: realised
: how great it is...)  This really does work - honest.


Maybe one could add then that there is now what Tony Hoare
has been asking for for so song, a <your adjectives here>
Ada subset?



-- Georg



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-31 23:36     ` Berend de Boer
  2004-06-01  0:41       ` tmoran
  2004-06-01 11:04       ` Marin David Condic
@ 2004-06-01 14:44       ` Wes Groleau
  2004-06-01 18:43       ` Pascal Obry
  3 siblings, 0 replies; 216+ messages in thread
From: Wes Groleau @ 2004-06-01 14:44 UTC (permalink / raw)


Berend de Boer wrote:
> There is no absolute, undeniable proof that using Eiffel or Ada does
> make this process faster. There is no proof that debugging time is
> drastically less. There is no proof that maintainance is lower.

There is no "absolute, undeniable proof"--but there
IS credible empirical evidence.

http://www.adaic.org/whyada/index.html
http://www.adaic.org/whyada/ada-vs-c/cada_art.html

The latter is not the only such study.  But I am not sure
where the others are

-- 
Wes Groleau
    "Lewis's case for the existence of God is fallacious."
"You mean like circular reasoning?"
    "He believes in God.  Therefore, he's fallacious."



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-01  2:56           ` Hyman Rosen
@ 2004-06-01 14:51             ` Wes Groleau
  2004-06-07 16:29             ` Warren W. Gay VE3WWG
  1 sibling, 0 replies; 216+ messages in thread
From: Wes Groleau @ 2004-06-01 14:51 UTC (permalink / raw)


Hyman Rosen wrote:
> But notice that C, which is so widely derided in the Ada community,
> has been used to produce Linux, a stable, portable, efficient, and
> high-quality operating system which is maintained by a host of

Right.  We should not make the false claim that it can't be done.
Given enough resources, almost anything can be done in almost
any language.  And even if the language is as clumsy as C, enough
careful programmers and enough time can produce a good system.

A related point is that the world's best language with a lack of time
and/or people cannot compete with the world's worst if the latter
has the kind of resources (people/time) that Linux has.

(And bad as it is, C is probably not the worst.)

-- 
Wes Groleau

Always listen to experts.  They'll tell you
what can't be done and why.  Then do it.
                     -- Robert A. Heinlein



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-31 23:36     ` Berend de Boer
                         ` (2 preceding siblings ...)
  2004-06-01 14:44       ` Wes Groleau
@ 2004-06-01 18:43       ` Pascal Obry
  3 siblings, 0 replies; 216+ messages in thread
From: Pascal Obry @ 2004-06-01 18:43 UTC (permalink / raw)



Berend de Boer <berend@xsol.com> writes:

> True, no proof exist for this. Competent programmers write good, clear
> and maintainable programs regardless of the language (except Perl
> perhaps).

There is definitly some reports about Ada that proves it costs less.

> Don't get me wrong, I'm using Eiffel 

I know :)

> and believe that those languages
> make a difference to the bottom line, but it is just belief.

For Eiffel maybe, it is indeed a very good language too. I regards Eiffel as
I do for Ada. Both are languages great to build large scaled softwares.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|              http://www.obry.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-01  2:40 ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Hyman Rosen
@ 2004-06-01 21:14   ` Per Dalgas Jakobsen
  2004-06-02  1:12     ` Ed Falis
  2004-06-02 10:59     ` Stefan Nobis
  0 siblings, 2 replies; 216+ messages in thread
From: Per Dalgas Jakobsen @ 2004-06-01 21:14 UTC (permalink / raw)


>> *) that the reusability factor of Ada is magnitudes higher than for
C/C++.
>
> Really? Why do you think so? What is it about Ada that would make a body
> of code written for one purpose reusable for another, in a way that does
> not apply to C or C++?

Reusability implies portability (at least for my case), since we are using
several platforms for a given system.
Generics/templates aids reusability


For generics/templates:

For C it gives itself: no generics/templates. You could use macros for some,
but they really doesn't do the job very nice.

For C++, templates should be the answer, but unfortunately quite a bit of
"implementation specific freedom" renders this feature "less useful".
http://www.mozilla.org/hacking/portable-cpp.html (a bit old, but still valid
to some extend).

For Ada, generics seems to work quite nicely.


For portability:

C and C++: I would almost call it non-existing. Try reading a binary
byte-aligned file into a C/C++ struct. It's fairly easy with one compiler
(if it's not the opposite endianess), but try make it work across different
compilers... :-(

Ada has the nice for-use statement that pretty much solves this mess.


And just exactly how big is an int? Well, we could define an int16 for a
signed 16 bit integer, int32 ..., etc. But how do you get it into your code:
You include a header-file with sized integer types.
Then another guy wants to use your code, but he has his own header-file with
sized integer types, unfortunately this guy has named his unsigned 8 bit as
uchar8, and you called it uint8. Now what? Things gets very messy, very
fast.

In Ada you just define a type with a suitable range and size.


C and C++ has conditional compiles, which very fast gets very messy.

No such thing in Ada.


I believe we could add quite a bit to this list.
Btw.: "Safer C" by Les Hatton is "fascinating" reading.


Did I miss the point here?

Per





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-01 21:14   ` Per Dalgas Jakobsen
@ 2004-06-02  1:12     ` Ed Falis
  2004-06-02 10:59     ` Stefan Nobis
  1 sibling, 0 replies; 216+ messages in thread
From: Ed Falis @ 2004-06-02  1:12 UTC (permalink / raw)


On Tue, 1 Jun 2004 23:14:11 +0200, Per Dalgas Jakobsen <i@hate.spam> wrote:

> Did I miss the point here?

I don't think you did.  These are not outstandingly strong arguments, but  
they are small-ish things that add together.  I've used a lot of languages  
(includng Java), and find Ada to be the most portable across  
implementations.  Part of that phrase "most portable" means "relatively  
easy to adapt" when it doesn't just work out of the box.

- Ed



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-01 21:14   ` Per Dalgas Jakobsen
  2004-06-02  1:12     ` Ed Falis
@ 2004-06-02 10:59     ` Stefan Nobis
  2004-06-03  4:19       ` Jeffrey Carter
  1 sibling, 1 reply; 216+ messages in thread
From: Stefan Nobis @ 2004-06-02 10:59 UTC (permalink / raw)


"Per Dalgas Jakobsen" <i@hate.spam> writes:

> For C++, templates should be the answer, but unfortunately quite a bit of
> "implementation specific freedom" renders this feature "less useful".
> http://www.mozilla.org/hacking/portable-cpp.html (a bit old, but still valid
> to some extend).

No, that's not valid today! The page is dated even before the
release of the official ISO Standard for C++ and that's over six
years since.

Today even MS Visual C++ supports templates quite good.

> And just exactly how big is an int? Well, we could define an int16 for a
> signed 16 bit integer, int32 ..., etc. But how do you get it into your code:
> You include a header-file with sized integer types.
> Then another guy wants to use your code, but he has his own header-file with
> sized integer types, unfortunately this guy has named his unsigned 8 bit as
> uchar8, and you called it uint8. Now what? Things gets very messy, very
> fast.

There are standard types for this kind of sizing quite a time
around now (see stdint.h -- OK, it's ISO C99 but most C++
compilers support this too and there's a cstdint.hpp from
boost.org for C++).

> Did I miss the point here?

No, but your information are a bit outdated in some areas.

-- 
Stefan.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-02 10:59     ` Stefan Nobis
@ 2004-06-03  4:19       ` Jeffrey Carter
  0 siblings, 0 replies; 216+ messages in thread
From: Jeffrey Carter @ 2004-06-03  4:19 UTC (permalink / raw)


Stefan Nobis wrote:

> "Per Dalgas Jakobsen" <i@hate.spam> writes:
> 
>> For C++, templates should be the answer, but unfortunately quite a
>> bit of "implementation specific freedom" renders this feature "less
>> useful". http://www.mozilla.org/hacking/portable-cpp.html (a bit
>> old, but still valid to some extend).
> 
> No, that's not valid today! The page is dated even before the release
> of the official ISO Standard for C++ and that's over six years since.
> 
Those are still the rules that Mozilla developers must adhere to today.

-- 
Jeff Carter
"You couldn't catch clap in a brothel, silly English K...niggets."
Monty Python & the Holy Grail
19




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics (why not Universities?)
  2004-05-30 19:09     ` Per Dalgas Jakobsen
  2004-05-31  2:28       ` Richard  Riehle
@ 2004-06-04 17:24       ` Warren W. Gay VE3WWG
  2004-06-04 18:46         ` Marius Amado Alves
  2004-06-06 13:34         ` Improving Ada's image - Was: 7E7 Flight Controls Electronics (why not Universities?) Ralph W. Reid
  1 sibling, 2 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-04 17:24 UTC (permalink / raw)


Per Dalgas Jakobsen wrote:

>>>>But how can we get the attention of the executives?
>>>>Let the brainstorm start ;-)
>>>
>>>That's the real problem :)
>>
>>No, the real problem is that executives = management and management =
>>morons and morons are in charge.
> 
> Well, I understand your view, but I have (almost) never seen a person that
> acted irrational, when seing things from a certain point of view.
> That view might not be yours for several reasons, one being that you know
> more about some stuff than they do or visa versa.

I would generally agree: its not about managers being morons,
but seeing things from a different point of view. Part of the
tension is that developers don't want to expend the effort
necessary to "sell the idea". They don't use the right
facts and presentation to "sell it" (developers know code,
but often fail to know how to sell or present an idea).
So that is part of it (some of the other part is below..)

> The problem being most project managers do not have the courage to put their
> reputation at stake to make an unorthodox decision, because all the other
> project managers will know immediately where to point fingers if the project
> runs off track, disregarding the real reason (the majority are right...).

Agreed - lack of courage is another factor. Its easy to
support a project that uses technology that you don't
have to "sell".  Project managers must also "sell the
idea" (Ada) to their upper management.  So even if the project
management is sold (because the developers helped sell
Ada), they must now expend energy with courage to upper
management. It is very tough to sell something, when
everyone else in the meeting room is against the idea.
It is even tougher, if the upper management has developed
a stronger level of trust with others in the room.

So as I see it, Ada right away has two major points of
failure in the corporate scene:

   1. Developers fail to sell Ada to their manager/project-manager
   2. Project managers fail to sell to their management/clients

Lack of effort and/or courage at either level, will cause
the path of least resistance to be used. Only a thick
skin and zeal can overcome it.

> Thats why it makes no sense to try forcing Ada from the bottom up (even
> though Linux seems to have accomplished that to a certain extend), but let
> it enter at top level and let the executives suggest it, so the project
> managers have their backs free.

I disagree with this. The developer leads need to convince
their managers/project managers, if Ada has any hope in
a shop that doesn't do any/much Ada. If the developer team
won't support it, then why would anyone above them support
it?

OTOH, if the developers don't support it, but the manager
does (because he knows about Ada from a prior life etc.),
then he must first get his team to buy into the idea.
Questions often get directed at the technical people for
their opinion. If they won't support Ada, then upper
management won't have the courage (no warm and fuzzies).

Once the "lower level" is behind the idea, then you might
have hope at convincing the upper level (but the project
manager will need courage and persistance).

So I would say it is _necessary_ to support Ada from the
bottom up. Without support from the bottom, why choose
an option that looks risky at the higher levels?

> One way to get their attention could be to suggest Berkeley or Oxford (or
> whoever makes these kinds of analyses) to make a thorough investigations
> based on real business cases, with help from "people in the business" = us,
> and make them do all the economical consequence maths, for very small
> projects with no safety critical issues, to very large projects with all the
> whistles and bells.

I think there is already enough "evidence". The problem as
I see it, is one of acceptance. But perhaps, Universities
can help some..

If more Universities would teach and use Ada in their
curriculum, then people would come out of them knowing
and preferring Ada.

In fact this is an area that surprises me most of all!

Why don't univesities naturally prefer Ada?!?!?

Ada is so nice in that it allows the writer to code the
program in terms that make sense to the algorithm. Array
bounds can be set to match the algorthm (like -3..3 for
example), without worrying about implementation issues.
In most other languages, you are constantly mapping
array indexes that the algorithm needs to 0..n-1 or
1..n etc., depending up the language chosen etc.  Generics
and other nice facilities in the Ada language would seem
to make it a natural for theoretical work and research.
Certainly correctness is important to research?

So what surprises me most, is why Universities
don't naturally prefer Ada, when it lets you abstract
your code to match the model in your mind?  Instead,
many profs seem to dismiss Ada in favour of trendy
things like Java. Yet evidence abounds in how well
students do with Ada, over other languages.

So I find this real hard to understand.

This leads me to conclude that most of these
people either just never came to know Ada
well enough, or have never understand the
benefits of the language. To me, Ada would
seem most natural fit for University work.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics (why not Universities?)
  2004-06-04 17:24       ` Improving Ada's image - Was: 7E7 Flight Controls Electronics (why not Universities?) Warren W. Gay VE3WWG
@ 2004-06-04 18:46         ` Marius Amado Alves
  2004-06-07 12:58           ` Warren W. Gay VE3WWG
  2004-06-06 13:34         ` Improving Ada's image - Was: 7E7 Flight Controls Electronics (why not Universities?) Ralph W. Reid
  1 sibling, 1 reply; 216+ messages in thread
From: Marius Amado Alves @ 2004-06-04 18:46 UTC (permalink / raw)
  To: comp.lang.ada


> In fact this is an area that surprises me most of all!
> 
> Why don't univesities naturally prefer Ada?!?!?

I can offer this recent experience. I was hired by a University to teach 
Imperative and Object-Oriented Languages in 2002/2003. The curriculum 
included Ada and Smalltalk. I was thrilled. For 2003/2004 another person 
was put in charge. The new person's background did not include Ada or 
Smalltalk. So they just changed the curriculum. (To Java and C I think.) 
Can you see the pattern here? The future teachers are today's students. 
If they don't have a background in Ada, they won't teach it. This began 
one generation ago, so Ada is not taught today, and never will be.





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics (why not Universities?)
  2004-06-04 17:24       ` Improving Ada's image - Was: 7E7 Flight Controls Electronics (why not Universities?) Warren W. Gay VE3WWG
  2004-06-04 18:46         ` Marius Amado Alves
@ 2004-06-06 13:34         ` Ralph W. Reid
  2004-06-07  2:38           ` Robert I. Eachus
  1 sibling, 1 reply; 216+ messages in thread
From: Ralph W. Reid @ 2004-06-06 13:34 UTC (permalink / raw)


Warren W. Gay VE3WWG <ve3wwg@cogeco.ca> wrote:
[ . . . ]
> I think there is already enough "evidence". The problem as
> I see it, is one of acceptance. But perhaps, Universities
> can help some..
> 
> If more Universities would teach and use Ada in their
> curriculum, then people would come out of them knowing
> and preferring Ada.
> 
> In fact this is an area that surprises me most of all!
> 
> Why don't univesities naturally prefer Ada?!?!?

Around 12 years ago, I was working on my senior project in college,
which was to develope a class for Ada.  Ada had been used during the
previous semester for a class, but the HP-900/3XX system which housed
the compiler was heavily overloaded at times, causing compile and run
times to be annoyingly slow.  During my project, I asked the powers
that were if an Ada compiler could be put on a faster system.  The
response was that the cost of such a compiler then was $10,000--way
outside of any reasonable expense at the time.  As far as I know, I
was the last person to use Ada on any of the campus computers.  Gnat
has since come out, but once the Ada idea died due to cost, it was
never revived.

[ . . . ]



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics (why not Universities?)
  2004-06-06 13:34         ` Improving Ada's image - Was: 7E7 Flight Controls Electronics (why not Universities?) Ralph W. Reid
@ 2004-06-07  2:38           ` Robert I. Eachus
  0 siblings, 0 replies; 216+ messages in thread
From: Robert I. Eachus @ 2004-06-07  2:38 UTC (permalink / raw)


Ralph W. Reid wrote:

> Around 12 years ago, I was working on my senior project in college,
> which was to develope a class for Ada.  Ada had been used during the
> previous semester for a class, but the HP-900/3XX system which housed
> the compiler was heavily overloaded at times, causing compile and run
> times to be annoyingly slow.  During my project, I asked the powers
> that were if an Ada compiler could be put on a faster system.  The
> response was that the cost of such a compiler then was $10,000--way
> outside of any reasonable expense at the time.  As far as I know, I
> was the last person to use Ada on any of the campus computers.  Gnat
> has since come out, but once the Ada idea died due to cost, it was
> never revived.

Around 12 years ago, many Ada compiler companies offered substantial 
discounts to educational institutions.  I wondered in part about the 
policy and got an interesting answer--that it was easier for many 
educational institutions to buy the software at a nominal price than to 
install free software on their systems.  So the nominal price about 
covered the paperwork, I think Verdix was $100.

It sounds like whoever checked prices didn't check the educational 
price, or that the current system was being used by students and 
research projects that didn't qualify for the discount.

-- 

                                           Robert I. Eachus

"The terrorists rejoice in the killing of the innocent, and have 
promised similar violence against Americans, against all free peoples, 
and against any Muslims who reject their ideology of murder. Their 
barbarism cannot be appeased, and their hatred cannot be satisfied. 
There's only one way to deal with terror: We must confront the enemy and 
stay on the offensive until these killers are defeated." -- George W. Bush




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics (why not Universities?)
  2004-06-04 18:46         ` Marius Amado Alves
@ 2004-06-07 12:58           ` Warren W. Gay VE3WWG
  2004-06-07 17:11             ` Ada in colleges and universities Peter C. Chapin
  0 siblings, 1 reply; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-07 12:58 UTC (permalink / raw)


Marius Amado Alves wrote:
> 
>> In fact this is an area that surprises me most of all!
>>
>> Why don't univesities naturally prefer Ada?!?!?
> 
> I can offer this recent experience. I was hired by a University to teach 
> Imperative and Object-Oriented Languages in 2002/2003. The curriculum 
> included Ada and Smalltalk. I was thrilled. For 2003/2004 another person 
> was put in charge. The new person's background did not include Ada or 
> Smalltalk. So they just changed the curriculum. (To Java and C I think.) 
> Can you see the pattern here? The future teachers are today's students. 
> If they don't have a background in Ada, they won't teach it. This began 
> one generation ago, so Ada is not taught today, and never will be.

I am not surprised at this. After all, the same problem occurs
in the business world. People recommend and use what they
already know.

Sounds like universities suffer from the chicken and egg
problem.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-01  2:56           ` Hyman Rosen
  2004-06-01 14:51             ` Wes Groleau
@ 2004-06-07 16:29             ` Warren W. Gay VE3WWG
  2004-06-07 17:44               ` Hyman Rosen
  1 sibling, 1 reply; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-07 16:29 UTC (permalink / raw)


Hyman Rosen wrote:
> Wes Groleau wrote:
>> Richard Riehle wrote:
>>> At this point, Ada ..... must survive .....  the inane criticism of 
>>> those
>>> who have never written a seropus system in the language. 
>>
>> And a large subset of that is the inane criticism of those
>> who have never written a serious system in any language.
> 
> But notice that C, which is so widely derided in the Ada community,
> has been used to produce Linux, a stable, portable, efficient, and
> high-quality operating system 

But this begs the question "stable, ... high-quality compared
to what?"  Do we have Ada operating systems to make a fair
comparison with?  Don't get me wrong - I am a fan of *NIX/Linux,
but I wouldn't go as far as to say that they couldn't be more
stable, portable, efficient and higher-quality than present.
Looking at the weekly list of Linux vulnerability/patches that
come out for security issues, suggests that improvements
in this area are possible and desirable.

> which is maintained by a host of
> programmers. Too often, the pro-Ada argument of "you can do it
> faster and better" turns into the anti-C bash of "you can't do it at
> all", and too many people know better than to buy that.

<troll>
Perhaps, but this doesn't change the underlying fundamentals
to the position ;-)
</troll>
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-05-30 18:47 ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Richard  Riehle
  2004-05-31 12:57   ` Marin David Condic
@ 2004-06-07 16:35   ` Warren W. Gay VE3WWG
  1 sibling, 0 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-07 16:35 UTC (permalink / raw)


Richard Riehle wrote:

> "Per Dalgas Jakobsen" <i@hate.spam> wrote in message
> news:40b9c99e$0$268$edfadb0f@dread16.news.tele.dk...
> 
>>Instead of advertising for Ada in software magazines, web-sites, etc. I
>>believe that Ada needs to get an "image-lift" at executive level. Imagine if
>>we could get to the point when project managers are suggesting C/C++ and
>>the executive asks: "Why not use Ada?" :-p
> 
> Sadly, there is no money available in the Ada community for advertising
> or public relations.   The money we did have was squandered on silly
> posters and ineffective advertising about the time Ada 95 appeared.  The
> people charged with making the advertising decisions were inexperienced
> in the ways of advertising and the ads had no appreciable effect.
...
> Richard Riehle

Well, if Open Source projects can receive funding through the
use of an Open Sourced (Penguin logo-ed) credit card (through
interest profits), then perhaps something similar could be used
to fund advertising for Ada. The largest problem might be to
attract enough card users, though they need not be software
people at all.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Ada in colleges and universities.
  2004-06-07 12:58           ` Warren W. Gay VE3WWG
@ 2004-06-07 17:11             ` Peter C. Chapin
  2004-06-07 17:29               ` Marius Amado Alves
                                 ` (2 more replies)
  0 siblings, 3 replies; 216+ messages in thread
From: Peter C. Chapin @ 2004-06-07 17:11 UTC (permalink / raw)


"Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> wrote in news:iEZwc.6943
$8k4.235178@news20.bellglobal.com:

> Sounds like universities suffer from the chicken and egg
> problem.

In the late 1980's we taught Ada at Vermont Technical College (in the 
computer engineering technology classes) as the student's first exposure 
to programming. The language was then used in several other classes, 
including one low level interfacing class. The idea was that Ada would 
help teach the students good programming habits and help them develop a 
sense about how programs should be structured and organized. Of course 
such topics could be introduced using any language, but Ada put the ideas 
in the student's faces more and, hopefully, helped them to learn those 
ideas better.

This was all fine, but the reality was that a huge majority of third party 
programs the students had to read or modify were written in C. Also most 
text books contained C examples. It soon became clear that we were not 
properly preparing our students for the real world unless we taught them 
C. One obvious solution would be to teach both. Perhaps introduce them to 
programming using the discipline of Ada and then teach them C later with 
the hope that they would be better C programmers for their Ada background. 
Alas, there is only so much time in any curriculum. It was decided that C 
had to be in the program and that there wasn't enough time for both Ada 
and C. Thus Ada was dropped.

Today we do C and then C++. However, since C++ is a rough superset of C, 
the transition to it is relatively painless and efficient. Ada has not 
been in our program since about 1990 or so.

That's our story.

Peter



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 17:11             ` Ada in colleges and universities Peter C. Chapin
@ 2004-06-07 17:29               ` Marius Amado Alves
  2004-06-07 19:47                 ` Peter C. Chapin
  2004-06-07 18:39               ` Björn Persson
  2004-06-08 16:14               ` Warren W. Gay VE3WWG
  2 siblings, 1 reply; 216+ messages in thread
From: Marius Amado Alves @ 2004-06-07 17:29 UTC (permalink / raw)
  To: comp.lang.ada

>>Sounds like universities suffer from the chicken and egg
>>problem.
> 
> In the late 1980's we taught Ada at Vermont Technical College (in the 
> computer engineering technology classes) as the student's first exposure 
> to programming....

Was that a vocational training or a University degree? I can understand 
vocational training curricula bending to the job market demand to the 
point of excluding something theoretically better, but this should not 
happen in Universities. Make room!






^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-07 16:29             ` Warren W. Gay VE3WWG
@ 2004-06-07 17:44               ` Hyman Rosen
  2004-06-08 16:09                 ` Warren W. Gay VE3WWG
  2004-06-09 23:45                 ` Richard  Riehle
  0 siblings, 2 replies; 216+ messages in thread
From: Hyman Rosen @ 2004-06-07 17:44 UTC (permalink / raw)


Warren W. Gay VE3WWG wrote:
> But this begs the question "stable, ... high-quality compared
> to what?"

In absolute terms. Linux systems, as well as BSD systems which
are also written in C, stay up for long periods of time and work
as they are supposed to. Various pieces are always being reworked
and enhanced, apparently without much difficulty.

 > Do we have Ada operating systems to make a fair
> comparison with?

No, you don't. Read what meaning you want from that.

By the way, to "beg the question" means to assume that which you
are trying to prove, not to force a question to be asked.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 17:11             ` Ada in colleges and universities Peter C. Chapin
  2004-06-07 17:29               ` Marius Amado Alves
@ 2004-06-07 18:39               ` Björn Persson
  2004-06-07 18:55                 ` Marius Amado Alves
  2004-06-07 19:53                 ` Peter C. Chapin
  2004-06-08 16:14               ` Warren W. Gay VE3WWG
  2 siblings, 2 replies; 216+ messages in thread
From: Björn Persson @ 2004-06-07 18:39 UTC (permalink / raw)


Peter C. Chapin wrote:

> Alas, there is only so much time in any curriculum. It was decided that C 
> had to be in the program and that there wasn't enough time for both Ada 
> and C. Thus Ada was dropped.

That seems very strange to me. In the university courses in programming 
I've taken, they first taught us functional programming in Scheme and 
then imperative programming in Pascal. Then we moved on to 
object-oriented programming in Java, modelling in UML, and a kind of 
mathematical notation for data structures. There was even time for some 
BNF. That was all in courses intended to be equivalent to about 20 weeks 
of full time studying, and meant for students who hadn't programmed before.

-- 
Björn Persson

jor ers @sv ge.
b n_p son eri nu




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 18:39               ` Björn Persson
@ 2004-06-07 18:55                 ` Marius Amado Alves
  2004-06-07 19:21                   ` Jerome Hugues
                                     ` (5 more replies)
  2004-06-07 19:53                 ` Peter C. Chapin
  1 sibling, 6 replies; 216+ messages in thread
From: Marius Amado Alves @ 2004-06-07 18:55 UTC (permalink / raw)
  To: comp.lang.ada

>> Alas, there is only so much time in any curriculum. It was decided 
>> that C had to be in the program and that there wasn't enough time for 
>> both Ada and C. Thus Ada was dropped.
> 
> That seems very strange to me. In the university courses in programming 
> I've taken, they first taught us functional programming in Scheme and 
> then imperative programming in Pascal. Then we moved on to 
> object-oriented programming in Java, modelling in UML, and a kind of 
> mathematical notation for data structures. There was even time for some 
> BNF. That was all in courses intended to be equivalent to about 20 weeks 
> of full time studying, and meant for students who hadn't programmed before.

I bet that was in Europe. They're crazy in the USA :-) Sometime ago they 
entirely took out programming practice from the CS curriculum, can you 
imagine?

But there's no Ada being taught in Europe either.




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 18:55                 ` Marius Amado Alves
@ 2004-06-07 19:21                   ` Jerome Hugues
  2004-06-07 19:27                   ` (see below)
                                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 216+ messages in thread
From: Jerome Hugues @ 2004-06-07 19:21 UTC (permalink / raw)


In article <mailman.69.1086634524.391.comp.lang.ada@ada-france.org>, 
Marius Amado Alves wrote:

> But there's no Ada being taught in Europe either.

Not quite true, the following

http://www.ada-france.org/rubrique19.html

lists High School and Universities in France that provide Ada lessons.

http://d.feneuille.free.fr/enseignerada.htm

provides more information on that topic

-- 
Jerome



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 18:55                 ` Marius Amado Alves
  2004-06-07 19:21                   ` Jerome Hugues
@ 2004-06-07 19:27                   ` (see below)
  2004-06-07 19:44                     ` Marius Amado Alves
  2004-06-08  1:14                     ` Alexander E. Kopilovich
  2004-06-07 22:06                   ` Björn Persson
                                     ` (3 subsequent siblings)
  5 siblings, 2 replies; 216+ messages in thread
From: (see below) @ 2004-06-07 19:27 UTC (permalink / raw)


On 7/6/04 7:55 pm, in article
mailman.69.1086634524.391.comp.lang.ada@ada-france.org, "Marius Amado Alves"
<amado.alves@netcabo.pt> wrote:

> 
> But there's no Ada being taught in Europe either.
> 

Oh, yes there is!

Glasgow University uses Ada 95 as the foundation language for CS1 and CS2,
and has done since 1996.

FP using Haskell is added in CS2; C and Java are added in CS3 (it's a 4-year
program.)

When certain senior professors tried to have Ada replaced with Java,
the class head of CS1 threatened to resign. Ada 95 was retained.
In 2001 there was a curriculum review, at which Java was again touted.
Thanks to the staff teaching Ada, there was again no change of policy.
-- 
Bill Findlay
<surname><forename> chez blueyonder.co.uk




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 19:27                   ` (see below)
@ 2004-06-07 19:44                     ` Marius Amado Alves
  2004-06-08  1:14                     ` Alexander E. Kopilovich
  1 sibling, 0 replies; 216+ messages in thread
From: Marius Amado Alves @ 2004-06-07 19:44 UTC (permalink / raw)
  To: comp.lang.ada

> Glasgow University uses Ada 95 as the foundation language for CS1 and CS2,
> and has done since 1996.
> 
> FP using Haskell is added in CS2; C and Java are added in CS3 (it's a 4-year
> program.)
> 
> When certain senior professors tried to have Ada replaced with Java,
> the class head of CS1 threatened to resign. Ada 95 was retained.
> In 2001 there was a curriculum review, at which Java was again touted.
> Thanks to the staff teaching Ada, there was again no change of policy.

Great! Let's hope it's not just a matter of time before the Adaists retire.




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 17:29               ` Marius Amado Alves
@ 2004-06-07 19:47                 ` Peter C. Chapin
  0 siblings, 0 replies; 216+ messages in thread
From: Peter C. Chapin @ 2004-06-07 19:47 UTC (permalink / raw)


Marius Amado Alves <amado.alves@netcabo.pt> wrote in 
news:mailman.68.1086629374.391.comp.lang.ada@ada-france.org:

> Was that a vocational training or a University degree?

Something in between. The degree was a two year degree, but it wasn't exactly 
"vocational" in the sense one typically means by that term. However, because 
it was a two year program, the immediate needs of the job market figured more 
highly in it than might have been the case otherwise.

I use the past tense here because VTC currently has a four year computer 
engineering technology degree. This gives us more time to work with than we 
had before. Perhaps the question of introducing Ada to the students should be 
revisited.

Peter



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 18:39               ` Björn Persson
  2004-06-07 18:55                 ` Marius Amado Alves
@ 2004-06-07 19:53                 ` Peter C. Chapin
  2004-06-07 21:54                   ` Björn Persson
  2004-06-07 22:03                   ` Ludovic Brenta
  1 sibling, 2 replies; 216+ messages in thread
From: Peter C. Chapin @ 2004-06-07 19:53 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1398 bytes --]

Bj�rn Persson <spam-away@nowhere.nil> wrote in news:zD2xc.95220$dP1.306334
@newsc.telia.net:

> That seems very strange to me. In the university courses in programming 
> I've taken, they first taught us functional programming in Scheme and 
> then imperative programming in Pascal. Then we moved on to 
> object-oriented programming in Java, modelling in UML, and a kind of 
> mathematical notation for data structures. There was even time for some 
> BNF. That was all in courses intended to be equivalent to about 20 weeks 
> of full time studying, and meant for students who hadn't programmed 
before.

You are probably talking about a computer science program, true? VTC 
offers computer engineering technology. It's more like computer 
engineering which, in turn, is more like electrical engineering than it is 
like computer science. Our students get a lot of hardware courses, 
including basic (and not so basic) electronics. The programming we are 
preparing them for is low level stuff... device drivers, embedded systems, 
specialized executives, etc. We tend to be relatively light on abstract 
theory and heavy on the "practical" construction of systems. If I suggest 
that we reintroduce Ada in the curriculum I know the question will be: 
"How much Ada is being used, relative to C, in the application domains we 
focus on?" How should I best answer a question like that?

Peter



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 19:53                 ` Peter C. Chapin
@ 2004-06-07 21:54                   ` Björn Persson
  2004-06-09  3:52                     ` I R T
  2004-06-07 22:03                   ` Ludovic Brenta
  1 sibling, 1 reply; 216+ messages in thread
From: Björn Persson @ 2004-06-07 21:54 UTC (permalink / raw)


Peter C. Chapin wrote:

> You are probably talking about a computer science program, true?

If I translate the terms right, yes.

> VTC 
> offers computer engineering technology. It's more like computer 
> engineering which, in turn, is more like electrical engineering than it is 
> like computer science. Our students get a lot of hardware courses, 
> including basic (and not so basic) electronics. The programming we are 
> preparing them for is low level stuff... device drivers, embedded systems, 
> specialized executives, etc. We tend to be relatively light on abstract 
> theory and heavy on the "practical" construction of systems.

I see. Then I can understand if you don't teach them functional 
programming. :-)

> If I suggest 
> that we reintroduce Ada in the curriculum I know the question will be: 
> "How much Ada is being used, relative to C, in the application domains we 
> focus on?" How should I best answer a question like that?

I think my best answer would be essentially what you already wrote in 
your earlier post - that if you expect that your students will write 
device drivers or embedded systems, then they will do enough programming 
that they will need to know good programming practice. And while Ada is 
better than C for teaching good programming practice, there's also a 
point in comparing languages. I'd say you're not a good programmer until 
you've tried at least two different languages, because only then will 
you be able to see the weaknesses in a language. (And C and C++ don't 
count as different languages in this case. Starting with C and 
proceeding to C++ is more like starting with the basic parts of Ada and 
introducing generics, tasks and tagged types later.)

-- 
Björn Persson

jor ers @sv ge.
b n_p son eri nu




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 19:53                 ` Peter C. Chapin
  2004-06-07 21:54                   ` Björn Persson
@ 2004-06-07 22:03                   ` Ludovic Brenta
  2004-06-08  0:16                     ` Jeffrey Carter
  1 sibling, 1 reply; 216+ messages in thread
From: Ludovic Brenta @ 2004-06-07 22:03 UTC (permalink / raw)


"Peter C. Chapin" writes:
> You are probably talking about a computer science program, true? VTC 
> offers computer engineering technology. It's more like computer 
> engineering which, in turn, is more like electrical engineering than it is 
> like computer science. Our students get a lot of hardware courses, 
> including basic (and not so basic) electronics. The programming we are 
> preparing them for is low level stuff... device drivers, embedded systems, 
> specialized executives, etc. We tend to be relatively light on abstract 
> theory and heavy on the "practical" construction of systems. If I suggest 
> that we reintroduce Ada in the curriculum I know the question will be: 
> "How much Ada is being used, relative to C, in the application domains we 
> focus on?" How should I best answer a question like that?

At Barco Avionics, it is roughly 85% Ada, 15% C.  The C is used for
some microcontrollers nor supported by the current Ada compiler, but I
suspect there must be a way to use Ada there too.

-- 
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 18:55                 ` Marius Amado Alves
  2004-06-07 19:21                   ` Jerome Hugues
  2004-06-07 19:27                   ` (see below)
@ 2004-06-07 22:06                   ` Björn Persson
  2004-06-07 22:17                     ` (see below)
  2004-06-08  9:30                   ` Adrian Knoth
                                     ` (2 subsequent siblings)
  5 siblings, 1 reply; 216+ messages in thread
From: Björn Persson @ 2004-06-07 22:06 UTC (permalink / raw)


Marius Amado Alves wrote:

> I bet that was in Europe.

Yes. Stockholm, Sweden.

> They're crazy in the USA :-) Sometime ago they 
> entirely took out programming practice from the CS curriculum, can you 
> imagine?

No, I can't. :-)


As a side note, one of the books we had in the first course was 
Programming Language Concepts and Paradigms by David A. Watt. The 
examples of exception handling in Ada in that book made me decide that I 
had to have a closer look at Ada, and here I am now.

-- 
Björn Persson

jor ers @sv ge.
b n_p son eri nu




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 22:06                   ` Björn Persson
@ 2004-06-07 22:17                     ` (see below)
  0 siblings, 0 replies; 216+ messages in thread
From: (see below) @ 2004-06-07 22:17 UTC (permalink / raw)


On 7/6/04 11:06 pm, in article GF5xc.95263$dP1.306414@newsc.telia.net,
"Bj�rn Persson" <spam-away@nowhere.nil> wrote:

> As a side note, one of the books we had in the first course was
> Programming Language Concepts and Paradigms by David A. Watt. The
> examples of exception handling in Ada in that book made me decide that I
> had to have a closer look at Ada, and here I am now.

Then you might like to have a look at his new opus, "Programming Language
Design Concepts", which, despite the publisher's blurb downplaying Ada,
makes even better use of it for significant examples.

(I wrote the concurrency chapters in the new book as well. 8-)
-- 
Bill Findlay
<surname><forename> chez blueyonder.co.uk





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 22:03                   ` Ludovic Brenta
@ 2004-06-08  0:16                     ` Jeffrey Carter
  2004-06-08  5:12                       ` Ludovic Brenta
  0 siblings, 1 reply; 216+ messages in thread
From: Jeffrey Carter @ 2004-06-08  0:16 UTC (permalink / raw)


Ludovic Brenta wrote:
> 
> At Barco Avionics, it is roughly 85% Ada, 15% C.  The C is used for
> some microcontrollers nor supported by the current Ada compiler, but I
> suspect there must be a way to use Ada there too.

If nothing else, you could use the SofCheck compiler that produces ANSI 
C as its intermediate lanaguage.

-- 
Jeff Carter
"Gentlemen, you can't fight in here. This is the War Room!"
Dr. Strangelove
30




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 19:27                   ` (see below)
  2004-06-07 19:44                     ` Marius Amado Alves
@ 2004-06-08  1:14                     ` Alexander E. Kopilovich
  1 sibling, 0 replies; 216+ messages in thread
From: Alexander E. Kopilovich @ 2004-06-08  1:14 UTC (permalink / raw)
  To: comp.lang.ada

"(see below)" wrote:

> Glasgow University uses Ada 95 as the foundation language for CS1 and CS2,
> and has done since 1996.
>
> FP using Haskell is added in CS2; C and Java are added in CS3 (it's a 4-year
> program.)

I believe that students have little difficulty with C and Java after Ada 95
and Haskell... and also that their C/Java code should be generally better
(cleaner and safer) comparing with an audience that was initiated with C or
Java. By the way, the latter seems to be a good argument for those who cares
for practical purposes and future careers.

> When certain senior professors tried to have Ada replaced with Java,
> the class head of CS1 threatened to resign. Ada 95 was retained.
> In 2001 there was a curriculum review, at which Java was again touted.
> Thanks to the staff teaching Ada, there was again no change of policy.

So they deserve to teach Ada as they were ready to fight for that.



Alexander Kopilovich                      aek@vib.usr.pu.ru
Saint-Petersburg
Russia




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-08  0:16                     ` Jeffrey Carter
@ 2004-06-08  5:12                       ` Ludovic Brenta
  0 siblings, 0 replies; 216+ messages in thread
From: Ludovic Brenta @ 2004-06-08  5:12 UTC (permalink / raw)


Jeffrey Carter writes:
> Ludovic Brenta wrote:
>> At Barco Avionics, it is roughly 85% Ada, 15% C.  The C is used for
>> some microcontrollers nor supported by the current Ada compiler, but I
>> suspect there must be a way to use Ada there too.
>
> If nothing else, you could use the SofCheck compiler that produces
> ANSI C as its intermediate lanaguage.

Yes, I am aware of it.  The main problems are inertia and DO-178B
certification, not availability of compilers.  Also, no compiler
change can take place during a project; only between projects.

-- 
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 18:55                 ` Marius Amado Alves
                                     ` (2 preceding siblings ...)
  2004-06-07 22:06                   ` Björn Persson
@ 2004-06-08  9:30                   ` Adrian Knoth
  2004-06-08 17:12                     ` Jeffrey Carter
  2004-06-08  9:53                   ` Jano
  2004-06-09  8:55                   ` Pascal Obry
  5 siblings, 1 reply; 216+ messages in thread
From: Adrian Knoth @ 2004-06-08  9:30 UTC (permalink / raw)


Marius Amado Alves <amado.alves@netcabo.pt> wrote:

> But there's no Ada being taught in Europe either.

I don't know whether it's comparable at all, but we at university
don't care that much what is "used in the wild". We have no tuition fees.
Every time industry asks for teaching something they need we tell
them: "ok, pay us and we'll train our students for you. Otherwise shut up."

When you start studying CS you'll have the first programming-course.
You can't call it course because nothing is taught. There are some
tutorials for beginners but usually you'll receive your weekly jobs
to be done, you'll do them and mail the results.

The language used for that is Modula3. Reason: probably noone
has used Modula3 before, thus giving equal chances to everyone.

In addition, functional programming, some ASM and Java is taught
but not programmed.

One year later you'll have to do the second programming-course,
covering Ada95 and Java.

For "computer architecture & design" you'll do VHDL and later SystemC,
but also ASM for RISCs.

The lessons tackling "programming languages" focuss on special
concepts used in different languages.

The courses for compiler construction uses both Ada and Java
for writing parsers, scanners and so on.

The two last always emphasize that there are so many good things
in Ada not reached by any other language. ;)

Some other courses uses C or C++, e.g. "parallel algorithmns" (MPI),
"image manipulation" or "pattern recognition".

So to say: we do it all.


-- 
mail: adi@thur.de  	http://adi.thur.de	PGP: v2-key via keyserver

Windws is ine for backgroun comunicaions - Bll Gats



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 18:55                 ` Marius Amado Alves
                                     ` (3 preceding siblings ...)
  2004-06-08  9:30                   ` Adrian Knoth
@ 2004-06-08  9:53                   ` Jano
  2004-06-09  8:55                   ` Pascal Obry
  5 siblings, 0 replies; 216+ messages in thread
From: Jano @ 2004-06-08  9:53 UTC (permalink / raw)


> But there's no Ada being taught in Europe either.

Another counterexample: University of Zaragoza, Spain. Language of
choice for several courses (at least four that I can remember, and
tangencially used in several more).



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-07 17:44               ` Hyman Rosen
@ 2004-06-08 16:09                 ` Warren W. Gay VE3WWG
  2004-06-08 17:30                   ` Hyman Rosen
                                     ` (3 more replies)
  2004-06-09 23:45                 ` Richard  Riehle
  1 sibling, 4 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-08 16:09 UTC (permalink / raw)


Hyman Rosen wrote:
> Warren W. Gay VE3WWG wrote:
>> But this begs the question "stable, ... high-quality compared
>> to what?"
> 
> In absolute terms. Linux systems, as well as BSD systems which
> are also written in C, stay up for long periods of time and work
> as they are supposed to. Various pieces are always being reworked
> and enhanced, apparently without much difficulty.

Uptime is a crude way of measuring "reliability" and
"stability". A system that is up 365 days a year is
not much good to a university that allows its students
to use root exploits, for example.

>  > Do we have Ada operating systems to make a fair
> 
>> comparison with?
> 
> No, you don't. Read what meaning you want from that.

Whatever.

> By the way, to "beg the question" means to assume that which you
> are trying to prove, not to force a question to be asked.

Going back to the original statement:

Hyman Rosen wrote:
 > But notice that C, which is so widely derided in the Ada community,
 > has been used to produce Linux, a stable, portable, efficient, and
 > high-quality operating system which is maintained by a host of

That statement leaves several unanswered questions. By what
measurements is the product stable, portable, efficient?
By what measure is the product considered stable? By what
measure is the software portable? What are the metrics
that caused it to be judged efficient? By what measure
is a product deemed high quality?

Microsofties would argue that Windows XP is stable. So
then you have to answer how these systems are different. What
metrics do you want to apply to the comparison? Uptime
alone, I don't think is a good measure (that was stated
in your subsequent post, BTW). So I stand by the original
assertion that there are questions begging to be answered
in this kind of a statement before it can be accepted as
any level of proof.

In the end yours is not a justifiable statement WRT to Ada.
It does not compare at all to Ada (which is what the discussion
was). Unless you bring metrics into the discussion, and involve
metrics that can be compared to Ada, you are then
just stating an opinion (above) that C is as good as Ada
(or something to that effect), and offering Linux as
some sort of proof.

The bottom line is that unless Linux is perfect, you
cannot state that Ada could not have done better.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 17:11             ` Ada in colleges and universities Peter C. Chapin
  2004-06-07 17:29               ` Marius Amado Alves
  2004-06-07 18:39               ` Björn Persson
@ 2004-06-08 16:14               ` Warren W. Gay VE3WWG
  2 siblings, 0 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-08 16:14 UTC (permalink / raw)


Peter C. Chapin wrote:

> "Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> wrote in news:iEZwc.6943
> $8k4.235178@news20.bellglobal.com:
>>Sounds like universities suffer from the chicken and egg
>>problem.
> 
> In the late 1980's we taught Ada at Vermont Technical College (in the 
> computer engineering technology classes) as the student's first exposure 
...
> This was all fine, but the reality was that a huge majority of third party 
> programs the students had to read or modify were written in C. Also most 
> text books contained C examples. It soon became clear that we were not 
...
> Peter

I think it has been recognized here, quite frequently, that
we basically live in a "C world". So I could see that being
a problem if you were continually interfacing with "the world"
from Ada. Some time ago, there was some discussion here about
how Ada binding could be more easily accomplished.

What I would have expected however, was that there would be
less need to bind to the "world" in academic exercises.

One solution would have been to create the necessary bindings
necessary for the students, to simplify that aspect. Of course,
that only works, if the "need" remains relatively static.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-08  9:30                   ` Adrian Knoth
@ 2004-06-08 17:12                     ` Jeffrey Carter
  2004-06-08 18:19                       ` Adrian Knoth
  0 siblings, 1 reply; 216+ messages in thread
From: Jeffrey Carter @ 2004-06-08 17:12 UTC (permalink / raw)


Adrian Knoth wrote:
> Some other courses uses C or C++, e.g. "parallel algorithmns" (MPI),
> "image manipulation" or "pattern recognition".

It seems odd to use sequential languages for parallel algorithms, 
especially when you have concurrent languages available.

-- 
Jeff Carter
"I unclog my nose towards you."
Monty Python & the Holy Grail
11




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-08 16:09                 ` Warren W. Gay VE3WWG
@ 2004-06-08 17:30                   ` Hyman Rosen
  2004-06-08 20:38                     ` Warren W. Gay VE3WWG
  2004-06-08 19:51                   ` Wes Groleau
                                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 216+ messages in thread
From: Hyman Rosen @ 2004-06-08 17:30 UTC (permalink / raw)


Warren W. Gay VE3WWG wrote:
> In the end yours is not a justifiable statement WRT to Ada.
> It does not compare at all to Ada (which is what the discussion
> was). Unless you bring metrics into the discussion, and involve
> metrics that can be compared to Ada, you are then just stating
 > an opinion (above) that C is as good as Ada (or something to that
 > effect), and offering Linux as some sort of proof.
> 
> The bottom line is that unless Linux is perfect, you
> cannot state that Ada could not have done better.

Unsurprisingly, you don't get it. The burden of proof is on you,
not me, because you are the one trying to move people away from
the established uses of C and C++ over to Ada. Linux and Microsoft
operating systems and applications serve as existence proofs of the
ability to use C and C++ to build good, stable systems, systems
which are used every day by millions of people to get their work
done. Ariane 5 is an existence proof that the mere use of Ada in
the building of a system is not a panacea against disaster.

Furthermore, Ada is a language where many people who were forced
to use it during the mandate fled from its use afterward, apparently
not having noticed the benefits it was supposed to confer on the
development process.




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-08 17:12                     ` Jeffrey Carter
@ 2004-06-08 18:19                       ` Adrian Knoth
  0 siblings, 0 replies; 216+ messages in thread
From: Adrian Knoth @ 2004-06-08 18:19 UTC (permalink / raw)


Jeffrey Carter <spam@spam.com> wrote:

>> Some other courses uses C or C++, e.g. "parallel algorithmns" (MPI),
>> "image manipulation" or "pattern recognition".
> It seems odd to use sequential languages for parallel algorithms, 
> especially when you have concurrent languages available.

Parallel algorithms is a theory-course without any programming.
Teaching is done for the pRAM. In addition a practical part is
offered by a student (dumbass) for those who don't want to
write a test. As far as I know MPI sucks. Quote:

"So to say, MPI is C++-encapsulated C?"
"No, MPI is C++-encapsulated Fortran"



-- 
mail: adi@thur.de  	http://adi.thur.de	PGP: v2-key via keyserver

  Schlecht: Deine Kinder sind schon sexuell aktiv.
  Panik: Miteinander.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-08 16:09                 ` Warren W. Gay VE3WWG
  2004-06-08 17:30                   ` Hyman Rosen
@ 2004-06-08 19:51                   ` Wes Groleau
  2004-06-08 22:26                     ` Hyman Rosen
  2004-06-09  4:39                   ` I R T
  2004-06-15 19:55                   ` Larry Kilgallen
  3 siblings, 1 reply; 216+ messages in thread
From: Wes Groleau @ 2004-06-08 19:51 UTC (permalink / raw)


Warren W. Gay VE3WWG wrote:

> Hyman Rosen wrote:
>> By the way, to "beg the question" means to assume that which you
>> are trying to prove, not to force a question to be asked.
>
> in your subsequent post, BTW). So I stand by the original
> assertion that there are questions begging to be answered
> in this kind of a statement before it can be accepted as
> any level of proof.

"begging the question" and "questions begging to be answered"
are completely unrelated.  Hyman, you are correcting a mistake
that was never made.

-- 
Wes Groleau
Alive and Well
http://freepages.religions.rootsweb.com/~wgroleau/



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-08 17:30                   ` Hyman Rosen
@ 2004-06-08 20:38                     ` Warren W. Gay VE3WWG
  2004-06-08 22:23                       ` Hyman Rosen
  0 siblings, 1 reply; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-08 20:38 UTC (permalink / raw)


Hyman Rosen wrote:
> Warren W. Gay VE3WWG wrote:
>> In the end yours is not a justifiable statement WRT to Ada.
>> It does not compare at all to Ada (which is what the discussion
>> was). Unless you bring metrics into the discussion, and involve
>> metrics that can be compared to Ada, you are then just stating
> 
>  > an opinion (above) that C is as good as Ada (or something to that
>  > effect), and offering Linux as some sort of proof.
> 
>> The bottom line is that unless Linux is perfect, you
>> cannot state that Ada could not have done better.
> 
> Unsurprisingly, you don't get it. The burden of proof is on you,
> not me, because you are the one trying to move people away from
> the established uses of C and C++ over to Ada. Linux and Microsoft
> operating systems and applications serve as existence proofs of the
> ability to use C and C++ to build good, stable systems, systems
> which are used every day by millions of people to get their work
> done. 

Fine the OP (not me) said that Ada is "better/whatever".
Sure, the burden of proof is on the promoter of that
position.

But you've stated a position also.

You keep making this statement that the existing O/S's
are "stable.." etc. Yes, they are existance proofs
of operating systems _implemented_ in C, but nothing
further. Existence does not imply efficient for example.

And Yes, people get useful work done by them -
this was true of Windows 3.1 too, but _that_ was hardly
stable! The only stable element of that C system was
the BSOD ;-) <insert quote about how IBM invented
Ctrl-Alt-Delete but how Microsoft made it famous>

Your assertion that they are so "good" is the point that
doesn't hold water. If you are going to promote that view,
then you need to substantiate it. Otherwise it is useless
information apart from existance. Existence does not
imply stable, efficient, useful that you keep saying
it does.

> Ariane 5 is an existence proof that the mere use of Ada in
> the building of a system is not a panacea against disaster.

Nobody has said that here; certainly not me.

</thread>
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-08 20:38                     ` Warren W. Gay VE3WWG
@ 2004-06-08 22:23                       ` Hyman Rosen
  2004-06-09  2:27                         ` Warren W. Gay VE3WWG
                                           ` (3 more replies)
  0 siblings, 4 replies; 216+ messages in thread
From: Hyman Rosen @ 2004-06-08 22:23 UTC (permalink / raw)


Warren W. Gay VE3WWG wrote:
> Your assertion that they are so "good" is the point that
> doesn't hold water. If you are going to promote that view,
> then you need to substantiate it. Otherwise it is useless
> information apart from existance. Existence does not
> imply stable, efficient, useful that you keep saying
> it does.

No, I'm saying that in absolute terms, people find both
Linux and Microsoft operating systems and applications
to be all of those things, and the evidence is the number
of people using them.

In c.l.a. you find many posts deriding managers who choose
to implement systems in C or C++, as if it were somehow
impossible to do such a thing. As MDC keeps saying, it would
be nice if you could point to equivalent or equivalently
large systems in Ada that would demonstrate the same thing
that Linux and Microsoft do.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-08 19:51                   ` Wes Groleau
@ 2004-06-08 22:26                     ` Hyman Rosen
  0 siblings, 0 replies; 216+ messages in thread
From: Hyman Rosen @ 2004-06-08 22:26 UTC (permalink / raw)


Wes Groleau wrote:
> "begging the question" and "questions begging to be answered"
> are completely unrelated.  Hyman, you are correcting a mistake
> that was never made.

I don't think your original sentence parses that way,
but fine. Grammar is off-topic anyway.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-08 22:23                       ` Hyman Rosen
@ 2004-06-09  2:27                         ` Warren W. Gay VE3WWG
  2004-06-09  4:41                           ` I R T
                                             ` (2 more replies)
  2004-06-09 12:07                         ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Georg Bauhaus
                                           ` (2 subsequent siblings)
  3 siblings, 3 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-09  2:27 UTC (permalink / raw)


"Hyman Rosen" <hyrosen@mail.com> wrote in message
news:1086733411.736049@master.nyc.kbcfp.com...
> Warren W. Gay VE3WWG wrote:
> > Your assertion that they are so "good" is the point that
...
> No, I'm saying that in absolute terms, people find both
> Linux and Microsoft operating systems and applications
> to be all of those things, and the evidence is the number
> of people using them.

That is fine except that doesn't say that Ada
couldn't improve upon this, were it put to the test.

What other choice do people have?  Do they get to
choose between Ada and C based operating systems?
Not in the general purpose scene AFAIK.

> In c.l.a. you find many posts deriding managers who choose
> to implement systems in C or C++, as if it were somehow
> impossible to do such a thing. As MDC keeps saying, it would
> be nice if you could point to equivalent or equivalently
> large systems in Ada that would demonstrate the same thing
> that Linux and Microsoft do.

But MDC is right in the sense that it  _would_ be
nice to be able to point to something (O/S) in Ada as evidence
to its strengths. Then we'd have something more to compare
with (operating system to operating system). As it stands, we
can only speculate about how much better an Ada based
O/S would be.

You seem to be saying what we have now
is good enough. Some of us, can't agree.

Warren.





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 21:54                   ` Björn Persson
@ 2004-06-09  3:52                     ` I R T
  2004-06-09 12:51                       ` Björn Persson
  0 siblings, 1 reply; 216+ messages in thread
From: I R T @ 2004-06-09  3:52 UTC (permalink / raw)


Bj�rn Persson <spam-away@nowhere.nil> writes:

> I'd say you're not a good
> programmer until you've tried at least two different languages,
> because only then will you be able to see the weaknesses in a
> language. 

But ( to play devils advocate ) why should the second one be
Ada ?

Why not Java ( for practicality ) or Ocaml or Smalltalk ( for something totally
different) ?



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-08 16:09                 ` Warren W. Gay VE3WWG
  2004-06-08 17:30                   ` Hyman Rosen
  2004-06-08 19:51                   ` Wes Groleau
@ 2004-06-09  4:39                   ` I R T
  2004-06-09  8:13                     ` Dmitry A. Kazakov
                                       ` (2 more replies)
  2004-06-15 19:55                   ` Larry Kilgallen
  3 siblings, 3 replies; 216+ messages in thread
From: I R T @ 2004-06-09  4:39 UTC (permalink / raw)


"Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> writes:

> The bottom line is that unless Linux is perfect, you
> cannot state that Ada could not have done better.

Or Smalltalk, Eifel , Lisp, CPL, APL , PLI or any other language.

So what is your point ?

Perhaps angels can be programmed in Ada too...



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09  2:27                         ` Warren W. Gay VE3WWG
@ 2004-06-09  4:41                           ` I R T
  2004-06-09  6:43                             ` Richard  Riehle
  2004-06-09  6:39                           ` Hyman Rosen
  2004-06-09 10:52                           ` Ada operating systems Peter C. Chapin
  2 siblings, 1 reply; 216+ messages in thread
From: I R T @ 2004-06-09  4:41 UTC (permalink / raw)



The very fact that noone has bothered to write a commercial OS in Ada is
itself a datapoint.




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09  2:27                         ` Warren W. Gay VE3WWG
  2004-06-09  4:41                           ` I R T
@ 2004-06-09  6:39                           ` Hyman Rosen
  2004-06-09  7:44                             ` I R T
                                               ` (2 more replies)
  2004-06-09 10:52                           ` Ada operating systems Peter C. Chapin
  2 siblings, 3 replies; 216+ messages in thread
From: Hyman Rosen @ 2004-06-09  6:39 UTC (permalink / raw)


Warren W. Gay VE3WWG wrote:
> That is fine except that doesn't say that Ada
> couldn't improve upon this, were it put to the test.

You still don't understand. The common attitude around here
is that people who choose C and C++ are stupid, misguided,
and wrong. Look at the current thread on rewriting BIND in
Ada - someone asks why, and the response is that the original
is written in C, and isn't that enough of a reason?

But I have shown you systems written in C and C++ that are
responsible for billins in revenue, are used happily and
productively by millions of people, that are maintained by
widely distributed groups of programmers, and so forth. Why
would someone without an axe to grind accept the thesis that
there is something so intrinsically bad about those languages
that choosing them for a new project is absolutely wrong?

> What other choice do people have?  Do they get to
> choose between Ada and C based operating systems?

The fact that no such choices exist invite suspicion that the
other languages are unsuitable for creating them. That certainly
does not help your case. Try to imagine what your statements look
like to an outsider - you are claiming that this vaporware which
doesn't exist and probably never will would be much better than
existing systems that people are already happy with, if only
somebody would write it.

> You seem to be saying what we have now
> is good enough. Some of us, can't agree.

That's fine, but hectoring the rest of us about it isn't going to
help you.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09  4:41                           ` I R T
@ 2004-06-09  6:43                             ` Richard  Riehle
  2004-06-10  6:53                               ` Randy Brukardt
  0 siblings, 1 reply; 216+ messages in thread
From: Richard  Riehle @ 2004-06-09  6:43 UTC (permalink / raw)



"I R T" <rambam@bigpond.net.au> wrote in message
news:hdtlgx6r.fsf@pop-server.bigpond.net.au...
>
> The very fact that noone has bothered to write a commercial OS in Ada is
> itself a datapoint.

I wonder what datapoint you might be suggesting.

Writing a commercial database is a fairly large effort.  The fact that few
have
bothered writing operating systems that compete with Microsoft is a
datapoint?

In fact, several of the Run-time Environments that support Ada are written
in
Ada.  These are mini-OS's targeted to support of bare-board computers.
Further, there have been experimental OS's written in Ada, but those who
have written them are not supported by the financial resources necessary
to turn them into commercial products.

We did miss an opportunity back when the DoD was a principle sponsor
of the language.   If someone had thought to port the idea of P-Code
(now Java bytecode) to Ada so that resulting code would be portable
across any system, we might have a different story today.

If the compiler publishers had a better sense of how to commericialize
Ada instead of raising the cost per seat to a level that could only be
endured by a captive client such as the DoD, Ada might have had
better commercial success and people might have used it for more
applications, including operating system development.   Instead, the
developers found it more convenient to use a readily available language
that required no up-front investment, C, as a the development tool.
Can anyone blame them?

The more I look back at the failure of Ada to capture the interest
of the computer industry, the more I realize that, as Jeff Dunteman
once noted, the compiler publishers deliberately priced it out of
reach of the average commercial developer.   Further, they identified
it within their own organizations as the domain of "federal systems"
sales force, and that sales force had no inclination to push for
commercial sales since they were not likely to get the good commissions
for their efforts.

Ada 95, and GNAT, changed much of that.   Notice that now there are
far fewer Ada compiler publishers than before.   There are certainly no
"checkbox" compilers.   Companies such as Green Hills, DDC-I, and
ACT take their Ada responsibilties seriously, and they continue to
provide good products.   Some others now seem to see Ada as a
necessary evil rather than a market opportunity.  One almost gets
the feeling that some of those other companies would not be unhappy
if Ada simply vanished so they would not have to be bothered by it.

Dissenting views from any compiler publishers?

Richard Riehle

                          OOOOOOPS!  Sorry. I forgot to give kudos to Irvine
                                                    Compiler for hanging in
there too.
>





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09  6:39                           ` Hyman Rosen
@ 2004-06-09  7:44                             ` I R T
  2004-06-09 12:13                               ` Georg Bauhaus
  2004-06-09 12:34                             ` Warren W. Gay VE3WWG
  2004-06-10 12:13                             ` Marin David Condic
  2 siblings, 1 reply; 216+ messages in thread
From: I R T @ 2004-06-09  7:44 UTC (permalink / raw)


Hyman Rosen <hyrosen@mail.com> writes:

> The fact that no such choices exist invite suspicion that the
> other languages are unsuitable for creating them. That certainly
> does not help your case. Try to imagine what your statements look
> like to an outsider - you are claiming that this vaporware which
> doesn't exist and probably never will would be much better than
> existing systems that people are already happy with, if only
> somebody would write it.


The mythical Magic Pudding would be so very tasty if only someone would make it.

!! 





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09  4:39                   ` I R T
@ 2004-06-09  8:13                     ` Dmitry A. Kazakov
  2004-06-09 12:42                       ` Warren W. Gay VE3WWG
  2004-06-09 12:38                     ` Warren W. Gay VE3WWG
  2004-06-09 16:23                     ` Robert I. Eachus
  2 siblings, 1 reply; 216+ messages in thread
From: Dmitry A. Kazakov @ 2004-06-09  8:13 UTC (permalink / raw)


On Wed, 09 Jun 2004 04:39:59 GMT, I R T <rambam@bigpond.net.au> wrote:

>"Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> writes:
>
>> The bottom line is that unless Linux is perfect, you
>> cannot state that Ada could not have done better.
>
>Or Smalltalk, Eifel , Lisp, CPL, APL , PLI or any other language.
>
>So what is your point ?

The point is that either revenues or number of customers tell very
little about technical merits of a software product. They are almost
uncorrelated. Talking about perfection people are quickly switching
from technical perfection to marketing one and back. Using an
appropriate period of oscillation one could prove anything...

>Perhaps angels can be programmed in Ada too...

But the fallen ones were in C++! (:-))

--
Regards,
Dmitry Kazakov
www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-07 18:55                 ` Marius Amado Alves
                                     ` (4 preceding siblings ...)
  2004-06-08  9:53                   ` Jano
@ 2004-06-09  8:55                   ` Pascal Obry
  5 siblings, 0 replies; 216+ messages in thread
From: Pascal Obry @ 2004-06-09  8:55 UTC (permalink / raw)



Marius Amado Alves <amado.alves@netcabo.pt> writes:

> But there's no Ada being taught in Europe either.

That's just plain wrong :( Please be careful when saying this kind of
thing. This will gladly be used by Ada detractors !

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|              http://www.obry.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Ada operating systems.
  2004-06-09  2:27                         ` Warren W. Gay VE3WWG
  2004-06-09  4:41                           ` I R T
  2004-06-09  6:39                           ` Hyman Rosen
@ 2004-06-09 10:52                           ` Peter C. Chapin
  2 siblings, 0 replies; 216+ messages in thread
From: Peter C. Chapin @ 2004-06-09 10:52 UTC (permalink / raw)



> But MDC is right in the sense that it  _would_ be
> nice to be able to point to something (O/S) in Ada as evidence
> to its strengths. Then we'd have something more to compare
> with (operating system to operating system). As it stands, we
> can only speculate about how much better an Ada based
> O/S would be.

Does anyone know what the status is of this project:

    	http://www.adaos.net/

The web page appears to be a placeholder but it looks interesting.

Peter



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-08 22:23                       ` Hyman Rosen
  2004-06-09  2:27                         ` Warren W. Gay VE3WWG
@ 2004-06-09 12:07                         ` Georg Bauhaus
  2004-06-11  7:05                           ` Hyman Rosen
  2004-06-09 12:32                         ` Marin David Condic
  2004-06-15 20:34                         ` Larry Kilgallen
  3 siblings, 1 reply; 216+ messages in thread
From: Georg Bauhaus @ 2004-06-09 12:07 UTC (permalink / raw)


Hyman Rosen <hyrosen@mail.com> wrote:
 
: In c.l.a. you find many posts deriding managers who choose
: to implement systems in C or C++, as if it were somehow
: impossible to do such a thing. As MDC keeps saying, it would
: be nice if you could point to equivalent or equivalently
: large systems in Ada that would demonstrate the same thing
: that Linux and Microsoft do.

It won't help. BeOS has been said to be a good OS. It is written
in C++. It hasn't been a huge commercial success. Does the fact that it
hasn't supplanted either Windows or Linux say anything about
whether C++ is a suitable language for OS construction then?

When Plan 9 was planned, the plan included Modula 2 as the
programming language to be used for the kernel. One of the
developers didn't say No but that he was so familiar with C
that he wished the kernel to be written in C. At least this
is part of the story, afaik. Does this say something about
whether Modula-2 is a suitable language for OS construction?

I think this issue needs a multivariate analysis.


-- Georg



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09  7:44                             ` I R T
@ 2004-06-09 12:13                               ` Georg Bauhaus
  0 siblings, 0 replies; 216+ messages in thread
From: Georg Bauhaus @ 2004-06-09 12:13 UTC (permalink / raw)


I R T <rambam@bigpond.net.au> wrote:
 
: The mythical Magic Pudding would be so very tasty if only someone would make it.
: 
: !! 

The very fact that there is an idea of a Magic Pudding
drives forces. Sometimes the idea is the only incentive.
One set of ideas has given birth to a libre operating system.
Why do some ideas "succeed"?



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-08 22:23                       ` Hyman Rosen
  2004-06-09  2:27                         ` Warren W. Gay VE3WWG
  2004-06-09 12:07                         ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Georg Bauhaus
@ 2004-06-09 12:32                         ` Marin David Condic
  2004-06-15 20:34                         ` Larry Kilgallen
  3 siblings, 0 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-09 12:32 UTC (permalink / raw)


I don't know if that's *exactly* what I'm saying, but I think get your 
point - and probably agree with it. There *are* large, successful 
systems in Ada - but not "large" in the commercial sense of "large". Ada 
would be better off if it had some million-user sized systems out there 
with a little sticker on the bottom of the windowpane saying "Ada 
Inside". If that's what you mean, then I think I agree.

MDC

Hyman Rosen wrote:
> 
> In c.l.a. you find many posts deriding managers who choose
> to implement systems in C or C++, as if it were somehow
> impossible to do such a thing. As MDC keeps saying, it would
> be nice if you could point to equivalent or equivalently
> large systems in Ada that would demonstrate the same thing
> that Linux and Microsoft do.


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09  6:39                           ` Hyman Rosen
  2004-06-09  7:44                             ` I R T
@ 2004-06-09 12:34                             ` Warren W. Gay VE3WWG
  2004-06-09 21:13                               ` Hyman Rosen
  2004-06-10 12:13                             ` Marin David Condic
  2 siblings, 1 reply; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-09 12:34 UTC (permalink / raw)


Hyman Rosen wrote:
> Warren W. Gay VE3WWG wrote:
> 
>> That is fine except that doesn't say that Ada
>> couldn't improve upon this, were it put to the test.
> 
> You still don't understand. The common attitude around here
> is that people who choose C and C++ are stupid, misguided,
> and wrong. Look at the current thread on rewriting BIND in
> Ada - someone asks why, and the response is that the original
> is written in C, and isn't that enough of a reason?

Oh, but I do understand. But evidently we understand
things differently (I can live with that).

As far as rewriting BIND, why must you be critical of
that. So far we have identified that Ada is sadly
missing in the operating systems arena. Sounds like
you would give the same treatment to that kind of
project as well. IOW, you are either hostile to Ada
or you think what we already have is "good enough",
and no improvements should be attempted.

I believe, either point of view is short sighted ;-)

> But I have shown you systems written in C and C++ that are
> responsible for billins in revenue, are used happily and

And sometimes very unhappily, if you remember any of the
Windows 3.1 experience. Win3k, WinXp still crashes. Linux
still panics from time to time. Security vulnerabilities
exist on so many platforms. Ask all those poor folks
about how they felt about their virus infected computers,
that they had to beg borrow or steal a solution for (or
had to pay someone to reinstall everything). I'll bet
they were less than happy ;-)

> productively by millions of people, 

How productive is it keeping your virus signatures up
to date, or reinstalling after a disaster because some
poor sap doesn't know how to do a windows update, or
keep virus signatures up to date. A lot of non-computer
people are really struggling with this now. This is
less than happy and productive!

> widely distributed groups of programmers, and so forth. Why
> would someone without an axe to grind accept the thesis that
> there is something so intrinsically bad about those languages
> that choosing them for a new project is absolutely wrong?

And people keep pointing out (like I just did) that the
computing world is less than a happy productive efficient
world that you claim it to be. You must live a sheltered
life, or don't have relatives/friends calling you for
help with their PC woes.

>> What other choice do people have?  Do they get to
>> choose between Ada and C based operating systems?
> 
> The fact that no such choices exist invite suspicion that the
> other languages are unsuitable for creating them. 

That is certainly one possibility. But there are also many
other suspects that are even more likely (see other posts
in this thread).

> does not help your case. Try to imagine what your statements look
> like to an outsider - you are claiming that this vaporware which

Everyone is concious of this fact (at least as far as
operating systems go). Hence the reason for "pining for
something to point to." ;-)

> doesn't exist and probably never will would be much better than
> existing systems that people are already happy with, if only
> somebody would write it.

People are saying there are reasons to believe this. You
don't necessarily have to agree, but we can discuss it.

>> You seem to be saying what we have now
>> is good enough. Some of us, can't agree.
> 
> That's fine, but hectoring the rest of us about it isn't going to
> help you.

Was I "hectoring"? I thought I responding to
some points and counter-claims.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09  4:39                   ` I R T
  2004-06-09  8:13                     ` Dmitry A. Kazakov
@ 2004-06-09 12:38                     ` Warren W. Gay VE3WWG
  2004-06-09 16:23                     ` Robert I. Eachus
  2 siblings, 0 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-09 12:38 UTC (permalink / raw)


I R T wrote:
> "Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> writes:
>>The bottom line is that unless Linux is perfect, you
>>cannot state that Ada could not have done better.
> 
> Or Smalltalk, Eifel , Lisp, CPL, APL , PLI or any other language.
> 
> So what is your point ?

You'll recall that my point was:

  "you cannot state that Ada could not have done better."

Do I really need to explain that?
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09  8:13                     ` Dmitry A. Kazakov
@ 2004-06-09 12:42                       ` Warren W. Gay VE3WWG
  0 siblings, 0 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-09 12:42 UTC (permalink / raw)


Dmitry A. Kazakov wrote:
> On Wed, 09 Jun 2004 04:39:59 GMT, I R T <rambam@bigpond.net.au> wrote:
>>"Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> writes:
>>>The bottom line is that unless Linux is perfect, you
>>>cannot state that Ada could not have done better.
>>
>>Or Smalltalk, Eifel , Lisp, CPL, APL , PLI or any other language.
>>
>>So what is your point ?
> 
> The point is that either revenues or number of customers tell very
> little about technical merits of a software product. They are almost
> uncorrelated. Talking about perfection people are quickly switching
> from technical perfection to marketing one and back. Using an
> appropriate period of oscillation one could prove anything...

A case in point was the INFORMIX database software. It was
years ahead of DB2, before IBM bought the company. But
INFORMIX didn't manage to "sell" it well, and perhaps
there were customer service issues as well. But technically,
it was a nice clean relational database, compared to the
muddled Oracle database product. Yet, Oracle is accepted
as the "normal" choice for standardization in many places.

>>Perhaps angels can be programmed in Ada too...
> 
> But the fallen ones were in C++! (:-))

:)

-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-09  3:52                     ` I R T
@ 2004-06-09 12:51                       ` Björn Persson
  2004-06-10  2:58                         ` Wes Groleau
  0 siblings, 1 reply; 216+ messages in thread
From: Björn Persson @ 2004-06-09 12:51 UTC (permalink / raw)


I R T wrote:

> Björn Persson <spam-away@nowhere.nil> writes:
> 
> 
>>I'd say you're not a good
>>programmer until you've tried at least two different languages,
>>because only then will you be able to see the weaknesses in a
>>language. 
> 
> 
> But ( to play devils advocate ) why should the second one be
> Ada ?
> 
> Why not Java ( for practicality ) or Ocaml or Smalltalk ( for something totally
> different) ?

I know too little about Ocaml and Smalltalk to make any statements. As 
for Java, to some extent for the same reason why C++ doesn't count as a 
second language - that it is so similar to C. (It has inherited the 
switch-break idiocy and the if(a=0) bug for example.) And in this case, 
because Java isn't for low-level programming.

-- 
Björn Persson

jor ers @sv ge.
b n_p son eri nu




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09  4:39                   ` I R T
  2004-06-09  8:13                     ` Dmitry A. Kazakov
  2004-06-09 12:38                     ` Warren W. Gay VE3WWG
@ 2004-06-09 16:23                     ` Robert I. Eachus
  2004-06-09 16:38                       ` Marius Amado Alves
  2 siblings, 1 reply; 216+ messages in thread
From: Robert I. Eachus @ 2004-06-09 16:23 UTC (permalink / raw)


I R T wrote:

> "Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> writes:
> 
> 
>>The bottom line is that unless Linux is perfect, you
>>cannot state that Ada could not have done better.
> 
> 
> Or Smalltalk, Eifel , Lisp, CPL, APL , PLI or any other language.
> 
> So what is your point ?

Speaking from personal opinion, the operating systems that I used that 
were programmed in PL/I were much better than those I used that were 
written in C.  (I have significant personal experience with Multics and 
Stratus VOS, having used both for years and done some maintenance on 
both.  PrimOS was also written in PL/I, but I had little experience with 
it.  Just a data point...

> Perhaps angels can be programmed in Ada too...

I don't know about angels, but I have worked on real-time projects where 
the OS had to be developed in Ada because the existing C "hard real 
time" OSes were anything but.*   My experience -- remember this is a 
special purpose OS not a more general OS -- was that writing the kernel, 
given a good Ada compiler that targeted the bare metal was no big deal. 
  In fact we spent a lot more time (order of 10x) defining the kernel 
interface than in implementing it.

*We were real mad at Sun.  Solaris trumpeted the fact that it supported 
hard real time, and it took us days to find out that it didn't.  But 
once we did, it was easy to find the "bug report" that explained that 
the kernel did not correctly implement the real-time interface, and 
IGNORED some of the parameters dealing with timing.  When we contacted 
Sun, they confirmed that this 'bug' existed, and was not being fixed in 
the next OS release (Solaris 7).  For all I know that is still the state 
of affairs.

-- 

                                           Robert I. Eachus

"The terrorists rejoice in the killing of the innocent, and have 
promised similar violence against Americans, against all free peoples, 
and against any Muslims who reject their ideology of murder. Their 
barbarism cannot be appeased, and their hatred cannot be satisfied. 
There's only one way to deal with terror: We must confront the enemy and 
stay on the offensive until these killers are defeated." -- George W. Bush




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09 16:23                     ` Robert I. Eachus
@ 2004-06-09 16:38                       ` Marius Amado Alves
  2004-06-09 20:51                         ` Robert I. Eachus
  2004-06-10 12:43                         ` Marin David Condic
  0 siblings, 2 replies; 216+ messages in thread
From: Marius Amado Alves @ 2004-06-09 16:38 UTC (permalink / raw)
  To: comp.lang.ada

 > ... was that writing the kernel,
> given a good Ada compiler that targeted the bare metal was no big deal. 
>  In fact we spent a lot more time (order of 10x) defining the kernel 
> interface than in implementing it.

Is this work shareable? Does it have a name? Does AdaOS know it?




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09 16:38                       ` Marius Amado Alves
@ 2004-06-09 20:51                         ` Robert I. Eachus
  2004-06-10 12:43                         ` Marin David Condic
  1 sibling, 0 replies; 216+ messages in thread
From: Robert I. Eachus @ 2004-06-09 20:51 UTC (permalink / raw)


Marius Amado Alves wrote:
>  > ... was that writing the kernel,
> 
>> given a good Ada compiler that targeted the bare metal was no big 
>> deal.  In fact we spent a lot more time (order of 10x) defining the 
>> kernel interface than in implementing it.
> 
> 
> Is this work shareable? Does it have a name? Does AdaOS know it?


Short answer: No.

The work was done on a classified project, and although I was able to 
bring some of the work out from behind the veil, the kernel was a 
definite no-no.  The fear is that if bugs are found, then the bad guys 
could exploit them in a combat situation.  In practice that is much more 
applicable to the radar portion of the software, and I can't imagine 
that today's potential enemies have the technical knowhow to exploit any 
weaknesses, but rules are rules.

However, you could check on PCTE.  That is a published standard, and it 
could save you lots of effort on building a useful Ada only OS.  (Of 
course, any OS is going to need a few instructions that are not 
available in any programming language directly.  But I think GNAT will 
let you write them as code-inserts.

-- 

                                           Robert I. Eachus

"The terrorists rejoice in the killing of the innocent, and have 
promised similar violence against Americans, against all free peoples, 
and against any Muslims who reject their ideology of murder. Their 
barbarism cannot be appeased, and their hatred cannot be satisfied. 
There's only one way to deal with terror: We must confront the enemy and 
stay on the offensive until these killers are defeated." -- George W. Bush




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09 12:34                             ` Warren W. Gay VE3WWG
@ 2004-06-09 21:13                               ` Hyman Rosen
  2004-06-10  2:51                                 ` Wes Groleau
  0 siblings, 1 reply; 216+ messages in thread
From: Hyman Rosen @ 2004-06-09 21:13 UTC (permalink / raw)


Warren W. Gay VE3WWG wrote:
> As far as rewriting BIND, why must you be critical of that.

I am not critical about rewriting BIND in Ada.
I think it's a great idea, because it would serve
as a nice showcase for Ada's features. I was being
critical about people who say that it should be
rewritten simply because it is now written in C.

Now, will this actually happen? Well, we'll see.

> you are either hostile to Ada or you think what
 > we already have is "good enough"

Neither. I am merely hostile to claims of how much
better this program would be in Ada, if only someone
would write it. I am also hostile to claims that C++
can be chosen only through stupidity.

> And sometimes very unhappily...
> How productive is it keeping your virus signatures up...

Cars overheat, break down, get flat tires, wear out,
need to be inspected, and need parts replaced. They
have assorted design flaws that result in numerous
recalls for repairs. That does not prevent millions
of people from productively using them, and indeed
loving them.

As I keep saying, you cannot use vaporware as evidence
for the superiority of your chosen language. Any version
of Windows, no matter how error prone, is superior to the
most perfect AdaOS if that doesn't exist.

You keep saying - see this system written in C, look at its
flaws. I say - show me a similar system written in Ada that
lacks those flaws.

> Everyone is concious of this fact (at least as far as
> operating systems go). Hence the reason for "pining for
> something to point to." ;-)

I may be wrong, but even GNAT seems to serve as a counterexample.
Every time someone breathes on the underlying GCC, it seems that
GNAT stops working with it.

> Was I "hectoring"? I thought I responding to some points and
 > counter-claims.

Not you in particular. Just the general attitude here.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-07 17:44               ` Hyman Rosen
  2004-06-08 16:09                 ` Warren W. Gay VE3WWG
@ 2004-06-09 23:45                 ` Richard  Riehle
  2004-06-10 12:58                   ` Marin David Condic
  2004-06-11 18:03                   ` Russ
  1 sibling, 2 replies; 216+ messages in thread
From: Richard  Riehle @ 2004-06-09 23:45 UTC (permalink / raw)



"Hyman Rosen" <hyrosen@mail.com> wrote in message
news:1086630278.542788@master.nyc.kbcfp.com...
>
> In absolute terms. Linux systems, as well as BSD systems which
> are also written in C, stay up for long periods of time and work
> as they are supposed to. Various pieces are always being reworked
> and enhanced, apparently without much difficulty.

There is no reason why someone could not write an OS in Ada. There
is some reason to wonder whether this would be a good use of
programmer resources given the current state of the market for
Operating Systems.   C and C++ can be, and have been, used with
comparitively good success in writing Operating Systems.  Expert
programmers can do good work in nearly any language, even Ada,
Eiffel, D, Forth, Pascal, Assembler, or [your favorite goes here].

The operating systems written in C or C++ are well-known to be
vulnerable to security violations, some of which are directly related
to features of the languages in which they are written.  Those identical
violations would be impossible for an OS written in Ada.

On the other hand, one cannot predict what vulnerabilities would
be discovered for an OS written in Ada.  I have no doubt there
would be some vulnerabilities.  Would they be as severe as those
in OS's written in the C family of languages?  No one can answer
that for certain.

I happen to prefer Ada over C++ for most things.  The more time
I spend with C++ (alas, I am forced to do so part of the time) the
more I dislike it.   This is a personal preference, but one derived from
experience.  Ada too has features I dislike, but not as many of them
as C++.    So far, I have not discovered the perfect (or even the
ideal) programming language that fits every situation.   I don't expect
to during my few remaining years as a carbon-based, oxygen breathing
organism.

Richard Riehle






^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09 21:13                               ` Hyman Rosen
@ 2004-06-10  2:51                                 ` Wes Groleau
  2004-06-10 15:57                                   ` Hyman Rosen
  0 siblings, 1 reply; 216+ messages in thread
From: Wes Groleau @ 2004-06-10  2:51 UTC (permalink / raw)


Hyman Rosen wrote:
> I may be wrong, but even GNAT seems to serve as a counterexample.
> Every time someone breathes on the underlying GCC, it seems that
> GNAT stops working with it.

Maybe that's because the "underlying gcc" is written in C. :-)

-- 
Wes Groleau

    "A man with an experience is never
     at the mercy of a man with an argument."
                       -- Ron Allen



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada in colleges and universities.
  2004-06-09 12:51                       ` Björn Persson
@ 2004-06-10  2:58                         ` Wes Groleau
  0 siblings, 0 replies; 216+ messages in thread
From: Wes Groleau @ 2004-06-10  2:58 UTC (permalink / raw)


Bj�rn Persson wrote:
> I R T wrote:
>> Bj�rn Persson <spam-away@nowhere.nil> writes:
>>
>>> I'd say you're not a good
>>> programmer until you've tried at least two different languages,
>>> because only then will you be able to see the weaknesses in a
>>> language. 
>>
>> But ( to play devils advocate ) why should the second one be
>> Ada ?

It shouldn't.  The _first_ one should be Ada.  ;-)

-- 
Wes Groleau
Alive and Well
http://freepages.religions.rootsweb.com/~wgroleau/



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09  6:43                             ` Richard  Riehle
@ 2004-06-10  6:53                               ` Randy Brukardt
  2004-06-12  3:16                                 ` Robert I. Eachus
  0 siblings, 1 reply; 216+ messages in thread
From: Randy Brukardt @ 2004-06-10  6:53 UTC (permalink / raw)


"Richard Riehle" <adaworks@earthlink.net> wrote in message
news:fkyxc.7649$uX2.6475@newsread2.news.pas.earthlink.net...
...
> We did miss an opportunity back when the DoD was a principle sponsor
> of the language.   If someone had thought to port the idea of P-Code
> (now Java bytecode) to Ada so that resulting code would be portable
> across any system, we might have a different story today.

I think *everybody* had that idea back then. Certainly, we designed and used
such a code in Janus/Ada; it's still the primary intermediate form. And we
had intended to make interpreted versions available on various platforms.
But the realities of the hardware of the time prevented us from using
interpreters -- when programs took minutes to get anything done, doubling
the time simply wasn't acceptable.

And, of course, we didn't have the balls to go around telling everyone that
what generally was considered an inferior technology was actually a good
idea. You have to give Sun credit for convincing many people of that (even
though the cases where it would help are rare).

                         Randy.







^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09  6:39                           ` Hyman Rosen
  2004-06-09  7:44                             ` I R T
  2004-06-09 12:34                             ` Warren W. Gay VE3WWG
@ 2004-06-10 12:13                             ` Marin David Condic
  2004-06-11 12:48                               ` Warren W. Gay VE3WWG
  2 siblings, 1 reply; 216+ messages in thread
From: Marin David Condic @ 2004-06-10 12:13 UTC (permalink / raw)


Rewriting an existing system in a new language is mostly a waste of time 
unless a) The existing implementation is so bad that it can only really 
be fixed by tossing it out and starting again or b) You intend to add 
some significant new capability that can't be easily added to the 
existing system. I'd agree that just because a program is written in C 
or C++ is not on the face of it a justification for rewriting it in Ada. 
Solid systems can and have been written in other languages and rewriting 
them in Ada doesn't add any real value. It would be far more productive 
to develop something *new* that gave the world some capability it didn't 
already have.

MDC

Hyman Rosen wrote:
> 
> But I have shown you systems written in C and C++ that are
> responsible for billins in revenue, are used happily and
> productively by millions of people, that are maintained by
> widely distributed groups of programmers, and so forth. Why
> would someone without an axe to grind accept the thesis that
> there is something so intrinsically bad about those languages
> that choosing them for a new project is absolutely wrong?
> 

-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09 16:38                       ` Marius Amado Alves
  2004-06-09 20:51                         ` Robert I. Eachus
@ 2004-06-10 12:43                         ` Marin David Condic
  1 sibling, 0 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-10 12:43 UTC (permalink / raw)


There have been other RTOS's done in Ada that have been out and 
available. (RTEMS was one. MaRTE was another) Its been suggested that 
they might make a good starting point for developing something more 
along the lines of a PC/Workstation OS. Something like that would 
constitute "A Good Start" towards having a viable Ada operating system - 
and possibly one with product distinction. ("Sure you can use Windows, 
but it doesn't have a 'Realtime Mode', so it isn't suitable for a whole 
class of applications... Or, you could use this Ada OS I happen to have 
in my back pocket... ;-)

But as far as I can tell, AdaOS is a hobby and isn't making lots of 
headway. (Possibly setting its initial aims too high?) Someone would 
have to see either some academic research interest or commercial 
interest in trying to go build a working OS since it is a lot of work 
and isn't likely to show steady progress unless someone is getting paid 
to do it.

MDC


Marius Amado Alves wrote:
> 
> Is this work shareable? Does it have a name? Does AdaOS know it?
> 


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09 23:45                 ` Richard  Riehle
@ 2004-06-10 12:58                   ` Marin David Condic
  2004-06-11 18:03                   ` Russ
  1 sibling, 0 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-10 12:58 UTC (permalink / raw)


An OS targeted to some under-served segment of the market might make 
some sense. I've suggested that a Windows-ish thing that could run one 
or more processes in "Realtime" mode might find some use. Also, the OS's 
I've seen for Digital TV Settop Boxes were mostly pretty weak and its an 
emerging market that doesn't yet have an all-dominating standard. There 
might be other possibilities as well - such as an OS that caters to 
large numbers of multiprocessors, or an OS designed to take advantage of 
emerging technological possibilities with large non-volatile memories, 
or an OS aiming to take advantage of the merging of telecommunication 
technologies (you're home computer being your telephone and your tv set 
and maybe a few other things as well?) Find a way of saying that an Ada 
OS offers some functionality you don't already have available with 
Windows or Linux or MacOS (or whatever) and you have some possible 
direction to go down to justify why an Ada OS might work.

If someone is serious about making an Ada OS then I'd suggest finding 
one of these under-served segments, getting creative in how to address 
it and start working on something minimal enough to get out there and be 
usable in some regard. From a working prototype it might be possible to 
build a business - or a whole industry. But it won't happen by simply 
trying to supplant Windows and doing it as a hobby.

MDC


Richard Riehle wrote:
> 
> There is no reason why someone could not write an OS in Ada. There
> is some reason to wonder whether this would be a good use of
> programmer resources given the current state of the market for
> Operating Systems.   C and C++ can be, and have been, used with
> comparitively good success in writing Operating Systems.  Expert
> programmers can do good work in nearly any language, even Ada,
> Eiffel, D, Forth, Pascal, Assembler, or [your favorite goes here].


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-10  2:51                                 ` Wes Groleau
@ 2004-06-10 15:57                                   ` Hyman Rosen
  2004-06-10 17:18                                     ` Pascal Obry
  0 siblings, 1 reply; 216+ messages in thread
From: Hyman Rosen @ 2004-06-10 15:57 UTC (permalink / raw)


Wes Groleau wrote:
> Maybe that's because the "underlying gcc" is written in C. :-)

Maybe so, but interfacing with C libraries is probably universal
for real-life Ada programs, and the difficulties involved can't
be minimized away. For one thing, if GNAT were written in C, then
people who changed the underlying gcc could go through the GNAT
code and find where the changes affected that, and do updates.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-10 15:57                                   ` Hyman Rosen
@ 2004-06-10 17:18                                     ` Pascal Obry
  0 siblings, 0 replies; 216+ messages in thread
From: Pascal Obry @ 2004-06-10 17:18 UTC (permalink / raw)



Hyman Rosen <hyrosen@mail.com> writes:

> Wes Groleau wrote:
> > Maybe that's because the "underlying gcc" is written in C. :-)
> 
> Maybe so, but interfacing with C libraries is probably universal

You are just missing the point, how sad it is to see that you are
pushing a bit too hard by making just stupid statements like this one!

Look, GNAT is based on GCC backend. Now suppose that the GCC backend changes
some interfaces, worst than that, that the GCC backend changes the way to
use it (implementation of new optimizations that requires some more
information from the frontend)... How is this supposed to work without
changing the frontend ? The point is that it just requires some work (sometime
lot of work to comply to new backend requirements) and this work takes
time.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|              http://www.obry.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09 12:07                         ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Georg Bauhaus
@ 2004-06-11  7:05                           ` Hyman Rosen
  2004-06-11 15:07                             ` Georg Bauhaus
  0 siblings, 1 reply; 216+ messages in thread
From: Hyman Rosen @ 2004-06-11  7:05 UTC (permalink / raw)


Georg Bauhaus wrote:
> It won't help. BeOS has been said to be a good OS. It is written
> in C++. It hasn't been a huge commercial success. Does the fact that it
> hasn't supplanted either Windows or Linux say anything about
> whether C++ is a suitable language for OS construction then?

No.

> When Plan 9 was planned, the plan included Modula 2 as the
> programming language to be used for the kernel. One of the
> developers didn't say No but that he was so familiar with C
> that he wished the kernel to be written in C. At least this
> is part of the story, afaik. Does this say something about
> whether Modula-2 is a suitable language for OS construction?

Yes.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-10 12:13                             ` Marin David Condic
@ 2004-06-11 12:48                               ` Warren W. Gay VE3WWG
  2004-06-11 17:31                                 ` Marin David Condic
  2004-06-11 17:53                                 ` Hyman Rosen
  0 siblings, 2 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-11 12:48 UTC (permalink / raw)


Marin David Condic wrote:

> Rewriting an existing system in a new language is mostly a waste of time 
> unless a) The existing implementation is so bad that it can only really 
> be fixed by tossing it out and starting again or b) You intend to add 
> some significant new capability that can't be easily added to the 
> existing system. I'd agree that just because a program is written in C 
> or C++ is not on the face of it a justification for rewriting it in Ada. 
> Solid systems can and have been written in other languages and rewriting 
> them in Ada doesn't add any real value. It would be far more productive 
> to develop something *new* that gave the world some capability it didn't 
> already have.
> 
> MDC

You missed another good reason: c) improved security. Any daemon or process
that interfaces with the wild wooly world out there, should be very
secure (perfectly secure if theoretically possible). I think Ada can
add some real value in this particular area, to the many "services"
currently written in C/C++.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-11  7:05                           ` Hyman Rosen
@ 2004-06-11 15:07                             ` Georg Bauhaus
  0 siblings, 0 replies; 216+ messages in thread
From: Georg Bauhaus @ 2004-06-11 15:07 UTC (permalink / raw)


Hyman Rosen <hyrosen@mail.com> wrote:
: Georg Bauhaus wrote:
:> 
:> [BeOS: C++. Excellent OS] Does the fact that it
:> hasn't supplanted either Windows or Linux say anything about
:> whether C++ is a suitable language for OS construction then?
: 
: No.

:> [Plan 9: exceptional C, designer wanted Modula-2]
:> Does this say something about
:> whether Modula-2 is a suitable language for OS construction?
: 
: Yes.

O.K., what in the presence of operating systems written in Modula-2?



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-11 12:48                               ` Warren W. Gay VE3WWG
@ 2004-06-11 17:31                                 ` Marin David Condic
  2004-06-14  2:30                                   ` Berend de Boer
  2004-06-11 17:53                                 ` Hyman Rosen
  1 sibling, 1 reply; 216+ messages in thread
From: Marin David Condic @ 2004-06-11 17:31 UTC (permalink / raw)


That makes the possibly unwarranted assumptions that a) the original 
program is just inherently insecure because it was written in C/C++ and 
b) that implementation in Ada guarantees security. Neither assumption is 
of necessity true.

If the original program is insecure and inherently so, that is probably 
a reflection of my first condition: "The existing implementation is so 
bad that it can only really be fixed by tossing it out and starting 
again" But you *can* write a perfectly secure, reliable system in 
languages other than Ada. Maybe (maybe!) it requires more work, but it 
*can* be done. So unless the original system has some obvious weaknesses 
you intend to fix, what is the value of doing it in Ada? (Other than 
possibly as a hobby or just because you get a thrill out of knowing that 
your personal implementation is in Ada. To the bulk of the real-world 
users, it doesn't matter that the underlying implementation is in Ada so 
long as it works.)

If the original implementation is rewritten in Ada, that is also an 
opportunity to introduce all sorts of *new* bugs and security leaks. 
Just because its done in Ada doesn't mean the designers/implementors are 
going to automatically get it right and not leave any holes to exploit. 
Possibly, you eliminate one particular type of threat or another, but 
bad implementations in Ada are possible. New implementations are usually 
far weaker than legacy systems that have had the opportunity to be 
beaten about a good deal. So I don't see a compelling reason to go 
rewrite existing apps in Ada just so that they can be in Ada.

Now if someone can say "Let's take System X as a baseline but do it 
differently and add some new and amazing capabilities that will make a 
new app that is far more useful..." then you've got something worth 
discussing.

MDC

Warren W. Gay VE3WWG wrote:
> 
> You missed another good reason: c) improved security. Any daemon or process
> that interfaces with the wild wooly world out there, should be very
> secure (perfectly secure if theoretically possible). I think Ada can
> add some real value in this particular area, to the many "services"
> currently written in C/C++.


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-11 12:48                               ` Warren W. Gay VE3WWG
  2004-06-11 17:31                                 ` Marin David Condic
@ 2004-06-11 17:53                                 ` Hyman Rosen
  2004-06-11 18:56                                   ` Marin David Condic
  1 sibling, 1 reply; 216+ messages in thread
From: Hyman Rosen @ 2004-06-11 17:53 UTC (permalink / raw)


Warren W. Gay VE3WWG wrote:
> You missed another good reason: c) improved security. Any daemon or process
> that interfaces with the wild wooly world out there, should be very
> secure (perfectly secure if theoretically possible). I think Ada can
> add some real value in this particular area, to the many "services"
> currently written in C/C++.

Check out this paper, back from 1995, on the security issues of BIND.
<http://www.usenix.org/publications/library/proceedings/security95/full_papers/vixie.txt>

You will notice that most of the problems mentioned have to do with
attacks against the protocol, by forming messages in various unexpected
ways, by spoofing fields, and by mucking about with connections. Using
a language like Ada (or Java, for that matter) will certainly protect
against buffer overflows, but not against the logical errors described.

That's why it would be really interesting to see an Ada version of BIND.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-09 23:45                 ` Richard  Riehle
  2004-06-10 12:58                   ` Marin David Condic
@ 2004-06-11 18:03                   ` Russ
  2004-06-14 16:16                     ` Warren W. Gay VE3WWG
  1 sibling, 1 reply; 216+ messages in thread
From: Russ @ 2004-06-11 18:03 UTC (permalink / raw)


"Richard  Riehle" <adaworks@earthlink.net> wrote in message news:<CiNxc.8259$uX2.228@newsread2.news.pas.earthlink.net>...
> "Hyman Rosen" <hyrosen@mail.com> wrote in message
> news:1086630278.542788@master.nyc.kbcfp.com...
> >
> > In absolute terms. Linux systems, as well as BSD systems which
> > are also written in C, stay up for long periods of time and work
> > as they are supposed to. Various pieces are always being reworked
> > and enhanced, apparently without much difficulty.
> 
> There is no reason why someone could not write an OS in Ada. There
> is some reason to wonder whether this would be a good use of
> programmer resources given the current state of the market for
> Operating Systems.   C and C++ can be, and have been, used with
> comparitively good success in writing Operating Systems.  Expert
> programmers can do good work in nearly any language, even Ada,
> Eiffel, D, Forth, Pascal, Assembler, or [your favorite goes here].
> 
> The operating systems written in C or C++ are well-known to be
> vulnerable to security violations, some of which are directly related
> to features of the languages in which they are written.  Those identical
> violations would be impossible for an OS written in Ada.
> 
> On the other hand, one cannot predict what vulnerabilities would
> be discovered for an OS written in Ada.  I have no doubt there
> would be some vulnerabilities.  Would they be as severe as those
> in OS's written in the C family of languages?  No one can answer
> that for certain.

Just for my own education, let me ask a few questions here.

What is the state of the art in automated conversion of C code to Ada?

If Linux could be automatically converted to Ada, would the security
benefits of Ada be realized automatically, or would manual
modifications be necessary? If the latter, how difficult would they
be?

> <cut> So far, I have not discovered the perfect (or even the
> ideal) programming language that fits every situation.   I don't expect
> to during my few remaining years as a carbon-based, oxygen breathing
> organism.

See http://juvenon.com for life extension technology. (I have no
connection with it.)



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-11 17:53                                 ` Hyman Rosen
@ 2004-06-11 18:56                                   ` Marin David Condic
  2004-06-11 23:23                                     ` Hyman Rosen
  2004-06-12  3:08                                     ` Ada BIND was: " Robert I. Eachus
  0 siblings, 2 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-11 18:56 UTC (permalink / raw)


So if the protocol is weak and is the source of security errors, then 
how does implementing the same protocol in Ada gain anything? Or would 
it be "interesting" to watch a bunch of guys try to make it so by 
rewriting the exact, same logic flaws in Ada? :-)

OTOH, if you come up with a whole *new* protocol that is designed to add 
security and other beneficial features, then perhaps you have that 
elusive "Enhanced App" that adds genuine value? But, of course, the 
value didn't get added just because it was written in Ada.

MDC

Hyman Rosen wrote:
> 
> Check out this paper, back from 1995, on the security issues of BIND.
> <http://www.usenix.org/publications/library/proceedings/security95/full_papers/vixie.txt> 
> 
> 
> You will notice that most of the problems mentioned have to do with
> attacks against the protocol, by forming messages in various unexpected
> ways, by spoofing fields, and by mucking about with connections. Using
> a language like Ada (or Java, for that matter) will certainly protect
> against buffer overflows, but not against the logical errors described.
> 
> That's why it would be really interesting to see an Ada version of BIND.


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-11 18:56                                   ` Marin David Condic
@ 2004-06-11 23:23                                     ` Hyman Rosen
  2004-06-12  3:08                                     ` Ada BIND was: " Robert I. Eachus
  1 sibling, 0 replies; 216+ messages in thread
From: Hyman Rosen @ 2004-06-11 23:23 UTC (permalink / raw)


Marin David Condic wrote:
> Or would it be "interesting" to watch a bunch of guys try to make it
 > so by  rewriting the exact, same logic flaws in Ada? :-)

Yes, that's what I'm thinking would happen. But perhaps Ada lends itself
to better design techniques, and we also have the lessons of hindsight.
And it's a relatively small system. So it's a chance to show off, if
someone chooses to take it.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-11 18:56                                   ` Marin David Condic
  2004-06-11 23:23                                     ` Hyman Rosen
@ 2004-06-12  3:08                                     ` Robert I. Eachus
  2004-06-12 12:03                                       ` Marin David Condic
  1 sibling, 1 reply; 216+ messages in thread
From: Robert I. Eachus @ 2004-06-12  3:08 UTC (permalink / raw)


Marin David Condic wrote:

> So if the protocol is weak and is the source of security errors, then 
> how does implementing the same protocol in Ada gain anything? Or would 
> it be "interesting" to watch a bunch of guys try to make it so by 
> rewriting the exact, same logic flaws in Ada? :-)
> 
> OTOH, if you come up with a whole *new* protocol that is designed to add 
> security and other beneficial features, then perhaps you have that 
> elusive "Enhanced App" that adds genuine value? But, of course, the 
> value didn't get added just because it was written in Ada.

No this is a case where implementing the protocols securely is what is 
needed.  BIND doesn't do as much sanity checking as it should, and that 
provides openings for malicious hackers.

-- 

                                           Robert I. Eachus

The ideology he opposed throughout his political life insisted that 
history was moved by impersonal tides and unalterable fates. Ronald 
Reagan believed instead in the courage and triumph of free men and we 
believe it all the more because we saw that courage in him.  -- George 
W. Bush June 11, 2004




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-10  6:53                               ` Randy Brukardt
@ 2004-06-12  3:16                                 ` Robert I. Eachus
  0 siblings, 0 replies; 216+ messages in thread
From: Robert I. Eachus @ 2004-06-12  3:16 UTC (permalink / raw)


Randy Brukardt wrote:

> "Richard Riehle" <adaworks@earthlink.net> wrote in message
> news:fkyxc.7649$uX2.6475@newsread2.news.pas.earthlink.net...
> ...
> 
>>We did miss an opportunity back when the DoD was a principle sponsor
>>of the language.   If someone had thought to port the idea of P-Code
>>(now Java bytecode) to Ada so that resulting code would be portable
>>across any system, we might have a different story today.
> 
> 
> I think *everybody* had that idea back then. Certainly, we designed and used
> such a code in Janus/Ada; it's still the primary intermediate form. And we
> had intended to make interpreted versions available on various platforms.
> But the realities of the hardware of the time prevented us from using
> interpreters -- when programs took minutes to get anything done, doubling
> the time simply wasn't acceptable.

Remember that there was an early Ada compiler validated on a hardware 
P-code machine.  (I'm trying to remember the name of David Fisher's 
company, immediately after bought out by Western Digital.)  If they or 
Telesoft, another company with a P-code heritage, had done a good job of 
marketing, they probably could have used Ada to keep P-code alive.

And of course, as I have said, the govenment attempts to build an Ada 
development environment all got hugely bloated and were too big and slow 
for the systems of that day.  For all I know some of that code might 
actually be worth using now, and it still exists. ;-)

-- 

                                           Robert I. Eachus

The ideology he opposed throughout his political life insisted that 
history was moved by impersonal tides and unalterable fates. Ronald 
Reagan believed instead in the courage and triumph of free men and we 
believe it all the more because we saw that courage in him.  -- George 
W. Bush June 11, 2004




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-12  3:08                                     ` Ada BIND was: " Robert I. Eachus
@ 2004-06-12 12:03                                       ` Marin David Condic
  2004-06-12 12:47                                         ` Jeff C,
                                                           ` (2 more replies)
  0 siblings, 3 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-12 12:03 UTC (permalink / raw)


If that's the case, then why not work on simply adding some sanity 
checking to BIND? I'm not up on this particular program, but I wanted to 
make the point that rewriting an existing app in Ada is not usually a 
productive use of time unless there are structural flaws or added 
features. If the basic protocol is sound and the basic BIND program is 
sound and all it needs are some sanity checks, then it would seem like a 
smaller job to add the sanity checks than to rewrite the whole thing.

While I'm a believer in Ada, I don't think that coding an app up in Ada 
somehow makes it *better* just by that very fact. Nobody buys programs 
just because it says "Ada Inside" - so its important to add something 
more. Given limited resources, it would seem more productive to come up 
with something new and innovative rather than take existing apps and 
recode them in Ada just to have an Ada version.

MDC


Robert I. Eachus wrote:
> 
> No this is a case where implementing the protocols securely is what is 
> needed.  BIND doesn't do as much sanity checking as it should, and that 
> provides openings for malicious hackers.
> 


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-12 12:03                                       ` Marin David Condic
@ 2004-06-12 12:47                                         ` Jeff C,
  2004-06-13 12:22                                           ` Marin David Condic
  2004-06-13  6:08                                         ` Russ
  2004-06-16 13:38                                         ` Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Larry Kilgallen
  2 siblings, 1 reply; 216+ messages in thread
From: Jeff C, @ 2004-06-12 12:47 UTC (permalink / raw)



"Marin David Condic" <nobody@noplace.com> wrote in message
news:40CAF0E1.4000904@noplace.com...
> While I'm a believer in Ada, I don't think that coding an app up in Ada
> somehow makes it *better* just by that very fact. Nobody buys programs
> just because it says "Ada Inside" - so its important to add something
> more. Given limited resources, it would seem more productive to come up
> with something new and innovative rather than take existing apps and
> recode them in Ada just to have an Ada version.
>

While I generally agree with this sentiment, it is thinking "like" this that
would prevent someone from doing something crazy like

"I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones.  This has been brewing
since april, and is starting to get ready.  I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things)."

Which is how Linus announced he was starting Linux.

Of course I have seen hundres of similarly bold announcements by software
people over the years that go nowhere.

I think us bitter old men are just too cynical sometimes....It comes from
experience of course...but who knows..maybe this Ada bind thing will really
get completed and be good....





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-12 12:03                                       ` Marin David Condic
  2004-06-12 12:47                                         ` Jeff C,
@ 2004-06-13  6:08                                         ` Russ
  2004-06-13 10:28                                           ` Georg Bauhaus
                                                             ` (2 more replies)
  2004-06-16 13:38                                         ` Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Larry Kilgallen
  2 siblings, 3 replies; 216+ messages in thread
From: Russ @ 2004-06-13  6:08 UTC (permalink / raw)


Marin David Condic <nobody@noplace.com> wrote in message news:<40CAF0E1.4000904@noplace.com>...

> While I'm a believer in Ada, I don't think that coding an app up in Ada 
> somehow makes it *better* just by that very fact. Nobody buys programs 
> just because it says "Ada Inside" - so its important to add something 
> more. Given limited resources, it would seem more productive to come up 
> with something new and innovative rather than take existing apps and 
> recode them in Ada just to have an Ada version.

You seem to assume that the "recoding in Ada" is a labor-intensive
manual process. But what if it could be automated? I'm an aerospace
engineer, and I don't know much about automated C-to-Ada conversion,
but I think its at least worth consdering. Certainly the resulting Ada
code would have *some* of the benefits of Ada.

I understand that a crappy design will still be a crappy design even
in Ada, but if the original C application works reasonably well,
perhaps the automated Ada conversion could be manually tweaked to
improve security, reliability, or some other aspect. That certainly
seems like a more attractive option than manually rewriting the whole
thing.

Speaking of crappy designs, I sense some disdain for Linux here
because it is written it C. I suggest you all get over that and fast,
or you will just make fools of yourselves. I suggested a long time ago
here that C is to Ada as a motorcycle is to a car. It's not nearly as
safe, but experts can use it effectively. Needless to say, Linux was
written by top exerts. That's not to say that it couldn't be done
better in Ada, but you can't simply assume that.

I think the first step is to try an automated conversion of Linux to
Ada, then go from there. I would try it myself, but I wouldn't know
how to compile a kernel if it was staring me in the face. As I said,
I'm an aerospace engineer.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-13  6:08                                         ` Russ
@ 2004-06-13 10:28                                           ` Georg Bauhaus
  2004-06-13 14:49                                             ` Stephen Leake
  2004-06-13 20:51                                             ` Russ
  2004-06-13 23:15                                           ` Robert I. Eachus
  2004-06-14 16:43                                           ` Warren W. Gay VE3WWG
  2 siblings, 2 replies; 216+ messages in thread
From: Georg Bauhaus @ 2004-06-13 10:28 UTC (permalink / raw)


Russ <18k11tm001@sneakemail.com> wrote:
 
: I suggested a long time ago
: here that C is to Ada as a motorcycle is to a car.

I'm not sure this analogy is totally appropriate, because
motorcycles and cars are so different. C isn't so much more
flexible as a motorcyle is when compared to a car en route.
They are also used for different purposes.

Maybe we can find a typical C car and a typical Ada car?



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-12 12:47                                         ` Jeff C,
@ 2004-06-13 12:22                                           ` Marin David Condic
  2004-06-14 16:33                                             ` Warren W. Gay VE3WWG
  0 siblings, 1 reply; 216+ messages in thread
From: Marin David Condic @ 2004-06-13 12:22 UTC (permalink / raw)


Sure, Linux had its success and got started as someone trying to 
re-implement Unix. But wouldn't it be better to set up an objective of 
doing something *different* and *better* in some way? Aren't there 
enough versions of Unix out there already? A Unix written in Ada has to 
compete against all sorts of other implementations of Unix and is just 
not all that interesting by virtue of its being implemented in Ada - 
except to Ada enthusiasts.

I don't want to discourage anybody from coming up with Ada programs - 
I'm just suggesting that the effort get expended on making something 
that is new or at least in some significant way better than what is 
already out there. The fact that a program is duplicated in an Ada 
implementation is probably not going to provide enough benefit to be of 
much interest to most people.

MDC


Jeff C, wrote:
> 
> While I generally agree with this sentiment, it is thinking "like" this that
> would prevent someone from doing something crazy like
> 
> "I'm doing a (free) operating system (just a hobby, won't be big and
> professional like gnu) for 386(486) AT clones.  This has been brewing
> since april, and is starting to get ready.  I'd like any feedback on
> things people like/dislike in minix, as my OS resembles it somewhat
> (same physical layout of the file-system (due to practical reasons)
> among other things)."
> 
> Which is how Linus announced he was starting Linux.
> 
> Of course I have seen hundres of similarly bold announcements by software
> people over the years that go nowhere.
> 
> I think us bitter old men are just too cynical sometimes....It comes from
> experience of course...but who knows..maybe this Ada bind thing will really
> get completed and be good....
> 
> 


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-13 10:28                                           ` Georg Bauhaus
@ 2004-06-13 14:49                                             ` Stephen Leake
  2004-06-13 20:51                                             ` Russ
  1 sibling, 0 replies; 216+ messages in thread
From: Stephen Leake @ 2004-06-13 14:49 UTC (permalink / raw)
  To: comp.lang.ada

Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de> writes:

> Russ <18k11tm001@sneakemail.com> wrote:
>  
> : I suggested a long time ago
> : here that C is to Ada as a motorcycle is to a car.
> 
> I'm not sure this analogy is totally appropriate, because
> motorcycles and cars are so different. C isn't so much more
> flexible as a motorcyle is when compared to a car en route.
> They are also used for different purposes.
> 
> Maybe we can find a typical C car and a typical Ada car?

C : A 1960 MG; always broken

Ada : A 1995 Toyota Corolla; "it just works" :).

Still not good analogies; no tasking, no inhertance, etc.

-- 
-- Stephe




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-13 10:28                                           ` Georg Bauhaus
  2004-06-13 14:49                                             ` Stephen Leake
@ 2004-06-13 20:51                                             ` Russ
  1 sibling, 0 replies; 216+ messages in thread
From: Russ @ 2004-06-13 20:51 UTC (permalink / raw)


Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de> wrote in message news:<caha8s$1qd$2@a1-hrz.uni-duisburg.de>...
> Russ <18k11tm001@sneakemail.com> wrote:
>  
> : I suggested a long time ago
> : here that C is to Ada as a motorcycle is to a car.
> 
> I'm not sure this analogy is totally appropriate, because
> motorcycles and cars are so different. C isn't so much more
> flexible as a motorcyle is when compared to a car en route.
> They are also used for different purposes.

It's just an analogy. I think its a pretty good one, but no analogy is
perfect. If you've ever ridden a motorcycle (I had one about 20 years
ago), you know that they require much more attention to ride and are
much less forgiving than a car. They aren't much good for safe and
practical family transportation, but they are great for high
performance and cheap thrills.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-13  6:08                                         ` Russ
  2004-06-13 10:28                                           ` Georg Bauhaus
@ 2004-06-13 23:15                                           ` Robert I. Eachus
  2004-06-14  2:09                                             ` Hyman Rosen
  2004-06-14 16:43                                           ` Warren W. Gay VE3WWG
  2 siblings, 1 reply; 216+ messages in thread
From: Robert I. Eachus @ 2004-06-13 23:15 UTC (permalink / raw)


Russ wrote:

> You seem to assume that the "recoding in Ada" is a labor-intensive
> manual process. But what if it could be automated? I'm an aerospace
> engineer, and I don't know much about automated C-to-Ada conversion,
> but I think its at least worth consdering. Certainly the resulting Ada
> code would have *some* of the benefits of Ada.
> 
> I understand that a crappy design will still be a crappy design even
> in Ada, but if the original C application works reasonably well,
> perhaps the automated Ada conversion could be manually tweaked to
> improve security, reliability, or some other aspect. That certainly
> seems like a more attractive option than manually rewriting the whole
> thing.
> 
> Speaking of crappy designs, I sense some disdain for Linux here
> because it is written it C. I suggest you all get over that and fast,
> or you will just make fools of yourselves. I suggested a long time ago
> here that C is to Ada as a motorcycle is to a car. It's not nearly as
> safe, but experts can use it effectively. Needless to say, Linux was
> written by top exerts. That's not to say that it couldn't be done
> better in Ada, but you can't simply assume that.
> 
> I think the first step is to try an automated conversion of Linux to
> Ada, then go from there. I would try it myself, but I wouldn't know
> how to compile a kernel if it was staring me in the face. As I said,
> I'm an aerospace engineer.

Actually, the problems occur mostly in places where C just has serious 
problems doing sanity checks right.  They can be done but it is a pain: 
   Check the length of the string to be read, then read either that 
number of characters or the maximum buffer size.  Of course, this means 
in many cases you have to read the string twice while Ada allows you to 
read it once.  (Ask for N characters and get a count of how many you get.)
As for rewriting a C program in Ada, what I have done is use the old 
Intermetrics tool to create package specs from .h files, then create 
bodies that use pragma Interface(C, ...) or now pragma Import.  Then 
start with the main program and rewrite things--that need to be 
rewritten--one function at a time.  That converts a huge task into a lot 
of smaller, and much more likely to succeed without error, tasks.  If 
the reason you are doing this is, as implied above, to replace some of 
the interfaces with better ones.  (Which is the only reason I have ever 
done this.)  You get up and running with the main program in Ada, then 
get a "thick" binding to compile as a package that calls the thin 
binding you created, change the main program to use the new interface, 
then rewrite the body of the thick binding in Ada.

The last step is not necessary, but...  One time when I did exactly 
this, rewritting the body of the interface packages in Ada was actually 
simpler than binding to the existing C.  This won't always be the case, 
but when it is the reason for the rewrite in the first place you will be 
amazed.  (Or to state it differently, in a way everyone here should 
understand, often in Ada 90% of the work goes into designing the package 
specifications.  If they are done well, writing the bodies is easy.)

-- 

                                           Robert I. Eachus

The ideology he opposed throughout his political life insisted that 
history was moved by impersonal tides and unalterable fates. Ronald 
Reagan believed instead in the courage and triumph of free men and we 
believe it all the more because we saw that courage in him.  -- George 
W. Bush June 11, 2004




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-13 23:15                                           ` Robert I. Eachus
@ 2004-06-14  2:09                                             ` Hyman Rosen
  2004-06-15  0:02                                               ` Alexander E. Kopilovich
  0 siblings, 1 reply; 216+ messages in thread
From: Hyman Rosen @ 2004-06-14  2:09 UTC (permalink / raw)


Robert I. Eachus wrote:
>   Check the length of the string to be read, then read either that 
> number of characters or the maximum buffer size.  Of course, this means 
> in many cases you have to read the string twice while Ada allows you to 
> read it once.  (Ask for N characters and get a count of how many you get.)

Huh? fread, fgets, istream.getline, istream.read are all ways of
reading up to a pre-determined amount of data into a buffer in C
and C++. In no case does the string need to be read twice.
What a bizarre claim!



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-11 17:31                                 ` Marin David Condic
@ 2004-06-14  2:30                                   ` Berend de Boer
  2004-06-14  2:47                                     ` I R T
                                                       ` (4 more replies)
  0 siblings, 5 replies; 216+ messages in thread
From: Berend de Boer @ 2004-06-14  2:30 UTC (permalink / raw)


>>>>> "Marin" == Marin David Condic <nobody@noplace.com> writes:

    Marin> But you *can* write a perfectly secure, reliable system in
    Marin> languages other than Ada. Maybe (maybe!) it requires more
    Marin> work, but it *can* be done.

So far the real world has not produced a reliable secure OS in C. Can
it be done? I doubt it.

-- 
Regards,

Berend. (-:



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14  2:30                                   ` Berend de Boer
@ 2004-06-14  2:47                                     ` I R T
  2004-06-14  3:10                                     ` Hyman Rosen
                                                       ` (3 subsequent siblings)
  4 siblings, 0 replies; 216+ messages in thread
From: I R T @ 2004-06-14  2:47 UTC (permalink / raw)


Berend de Boer <berend@xsol.com> writes:

> So far the real world has not produced a reliable secure OS in C. Can
> it be done? I doubt it.

Trusted Solaris is largely C.

http://wwws.sun.com/software/solaris/trustedsolaris/index.html





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14  2:30                                   ` Berend de Boer
  2004-06-14  2:47                                     ` I R T
@ 2004-06-14  3:10                                     ` Hyman Rosen
  2004-06-14 11:49                                       ` Marin David Condic
  2004-06-15  1:21                                       ` Alexander E. Kopilovich
  2004-06-14 11:45                                     ` Marin David Condic
                                                       ` (2 subsequent siblings)
  4 siblings, 2 replies; 216+ messages in thread
From: Hyman Rosen @ 2004-06-14  3:10 UTC (permalink / raw)


Berend de Boer wrote:
> So far the real world has not produced a reliable secure OS in C. Can
> it be done? I doubt it.

You see? This is why Ada advocates are dismissed as crackpots.
Wouldn't you be confused if someone ran around shouting that a
perfectly well-dressed man was actually naked?



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14  2:30                                   ` Berend de Boer
  2004-06-14  2:47                                     ` I R T
  2004-06-14  3:10                                     ` Hyman Rosen
@ 2004-06-14 11:45                                     ` Marin David Condic
  2004-06-14 13:20                                     ` Larry Kilgallen
  2004-06-15 11:41                                     ` David Starner
  4 siblings, 0 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-14 11:45 UTC (permalink / raw)


One might ask if it is possible to build a reliable, secure OS in any 
language - besides a trivial one. That's a really tall order and one 
that is far more dependent on the architectural design of the OS than it 
is on the language in which it is implemented. The holes in OS's don't 
all come from lack of array bounds checking, you know.

But I'll bet if you can do it in Ada, the world might just beat a path 
to your door. ;-) That *would* be adding genuine value to an application 
domain, even if it still looked in outward respects like Unix or 
Windows. (I'd still advise making it look like something *new* and 
*different* and go fix problems besides just security & reliability.)

MDC

Berend de Boer wrote:
> 
> So far the real world has not produced a reliable secure OS in C. Can
> it be done? I doubt it.
> 


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14  3:10                                     ` Hyman Rosen
@ 2004-06-14 11:49                                       ` Marin David Condic
  2004-06-14 16:28                                         ` Warren W. Gay VE3WWG
  2004-06-15  1:21                                       ` Alexander E. Kopilovich
  1 sibling, 1 reply; 216+ messages in thread
From: Marin David Condic @ 2004-06-14 11:49 UTC (permalink / raw)


I sympathize - maybe from a different angle. "So writing an OS in Ada 
would guarantee reliability and security? O.K. Show me. Go write one and 
demonstrate that it works."

Its easy to *claim* that Ada would make a perfectly reliable and secure 
OS, but its really tough to actually do it. And I doubt that Ada in and 
of itself would get you the reliability and security imagined. But I'm 
willing to be proven wrong by demonstration. :-)

MDC

Hyman Rosen wrote:
> 
> You see? This is why Ada advocates are dismissed as crackpots.
> Wouldn't you be confused if someone ran around shouting that a
> perfectly well-dressed man was actually naked?


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14  2:30                                   ` Berend de Boer
                                                       ` (2 preceding siblings ...)
  2004-06-14 11:45                                     ` Marin David Condic
@ 2004-06-14 13:20                                     ` Larry Kilgallen
  2004-06-15 11:39                                       ` Marin David Condic
  2004-06-15 11:41                                     ` David Starner
  4 siblings, 1 reply; 216+ messages in thread
From: Larry Kilgallen @ 2004-06-14 13:20 UTC (permalink / raw)


In article <uvfhuc1n3.fsf@xsol.com>, Berend de Boer <berend@xsol.com> writes:
>>>>>> "Marin" == Marin David Condic <nobody@noplace.com> writes:
> 
>     Marin> But you *can* write a perfectly secure, reliable system in
>     Marin> languages other than Ada. Maybe (maybe!) it requires more
>     Marin> work, but it *can* be done.
> 
> So far the real world has not produced a reliable secure OS in C. Can
> it be done? I doubt it.

The claim quoted above did not specify C.  It has been done in PL/I.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-11 18:03                   ` Russ
@ 2004-06-14 16:16                     ` Warren W. Gay VE3WWG
  0 siblings, 0 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-14 16:16 UTC (permalink / raw)


Russ wrote:
> "Richard  Riehle" <adaworks@earthlink.net> wrote in message news:<CiNxc.8259$uX2.228@newsread2.news.pas.earthlink.net>...
>>"Hyman Rosen" <hyrosen@mail.com> wrote in message
>>news:1086630278.542788@master.nyc.kbcfp.com...
...
>>On the other hand, one cannot predict what vulnerabilities would
>>be discovered for an OS written in Ada.  I have no doubt there
>>would be some vulnerabilities.  Would they be as severe as those
>>in OS's written in the C family of languages?  No one can answer
>>that for certain.
> 
> Just for my own education, let me ask a few questions here.
> 
> What is the state of the art in automated conversion of C code to Ada?

I can't really answer that, but I would guess that there are
no such products/tools for that. If there were, the result
would look like C, but be described in Ada terms. There would
be very little advantage to that.

The process would be similar to taking a thin Ada (to C) binding, and
creating a thick one in Ada terms. I don't believe you'll find
any software capable of that form of transformation at this time.

> If Linux could be automatically converted to Ada, would the security
> benefits of Ada be realized automatically, or would manual
> modifications be necessary? If the latter, how difficult would they
> be?

Ada itself is not a cure for all security problems. Some of the
responsibility rests with the design. However, many of the published
"exploits" tend to be about things that the C-design was never
designed to allow. In that sense, I think Ada can be helpful,
since it would tend to avoid exploitable buffer overflows and
such. However, it must be admitted, that exploits are possible
in any badly designed code, in C or otherwise.

One difficult to solve area is DOS attacks. Even Ada programs
can be vulnerable to this, if precautions surrounding stacks,
heap space and tasks are not enforced/checked.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14 11:49                                       ` Marin David Condic
@ 2004-06-14 16:28                                         ` Warren W. Gay VE3WWG
  2004-06-14 17:34                                           ` Hyman Rosen
  2004-06-15 11:26                                           ` Marin David Condic
  0 siblings, 2 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-14 16:28 UTC (permalink / raw)


Marin David Condic wrote:

> I sympathize - maybe from a different angle. "So writing an OS in Ada 
> would guarantee reliability and security? O.K. Show me. Go write one and 
> demonstrate that it works."
> 
> Its easy to *claim* that Ada would make a perfectly reliable and secure 
> OS, but its really tough to actually do it. And I doubt that Ada in and 
> of itself would get you the reliability and security imagined. But I'm 
> willing to be proven wrong by demonstration. :-)
> 
> MDC

Today's slashdot points out yet another exploit in Linux.

   http://slashdot.org/article.pl?sid=04/06/04/1212228&mode=thread&tid=126&tid=95

We like to deride Windows, but Linux, *NIX in general all suffer from
the same problem. Some of these are no doubt due to design issues
(which Ada may or may not help with). But surely, one has to wonder/hope
if/that some other fundamental change (language) can offer an
improvement. I think many are simply saying that they believe it
to be so.

If one can see major improvements on the projects that Ada is
used for, then by extension one has to expect a similar level
of improvement for an operating system.

But everyone's point is well taken: where is the Ada OS? We
have no implementation to point to for a comparison.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-13 12:22                                           ` Marin David Condic
@ 2004-06-14 16:33                                             ` Warren W. Gay VE3WWG
  0 siblings, 0 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-14 16:33 UTC (permalink / raw)


Marin David Condic wrote:

> Sure, Linux had its success and got started as someone trying to 
> re-implement Unix. But wouldn't it be better to set up an objective of 
> doing something *different* and *better* in some way? ...
> MDC

I don't think that has been ruled out yet. The project is just
getting started. It makes no sense to take C code and just
"port it". I would be rather surprised if the project takes
that direction.

So yes, I believe that there is hope for good things to come out of
the project.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-13  6:08                                         ` Russ
  2004-06-13 10:28                                           ` Georg Bauhaus
  2004-06-13 23:15                                           ` Robert I. Eachus
@ 2004-06-14 16:43                                           ` Warren W. Gay VE3WWG
  2004-06-15 11:47                                             ` Marin David Condic
  2 siblings, 1 reply; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-14 16:43 UTC (permalink / raw)


Russ wrote:
> Marin David Condic <nobody@noplace.com> wrote in message news:<40CAF0E1.4000904@noplace.com>...
> 
>>While I'm a believer in Ada, I don't think that coding an app up in Ada 
>>somehow makes it *better* just by that very fact. Nobody buys programs 
>>just because it says "Ada Inside" - so its important to add something 
>>more. Given limited resources, it would seem more productive to come up 
>>with something new and innovative rather than take existing apps and 
>>recode them in Ada just to have an Ada version.
> 
> You seem to assume that the "recoding in Ada" is a labor-intensive
> manual process. But what if it could be automated? I'm an aerospace
> engineer, and I don't know much about automated C-to-Ada conversion,
> but I think its at least worth consdering. Certainly the resulting Ada
> code would have *some* of the benefits of Ada.

It is, because it needs to include "software engineering" as
well. If were simply a matter of using one compiler or
another, Ada would offer no advantage. But an engineered to
use Ada approach, offers many advantages.  For example:

If you translate values in C to Ada numeric constants, you
have just translated from C to Ada, with nothing gained.

If you develop an enumeration type in Ada (replacing C constants),
then case statements can be flagged for missing or incorrect
cases etc.

> I understand that a crappy design will still be a crappy design even
> in Ada, but if the original C application works reasonably well,
> perhaps the automated Ada conversion could be manually tweaked to
> improve security, reliability, or some other aspect. That certainly
> seems like a more attractive option than manually rewriting the whole
> thing.

The point is, people don't feel safe with the exploits that keep
coming up in BIND. Not to crap on anybody's C work in BIND, but
some folks think Ada _can_ offer better, if the project is
properly executed. I for one, think it is worth trying.

> Speaking of crappy designs, I sense some disdain for Linux here
> because it is written it C.

You're reading too much into it. Linux is great IMHO. I have it
running on 7 machines at home (only 2 instances of M$ remain
at home). Yet, I don't look at Linux in a religious way. I am
willing to admit that the evidence suggests that it is less
than secure (hence the continuous crop of exploit notices!)
Let's all recognize that M$ has their own problems as well.

If I were contracted to provide a safe/secure *NIX solution to
a university, I'd have some headscrating to do. This is because
Linux's root privilege is so frequently obtained by unprivileged
users. Other *NIX's have problems in this area too, though each
brand has its differing levels of security. None are immune
from what I can see.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14 16:28                                         ` Warren W. Gay VE3WWG
@ 2004-06-14 17:34                                           ` Hyman Rosen
  2004-06-15 11:35                                             ` Marin David Condic
  2004-06-15 16:30                                             ` Warren W. Gay VE3WWG
  2004-06-15 11:26                                           ` Marin David Condic
  1 sibling, 2 replies; 216+ messages in thread
From: Hyman Rosen @ 2004-06-14 17:34 UTC (permalink / raw)


Warren W. Gay VE3WWG wrote:
> Today's slashdot points out yet another exploit in Linux.

I believe the link is actually
<http://slashdot.org/article.pl?sid=04/06/14/118209&mode=flat&tid=106&tid=126&tid=128&tid=185&tid=190>.

> We like to deride Windows, but Linux, *NIX in general all suffer from
> the same problem. Some of these are no doubt due to design issues
> (which Ada may or may not help with). But surely, one has to wonder/hope
> if/that some other fundamental change (language) can offer an
> improvement. I think many are simply saying that they believe it
> to be so.

Which illustrates that you did not actually bother to read about
what the problem is. The exploit code (which crashes the kernel,
so it's not precisely a security violation) involves user code
which executes a floating-point processor instruction in a signal
handler that should cause a floating-point exception, immediately
followed by a system call. I think that the hardware exception
occurs a little bit later, such that kernel mode has taken over,
and when the kernel goes to restore the floating-point state, the
exception finally kicks in and brings it down.

I suspect the ultimnate fix involves the kernel checking for
deferred user-mode floating point exceptions so that it can reraise
them in user mode, but in any case, this has nothing to do with the
programming language in which the kernel was written - at the point
of death, it is executing an assembly code insertion.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14  2:09                                             ` Hyman Rosen
@ 2004-06-15  0:02                                               ` Alexander E. Kopilovich
  2004-06-15  2:40                                                 ` Brian May
  0 siblings, 1 reply; 216+ messages in thread
From: Alexander E. Kopilovich @ 2004-06-15  0:02 UTC (permalink / raw)
  To: comp.lang.ada

Hyman Rosen wrote:

> >   Check the length of the string to be read, then read either that 
> > number of characters or the maximum buffer size.  Of course, this means 
> > in many cases you have to read the string twice while Ada allows you to 
> > read it once.  (Ask for N characters and get a count of how many you get.)
>
> Huh? fread, fgets, istream.getline, istream.read are all ways of
> reading up to a pre-determined amount of data into a buffer in C
> and C++. In no case does the string need to be read twice.
> What a bizarre claim!

Well, for C, that is for fread and fgets I would say that although these
functions indeed have maximum amount of bytes to be read onto a buffer as
a parameter, but:

1) this maximum, if not computed from "preliminary read", is usually set
manually, it does not computed automatically from the length of the buffer
used in that fread/fgets; therefore there is an obsvious possibility of
programmer's mistake, which will not be noticed by compiler;

2) sometimes there is no reasonable estimate for *guaranteed* maximum of
a string to be read, and therefore the length of the string can be greater
than already allocated buffer; reading a string in chunks can be inconvenient
for some reasons, and thus that double reading (first pass for determining
the length of string, then allocating the buffer, and then second pass with
filling the buffer).

So I find that claim far from bizarre, but rather practical. (Certainly in C++
it is possible to coordinate reading with the buffer size automatically, so I
don't speak about C++ here.)




Alexander Kopilovich                      aek@vib.usr.pu.ru
Saint-Petersburg
Russia




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14  3:10                                     ` Hyman Rosen
  2004-06-14 11:49                                       ` Marin David Condic
@ 2004-06-15  1:21                                       ` Alexander E. Kopilovich
  2004-07-01  4:08                                         ` Dave Thompson
  1 sibling, 1 reply; 216+ messages in thread
From: Alexander E. Kopilovich @ 2004-06-15  1:21 UTC (permalink / raw)
  To: comp.lang.ada

Hyman Rosen wrote:

> Wouldn't you be confused if someone ran around shouting that a
> perfectly well-dressed man was actually naked?

Well, I would not be confused if this happens somewhere in tropical lands
and that well-dressed/naked man is one of native inhabitants.

Similarly for "reliable secure" OSes - I easily can see reasons for calling,
for example, Windows 2000, both reliable and secure (because it is well alive
against awful amount of pressure) and at the same time - both unreliable and
insecure (because very many users were affected by various vulnerabilities
in this OS).

I don't know any good definition for "reliable and secure OS", and I don't
think that there is such a definition. Is QNX (probably written C) reliable
and secure? Perhaps yes, but one can say that it has not enough users or that
it isn't general-purpose OS. Was Multics reliable and secure? Perhaps yes,
but one can say that it was not tested in an environment comparable with that
in which Windows live - millions of users, many of them almost illiterate and
some of then wicked.




Alexander Kopilovich                      aek@vib.usr.pu.ru
Saint-Petersburg
Russia




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15  0:02                                               ` Alexander E. Kopilovich
@ 2004-06-15  2:40                                                 ` Brian May
  2004-06-15 12:46                                                   ` Frank J. Lhota
                                                                     ` (2 more replies)
  0 siblings, 3 replies; 216+ messages in thread
From: Brian May @ 2004-06-15  2:40 UTC (permalink / raw)


>>>>> "Alexander" == Alexander E Kopilovich <aek@VB1162.spb.edu> writes:

    Alexander> Well, for C, that is for fread and fgets I would say
    Alexander> that although these functions indeed have maximum
    Alexander> amount of bytes to be read onto a buffer as a
    Alexander> parameter, but:

    Alexander> 1) this maximum, if not computed from "preliminary
    Alexander> read", is usually set manually, it does not computed
    Alexander> automatically from the length of the buffer used in
    Alexander> that fread/fgets; therefore there is an obsvious
    Alexander> possibility of programmer's mistake, which will not be
    Alexander> noticed by compiler;

...not to mention older functions that don't support a string length
(eg. sprintf). Some have better versions (eg. snprintf or asprintf),
but such functions are often non-standard and non-portable extensions.

    Alexander> 2) sometimes there is no reasonable estimate for
    Alexander> *guaranteed* maximum of a string to be read, and
    Alexander> therefore the length of the string can be greater than
    Alexander> already allocated buffer; reading a string in chunks
    Alexander> can be inconvenient for some reasons, and thus that
    Alexander> double reading (first pass for determining the length
    Alexander> of string, then allocating the buffer, and then second
    Alexander> pass with filling the buffer).

Perhaps I am showing my ignorance, but do you read a string of
undefined length into an Ada program?

Isn't setting a maximum length of a string a good thing? eg. I don't
want my network daemon to try and allocate 1 gigabyte of memory just
because somebody sends it a line 1 gigabyte long, when the expected
maximum length was 80 bytes. This could be a security issue in itself
(Denial-of-service attack).

However, allocating lots of memory just in case the worst case
scenario occurs does sound wasteful to me, and perhaps this is what
you mean.
-- 
Brian May <bam@snoopy.apana.org.au>



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14 16:28                                         ` Warren W. Gay VE3WWG
  2004-06-14 17:34                                           ` Hyman Rosen
@ 2004-06-15 11:26                                           ` Marin David Condic
  2004-06-15 16:43                                             ` Warren W. Gay VE3WWG
  2004-06-15 19:28                                             ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Alexander E. Kopilovich
  1 sibling, 2 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-15 11:26 UTC (permalink / raw)


Warren W. Gay VE3WWG wrote:
 >
 >
 > Today's slashdot points out yet another exploit in Linux.
 >
 >
 > http://slashdot.org/article.pl?sid=04/06/04/1212228&mode=thread&tid=1-
 > 26&tid=95
 >
 >
 > We like to deride Windows, but Linux, *NIX in general all suffer from
 >  the same problem. Some of these are no doubt due to design issues
 > (which Ada may or may not help with). But surely, one has to
 > wonder/hope if/that some other fundamental change (language) can
 > offer an improvement. I think many are simply saying that they
 > believe it to be so.

Developing an operating system - any operating system - is inherently
complex and extremely difficult to get right. Most of the flaws are
*not* going to come from array bounds or integer range check problems.
They come from logic problems or timing problems. I know from experience
that an asynchronous world is extremely difficult to live in and get
right. The logic an OS goes through to schedule multiple processes and
handle shared I/O, etc., are all just inherently hard to get right.
Coding up an OS in Ada might eliminate some flaws - but they are far
from the worst flaws that an OS can have.



 >
 > If one can see major improvements on the projects that Ada is used
 > for, then by extension one has to expect a similar level of
 > improvement for an operating system.
 >
I think if someone did an OS in Ada they would get some benefits in
terms of productivity and error reduction. But those are typically
developmental issues - someone can still do it in C and get an
equivalent job done, just with added effort. Ada isn't going to
automagically make all the problems of getting an OS into stable, secure
operation go away - but I'm willing to be proven wrong by demonstration. ;-)



 > But everyone's point is well taken: where is the Ada OS? We have no
 > implementation to point to for a comparison.

Yup. Its time to shut up about how superior Ada is and how everyone who
isn't using it is a bonehead for selecting inferior technology. If
that's true, then the time has come to go out and start proving it by
developing real world applications that out-compete their rivals because
of that superior Ada technology. And that goes double for any sort of
Ada OS.

All the necessary tools exist. There's a free compiler, IDE, debugger, 
GUI builder, etc., needed to go write apps in Ada. (I wish they were 
better integrated, standardized and came with a library, but if we keep 
waiting for perfection, we'll never be ready.) We can't say "it would be 
better done in Ada..." now without asking ourselves why we aren't doing 
it. We will look like fools or cranks to the rest of the world if we 
keep pissing on their real-world, in-existence apps unless we can 
actually come up with something that is *better* to put next to it and 
say "See?!?! The one I built in *Ada* actually *is* better!!!" I can't 
download and run conceptual vaporware that is only theoretically better. ;-)

MDC


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14 17:34                                           ` Hyman Rosen
@ 2004-06-15 11:35                                             ` Marin David Condic
  2004-06-15 23:02                                               ` Brian May
  2004-06-21 14:56                                               ` Jacob Sparre Andersen
  2004-06-15 16:30                                             ` Warren W. Gay VE3WWG
  1 sibling, 2 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-15 11:35 UTC (permalink / raw)


Like I said: The thing that makes operating systems hard to get right 
are not usually language issues. They are related to the asynchronicity 
of events and the complexity of the algorithms involved. Perhaps a 
hypothetical Ada OS might eliminate some errors, but the worst ones are 
not usually an issue of language checks.

Also, because OS's need high efficiency, it is not at all uncommon to 
turn off most of the runtime checks because you really need the 
performance. (Or is someone suggesting that all Ada checks should be 
left in when developing an OS?) Ada can't help with a variety of runtime 
errors unless the checks are left in, so does it really buy enough 
benefit to be able to make claims about how wonderful a theoretical Ada 
OS would be?

MDC



Hyman Rosen wrote:
> Which illustrates that you did not actually bother to read about
> what the problem is. The exploit code (which crashes the kernel,
> so it's not precisely a security violation) involves user code
> which executes a floating-point processor instruction in a signal
> handler that should cause a floating-point exception, immediately
> followed by a system call. I think that the hardware exception
> occurs a little bit later, such that kernel mode has taken over,
> and when the kernel goes to restore the floating-point state, the
> exception finally kicks in and brings it down.
> 
> I suspect the ultimnate fix involves the kernel checking for
> deferred user-mode floating point exceptions so that it can reraise
> them in user mode, but in any case, this has nothing to do with the
> programming language in which the kernel was written - at the point
> of death, it is executing an assembly code insertion.


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14 13:20                                     ` Larry Kilgallen
@ 2004-06-15 11:39                                       ` Marin David Condic
  2004-06-19 23:14                                         ` Pylinius
  0 siblings, 1 reply; 216+ messages in thread
From: Marin David Condic @ 2004-06-15 11:39 UTC (permalink / raw)


Also, I wasn't necessarily refering to an *operating* system - that can 
be awfully complex and may be impossible to get totally right no matter 
what the language. But there are some *systems* that can and have been 
built in languages other than Ada that are 100% reliable and/or secure.

MDC


Larry Kilgallen wrote:
> 
> 
> The claim quoted above did not specify C.  It has been done in PL/I.


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14  2:30                                   ` Berend de Boer
                                                       ` (3 preceding siblings ...)
  2004-06-14 13:20                                     ` Larry Kilgallen
@ 2004-06-15 11:41                                     ` David Starner
  2004-06-15 16:29                                       ` Richard  Riehle
  2004-06-15 17:06                                       ` Warren W. Gay VE3WWG
  4 siblings, 2 replies; 216+ messages in thread
From: David Starner @ 2004-06-15 11:41 UTC (permalink / raw)


On Mon, 14 Jun 2004 14:30:08 +1200, Berend de Boer wrote:

>>>>>> "Marin" == Marin David Condic <nobody@noplace.com> writes:
> 
>     Marin> But you *can* write a perfectly secure, reliable system in
>     Marin> languages other than Ada. Maybe (maybe!) it requires more
>     Marin> work, but it *can* be done.
> 
> So far the real world has not produced a reliable secure OS in C. Can
> it be done? I doubt it.

What OSes are you looking at? You can't expect the major commercial
operating systems to be reliable and secure, because the public doesn't
want reliable and secure. A reliable and secure operating system would run
on one standard set of simple predictable hardware. The public wants
something that will run on their current hardware. A reliable and secure
operating system would probably run everything in its own virtual machine
anyway; the public wants things to go fast. A reliable and secure
operating system can't support kludges that open up security holes; the
public wants their old programs to run (and run fast) on their new system.
A reliable and secure operating system would reduce or eliminate the usage
of a root-like user; the public doesn't want to jump through hoops
every time they want to fix the clock or install a program. A reliable,
secure operating system is simple; the public wants fast (highly tuned)
and featureful operating system.

It's actually quite easy to write a secure, reliable OS in C. It looks
something like this:

main () {
for (;;) {}
}

It's making a _usable_ secure, reliable OS that's hard, and most of that
is independent of programming language. 



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14 16:43                                           ` Warren W. Gay VE3WWG
@ 2004-06-15 11:47                                             ` Marin David Condic
  2004-06-15 16:21                                               ` Warren W. Gay VE3WWG
  2004-06-15 19:36                                               ` Frank J. Lhota
  0 siblings, 2 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-15 11:47 UTC (permalink / raw)


Keep in mind that years ago when Unix was (ill?)conceived that it was 
not intended to be a high-security system. It was intended to provide 
enough security that a small development team using it could work 
together without hosing each other up. It wasn't designed to thwart all 
possible attacks by malicious intruders. Hence, additional security 
measures have, over time, continued to be piled on it to try to make it 
do something it wasn't intended to do. (A little like putting a GUI on 
top of MS DOS and trying to make it multitask.)

If what is wanted is a true high security OS, then it almost sounds like 
it would be better to start building one that had those concepts built 
in from the start. It could be a good market for Ada to address.

MDC



Warren W. Gay VE3WWG wrote:
> 
> If I were contracted to provide a safe/secure *NIX solution to
> a university, I'd have some headscrating to do. This is because
> Linux's root privilege is so frequently obtained by unprivileged
> users. Other *NIX's have problems in this area too, though each
> brand has its differing levels of security. None are immune
> from what I can see.


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15  2:40                                                 ` Brian May
@ 2004-06-15 12:46                                                   ` Frank J. Lhota
  2004-06-15 18:53                                                   ` Jeffrey Carter
  2004-07-01  4:08                                                   ` Dave Thompson
  2 siblings, 0 replies; 216+ messages in thread
From: Frank J. Lhota @ 2004-06-15 12:46 UTC (permalink / raw)


"Brian May" <bam@snoopy.apana.org.au> wrote in message
news:sa4isdttufl.fsf@snoopy.apana.org.au...
> >>>>> "Alexander" == Alexander E Kopilovich <aek@VB1162.spb.edu> writes:
> Perhaps I am showing my ignorance, but do you read a string of
> undefined length into an Ada program?

Actually, GNAT includes a version of Get_Line that returns an unbounded
string, and that string can be a long as required (within the constraints of
available memory).





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 11:47                                             ` Marin David Condic
@ 2004-06-15 16:21                                               ` Warren W. Gay VE3WWG
  2004-06-15 19:36                                               ` Frank J. Lhota
  1 sibling, 0 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-15 16:21 UTC (permalink / raw)


Marin David Condic wrote:
> Keep in mind that years ago when Unix was (ill?)conceived that it was 
> not intended to be a high-security system. It was intended to provide 
> enough security that a small development team using it could work 
> together without hosing each other up. 

Actually, I believe that the first versions of UNIX were
totally lacking in security. After all, the system was
serving initially a very small group of researchers at
Bell labs. I seem to recall reading somewhere that there
was a fierce level of resistance to adding any restrictions
at all, to various users. Obviously, over time, it became
necessary as the use of the system became more widespread.

> It wasn't designed to thwart all 
> possible attacks by malicious intruders. Hence, additional security 
> measures have, over time, continued to be piled on it to try to make it 
> do something it wasn't intended to do. (A little like putting a GUI on 
> top of MS DOS and trying to make it multitask.)

And we remember well what that was like ;-)

> If what is wanted is a true high security OS, then it almost sounds like 
> it would be better to start building one that had those concepts built 
> in from the start. It could be a good market for Ada to address.
> 
> MDC
Agreed, that this is needed.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 11:41                                     ` David Starner
@ 2004-06-15 16:29                                       ` Richard  Riehle
  2004-06-15 17:06                                       ` Warren W. Gay VE3WWG
  1 sibling, 0 replies; 216+ messages in thread
From: Richard  Riehle @ 2004-06-15 16:29 UTC (permalink / raw)



"David Starner" <dvdeug@email.ro> wrote in message
news:pan.2004.06.15.11.40.09.413904@email.ro...
> It's actually quite easy to write a secure, reliable OS in C. It looks
> something like this:
>
> main () {
> for (;;) {}
> }
>
> It's making a _usable_ secure, reliable OS that's hard, and most of that
> is independent of programming language.

How does one define what is meant by an Operating System?   I would include
the many Run-time environments that an Ada program includes when it is
linked.   In that case, there have been lots of functional, dependable
operating
systems.   There are other small real-time embedded operating systems, many
commercially available, and we use them with minimal frustration.  Most of
them
are written in C or Assembler.   The Ada RTE's are frequently written in
Ada.

As you know, when it comes to software, when we expect more features we
get more unexpected features.   This has always been true, and will continue
to
be true for a long time.

So, the simple OS you propose, provides little and we expect little.

Programming language can matter.  An OS written in Assembler will have none
of the
built-in checking that we get from a slightly higher level language such as
C. An
OS written in C++ has the potential for more compiler checking than one
written
in C.   The same OS written in Modula-2 or Ada can benefit from the compile-
time checking inherent those languages.     Still, none of the languages can
ensure
that the designer has avoided contradictory features,  has overlooked some
important variable setting in a declaration, or gotten the algorithms
exactly right
at every place in the program.

That being said, for any large program, where I have to understand what I am
doing,
and need to understand what my co-workers are doing, my preference is still
Ada.
For me, and I stress the "for me," it continues to be more readable and
easier to
understand what I am doing that programming in C++.   For me, Ada code is
far
more straightforward, less filled with extraneous doo-dads, and more
comprehensible
than the alternatives.   The more I am required to use C++, the more annoyed
I get
with what seems like a lot of extra stuff I should not have to need to get
my work
done.   But each of us will see this differently.

Richard Riehle





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-14 17:34                                           ` Hyman Rosen
  2004-06-15 11:35                                             ` Marin David Condic
@ 2004-06-15 16:30                                             ` Warren W. Gay VE3WWG
  1 sibling, 0 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-15 16:30 UTC (permalink / raw)


Hyman Rosen wrote:
> Warren W. Gay VE3WWG wrote:
>> Today's slashdot points out yet another exploit in Linux.
> 
> I believe the link is actually
> <http://slashdot.org/article.pl?sid=04/06/14/118209&mode=flat&tid=106&tid=126&tid=128&tid=185&tid=190>. 
> 
>> We like to deride Windows, but Linux, *NIX in general all suffer from
>> the same problem. Some of these are no doubt due to design issues
>> (which Ada may or may not help with). But surely, one has to wonder/hope
>> if/that some other fundamental change (language) can offer an
>> improvement. I think many are simply saying that they believe it
>> to be so.
> 
> Which illustrates that you did not actually bother to read about
> what the problem is. 

You are correct: I skimmed it, due to a lack of time. You are
also correct, if it reads as you say, it is a poor example.

My real point is however, that it wouldn't be hard to find
other examples of loopholes, that continually need to be
closed. If the system is so secure, why are people so
afraid of giving out shell accounts to their machines?

The reality is that these systems are not very secure.

Every network service exposed to the general public on the
wild wooly world is also very much suceptable to
exploits. Surely it is possible to do better
than we are doing today?

I see that _finally_ that AMD and Intel are coming out with
half measures to help stem the tide with buffer overflows,
with their new 64 bit processor cores. I hope that they
continue to work on hardware measures that help.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 11:26                                           ` Marin David Condic
@ 2004-06-15 16:43                                             ` Warren W. Gay VE3WWG
  2004-06-15 18:51                                               ` Hyman Rosen
                                                                 ` (2 more replies)
  2004-06-15 19:28                                             ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Alexander E. Kopilovich
  1 sibling, 3 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-15 16:43 UTC (permalink / raw)


Marin David Condic wrote:

> Warren W. Gay VE3WWG wrote:
>  > Today's slashdot points out yet another exploit in Linux.
>  > http://slashdot.org/article.pl?sid=04/06/04/1212228&mode=thread&tid=1-
>  > 26&tid=95
>  > We like to deride Windows, but Linux, *NIX in general all suffer from
>  >  the same problem. Some of these are no doubt due to design issues
>  > (which Ada may or may not help with). But surely, one has to
>  > wonder/hope if/that some other fundamental change (language) can
>  > offer an improvement. I think many are simply saying that they
>  > believe it to be so.
> 
> Developing an operating system - any operating system - is inherently
> complex and extremely difficult to get right. Most of the flaws are
> *not* going to come from array bounds or integer range check problems.
> They come from logic problems or timing problems. I know from experience
> that an asynchronous world is extremely difficult to live in and get
> right. The logic an OS goes through to schedule multiple processes and
> handle shared I/O, etc., are all just inherently hard to get right.
> Coding up an OS in Ada might eliminate some flaws - but they are far
> from the worst flaws that an OS can have.

Generally agreed. I think you would also agree that Ada forces
the writer to engineer the project better. You are forced to
do more planning with Ada. Compared this with C, where you
can always pass around void pointers, etc. to work around
things that you forgot to design for.

I would further add that Ada code can tolerate more static
analysis, which is pretty much useless or impossible in C.
Static analysis not only saves time testing, but gives you
greater confidence in the results.

> All the necessary tools exist. There's a free compiler, IDE, debugger, 
> GUI builder, etc., needed to go write apps in Ada. (I wish they were 
> better integrated, standardized and came with a library, but if we keep 
> waiting for perfection, we'll never be ready.) We can't say "it would be 
> better done in Ada..." now without asking ourselves why we aren't doing 
> it. We will look like fools or cranks to the rest of the world if we 
> keep pissing on their real-world, in-existence apps unless we can 
> actually come up with something that is *better* to put next to it and 
> say "See?!?! The one I built in *Ada* actually *is* better!!!" I can't 
> download and run conceptual vaporware that is only theoretically better. 
> ;-)
> 
> MDC

Yep, but you need bodies of people willing to help. One or
a few individuals can put together an operating system, but
unless many people contribute towards hardward drivers, the
project is not likely to gain general acceptance (at least
on Intel). But even this, is an untested theory, in the
Ada OS arena so far. ;-)
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 11:41                                     ` David Starner
  2004-06-15 16:29                                       ` Richard  Riehle
@ 2004-06-15 17:06                                       ` Warren W. Gay VE3WWG
  1 sibling, 0 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-15 17:06 UTC (permalink / raw)


David Starner wrote:

> On Mon, 14 Jun 2004 14:30:08 +1200, Berend de Boer wrote:
>>>>>>>"Marin" == Marin David Condic <nobody@noplace.com> writes:
>>
>>    Marin> But you *can* write a perfectly secure, reliable system in
>>    Marin> languages other than Ada. Maybe (maybe!) it requires more
>>    Marin> work, but it *can* be done.
>>
>>So far the real world has not produced a reliable secure OS in C. Can
>>it be done? I doubt it.
> 
> What OSes are you looking at? You can't expect the major commercial
> operating systems to be reliable and secure, because the public doesn't
> want reliable and secure. 

Well, of course, it depends again on what you consider reliable
and secure to mean (as Alexander Kopilovich has said).  Some of
the public _does_ want reliable and secure (depending on what that
means).

Actually, I'll bet if you asked them, they would want
"reliable and secure", in addition to everything else (they
want it all, for lowest price etc. etc.)

Ask anyone who's had to pay someone to reload their O/S
due to a virus, if they want a secure O/S? Ask them after
they've lost all of their digital photos!  (I know people \
that have suffered this fate).

> A reliable and secure operating system would run
> on one standard set of simple predictable hardware. 

Predictable yes. Simple is what we would want, because
simple is easier to validate. But I am not certain
that simplicity must be a prerequisite.

> The public wants
> something that will run on their current hardware. 

To a point. We all want faster and more powerful too.

> A reliable and secure
> operating system would probably run everything in its own virtual machine
> anyway; 

This only shifts responsibility from one layer to another. There
still must be validation, just at a different level. The bottom
line doesn't really change.

> the public wants things to go fast. 

Speed should not matter. Hardware is always run at suboptimal
speed for reliability reasons. But this is a hardware tradeoff,
not a software security issue (except possibly for complex
timing issues).

> A reliable and secure
> operating system can't support kludges that open up security holes; 

I think that it is generally agreed that we don't want kludges ;-)

 > the
> public wants their old programs to run (and run fast) on their new system.

Backwards compatibilities do carry forward certain risks.

> A reliable and secure operating system would reduce or eliminate the usage
> of a root-like user; the public doesn't want to jump through hoops
> every time they want to fix the clock or install a program. 

This is an interesting area of study. More study on this
problem should be encouraged. Unfortunately, there seems to
be an overall decline in the interest of O/S design these
days (there was a paper released about this, some time ago,
which was discussed in this group (discussed last year?))

 > A reliable,
> secure operating system is simple; 

You are listing simplicity as a prerequisite for secure. I do agree
that a simple system is easier to validate. But it is by no means
a prerequisite, as long as you have a method to validate your
design.

> the public wants fast (highly tuned)
> and featureful operating system.

Agreed, that there are tensions for compromise. But what I have
been saying (and perhaps others), is that surely there are
ways to do better than what we have now.

> It's actually quite easy to write a secure, reliable OS in C. It looks
> something like this:
> 
> main () {
> for (;;) {}
> }

Well, we can do that in Ada too, and even multitask it! ;-)

> It's making a _usable_ secure, reliable OS that's hard, and most of that
> is independent of programming language. 

Well, you and I could argue the "most" or "not" part. I firmly
believe that Ada would greatly influence the design of an operating
system, such that better engineering and fewer defects would
prevail. Obviously, if it is designed incorrectly, it would still
easily give away priviledges when it wasn't appropriate.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 16:43                                             ` Warren W. Gay VE3WWG
@ 2004-06-15 18:51                                               ` Hyman Rosen
  2004-06-15 21:02                                                 ` Warren W. Gay VE3WWG
  2004-06-15 21:59                                               ` Marin David Condic
  2004-06-25  4:21                                               ` Enum'Image (Was: Improving Ada's image) Larry Kilgallen
  2 siblings, 1 reply; 216+ messages in thread
From: Hyman Rosen @ 2004-06-15 18:51 UTC (permalink / raw)


Warren W. Gay VE3WWG wrote:
> Generally agreed. I think you would also agree that Ada forces
> the writer to engineer the project better. You are forced to
> do more planning with Ada. Compared this with C, where you
> can always pass around void pointers, etc. to work around
> things that you forgot to design for.

Forgetting to design things is obviously not a feature of
the programming language. So the flip side of what you are
saying is that once you accidentally leave out a feature,
Ada will make it difficult to add.

> I would further add that Ada code can tolerate more static
> analysis, which is pretty much useless or impossible in C.

I suppose.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15  2:40                                                 ` Brian May
  2004-06-15 12:46                                                   ` Frank J. Lhota
@ 2004-06-15 18:53                                                   ` Jeffrey Carter
  2004-06-15 22:09                                                     ` Hyman Rosen
  2004-07-01  4:08                                                   ` Dave Thompson
  2 siblings, 1 reply; 216+ messages in thread
From: Jeffrey Carter @ 2004-06-15 18:53 UTC (permalink / raw)


Brian May wrote:

> Perhaps I am showing my ignorance, but do you read a string of
> undefined length into an Ada program?

All the time:

with Ada.Text_IO;
with PragmARC.Get_Line;
procedure Get_Any_String is
    X : String := PragmARC.Get_Line;
begin -- Get_Any_String
    Ada.Text_IO.Put_Line (Item => '>' & X & '<');
end Get_Any_String;

Note that a similar technique may be used with an arbitrary buffer, 
allowing buffers of any length, eliminating buffer overflow.

The PragmAda Reusable Components, which include PragmARC.Get_Line, are 
available at

http://home.earthlink.net/~jrcarter010/pragmarc.htm

if you'd like to see how this is done, and experiment with it.

-- 
Jeff Carter
"We'll make Rock Ridge think it's a chicken
that got caught in a tractor's nuts!"
Blazing Saddles
87




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 11:26                                           ` Marin David Condic
  2004-06-15 16:43                                             ` Warren W. Gay VE3WWG
@ 2004-06-15 19:28                                             ` Alexander E. Kopilovich
  2004-06-15 21:04                                               ` Warren W. Gay VE3WWG
  2004-06-15 22:08                                               ` Marin David Condic
  1 sibling, 2 replies; 216+ messages in thread
From: Alexander E. Kopilovich @ 2004-06-15 19:28 UTC (permalink / raw)
  To: comp.lang.ada

Marin David Condic wrote:

>All the necessary tools exist. There's a free compiler, IDE, debugger, 
>GUI builder, etc., needed to go write apps in Ada.

Not so simple, though - it is not enough to have any tools for demonstrating
benefits of Ada, because main Ada's strength are in conveying information
(more properly and precisely than competing languages) - so you need some
information to convey.

And for a demo that should impress programming community, that information
must:

1) concern some generally known (and more or less interesting) things;
2) be complex at the same time precise enough;
3) be freely available and easily accessible.

Do you know a candidate that satisfies these conditions and still have no
reasonably good and solid implementation in, say, C/C++ ?




Alexander Kopilovich                      aek@vib.usr.pu.ru
Saint-Petersburg
Russia





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 11:47                                             ` Marin David Condic
  2004-06-15 16:21                                               ` Warren W. Gay VE3WWG
@ 2004-06-15 19:36                                               ` Frank J. Lhota
  2004-06-15 19:51                                                 ` Björn Persson
  2004-06-15 22:13                                                 ` Hyman Rosen
  1 sibling, 2 replies; 216+ messages in thread
From: Frank J. Lhota @ 2004-06-15 19:36 UTC (permalink / raw)


"Marin David Condic" <nobody@noplace.com> wrote in message
news:40CEE1BC.4000508@noplace.com...
> ... Hence, additional security
> measures have, over time, continued to be piled on it to try to make it
> do something it wasn't intended to do. (A little like putting a GUI on
> top of MS DOS and trying to make it multitask.)

LOL! To be honest, the only multitasking that existed in MS Windows in the
pre-95 days were pre-emptive multi-tasking, where each application was
expected to periodically call functions such as "GetMessage" and "Yield"
that would allow another application to get a chance to be scheduled. If an
application did not call such functions for a long time, all other
applications would be shut out. Not exactly the most stable platform!





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 19:36                                               ` Frank J. Lhota
@ 2004-06-15 19:51                                                 ` Björn Persson
  2004-06-16 13:44                                                   ` Frank J. Lhota
  2004-06-15 22:13                                                 ` Hyman Rosen
  1 sibling, 1 reply; 216+ messages in thread
From: Björn Persson @ 2004-06-15 19:51 UTC (permalink / raw)


Frank J. Lhota wrote:

> LOL! To be honest, the only multitasking that existed in MS Windows in the
> pre-95 days were pre-emptive multi-tasking, where each application was
> expected to periodically call functions such as "GetMessage" and "Yield"
> that would allow another application to get a chance to be scheduled.

Um ... I thought that was called collaborative multitasking. Doesn't 
"pre-emptive" mean that anything can be interrupted at any time?

-- 
Björn Persson

jor ers @sv ge.
b n_p son eri nu




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-08 16:09                 ` Warren W. Gay VE3WWG
                                     ` (2 preceding siblings ...)
  2004-06-09  4:39                   ` I R T
@ 2004-06-15 19:55                   ` Larry Kilgallen
  3 siblings, 0 replies; 216+ messages in thread
From: Larry Kilgallen @ 2004-06-15 19:55 UTC (permalink / raw)


In article <a%Fzc.16351$nY.585525@news20.bellglobal.com>, "Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> writes:
> David Starner wrote:
> 
>> On Mon, 14 Jun 2004 14:30:08 +1200, Berend de Boer wrote:

>>>So far the real world has not produced a reliable secure OS in C. Can
>>>it be done? I doubt it.

But that does not mean the real world has not created such in other
languages.

>> What OSes are you looking at? You can't expect the major commercial
>> operating systems to be reliable and secure, because the public doesn't
>> want reliable and secure. 
> 
> Well, of course, it depends again on what you consider reliable
> and secure to mean (as Alexander Kopilovich has said).  Some of
> the public _does_ want reliable and secure (depending on what that
> means).

Three examples that seem to me "reliable and secure" are VMS, MVS and
Nonstop.

>> A reliable and secure operating system would run
>> on one standard set of simple predictable hardware. 
> 
> Predictable yes. Simple is what we would want, because
> simple is easier to validate. But I am not certain
> that simplicity must be a prerequisite.

VMS and Nonstop each run on two (in each case diverse) architectures,
going on three.  I don't know about MVS.

>> A reliable and secure
>> operating system would probably run everything in its own virtual machine
>> anyway; 
> 
> This only shifts responsibility from one layer to another. There
> still must be validation, just at a different level. The bottom
> line doesn't really change.
> 
>> the public wants things to go fast. 
> 
> Speed should not matter. Hardware is always run at suboptimal
> speed for reliability reasons. But this is a hardware tradeoff,
> not a software security issue (except possibly for complex
> timing issues).

The Multics ring architecture seems to offer protection without requiring
a virtual machine or emulation.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-08 22:23                       ` Hyman Rosen
                                           ` (2 preceding siblings ...)
  2004-06-09 12:32                         ` Marin David Condic
@ 2004-06-15 20:34                         ` Larry Kilgallen
  3 siblings, 0 replies; 216+ messages in thread
From: Larry Kilgallen @ 2004-06-15 20:34 UTC (permalink / raw)


In article <1087325485.307616@master.nyc.kbcfp.com>, Hyman Rosen <hyrosen@mail.com> writes:
> Warren W. Gay VE3WWG wrote:
>> Generally agreed. I think you would also agree that Ada forces
>> the writer to engineer the project better. You are forced to
>> do more planning with Ada. Compared this with C, where you
>> can always pass around void pointers, etc. to work around
>> things that you forgot to design for.
> 
> Forgetting to design things is obviously not a feature of
> the programming language.

But reminding you about such gaps _is_ a language-specific trait.

> So the flip side of what you are
> saying is that once you accidentally leave out a feature,
> Ada will make it difficult to add.

Certainly more difficult to add piecemeal, and thus more difficult
to forget half of the implementation of that feature.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 18:51                                               ` Hyman Rosen
@ 2004-06-15 21:02                                                 ` Warren W. Gay VE3WWG
  2004-06-15 22:01                                                   ` Hyman Rosen
  0 siblings, 1 reply; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-15 21:02 UTC (permalink / raw)


Hyman Rosen wrote:
> Warren W. Gay VE3WWG wrote:
>> Generally agreed. I think you would also agree that Ada forces
>> the writer to engineer the project better. You are forced to
>> do more planning with Ada. Compared this with C, where you
>> can always pass around void pointers, etc. to work around
>> things that you forgot to design for.
> 
> Forgetting to design things is obviously not a feature of
> the programming language. So the flip side of what you are
> saying is that once you accidentally leave out a feature,
> Ada will make it difficult to add.

Its not a function of memory. Its a function of programmers
taking the path of least resistance. In fact you hear this
from C programmers all the time when they try to learn
Ada ("I just want to do ...", or "it won't let me do...",
"why can't I..."). Ada enforces more rigour in the
code's design.

As far as overall project design, I
would agree that the language isn't going to help
if the developer deliberately leaves out design
effort (or management insists on starting on code
before the design is finished).

>> I would further add that Ada code can tolerate more static
>> analysis, which is pretty much useless or impossible in C.
> 
> I suppose.

-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 19:28                                             ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Alexander E. Kopilovich
@ 2004-06-15 21:04                                               ` Warren W. Gay VE3WWG
  2004-06-15 22:13                                                 ` Marin David Condic
  2004-06-16  0:05                                                 ` Alexander E. Kopilovich
  2004-06-15 22:08                                               ` Marin David Condic
  1 sibling, 2 replies; 216+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-06-15 21:04 UTC (permalink / raw)


Alexander E. Kopilovich wrote:

> Marin David Condic wrote:
>>All the necessary tools exist. There's a free compiler, IDE, debugger, 
>>GUI builder, etc., needed to go write apps in Ada.
...
> Do you know a candidate that satisfies these conditions and still have no
> reasonably good and solid implementation in, say, C/C++ ?

Unless that was a typo, I would think that the point
would be to compare _with_ an existing C/C++
implementation. Why compare where there is no
competition?
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 16:43                                             ` Warren W. Gay VE3WWG
  2004-06-15 18:51                                               ` Hyman Rosen
@ 2004-06-15 21:59                                               ` Marin David Condic
  2004-06-25  4:21                                               ` Enum'Image (Was: Improving Ada's image) Larry Kilgallen
  2 siblings, 0 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-15 21:59 UTC (permalink / raw)


A trick would be to be sure to scope the thing down to something 
achievable yet still useful. Start with something that might already 
exist - like MaRTE or RTEMS. Get it working on some common platform and 
get a project whos aim might be low enough that it can be achieved in 
spare time work by those who might be able to make use of it.

But it needs a certain amount of common vision and an objective to aim 
for. I'm not an OS designer by trade, but I know enough about it that I 
can tell someone needs to have some notion of where the thing is going 
or it will just meander or stagnate. It might help if someone has some 
kind of "Theoretical OS Book" that covered something other than an 
inside look at Unix or Windows - something that said "One day, an OS 
could be built that would look like this and offer these advantages over 
existing systems...." If that theoretical groundwork were done, it might 
make the basis for some hobyist project implementing the thing in stages.

MDC


Warren W. Gay VE3WWG wrote:
> 
> Yep, but you need bodies of people willing to help. One or
> a few individuals can put together an operating system, but
> unless many people contribute towards hardward drivers, the
> project is not likely to gain general acceptance (at least
> on Intel). But even this, is an untested theory, in the
> Ada OS arena so far. ;-)


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 21:02                                                 ` Warren W. Gay VE3WWG
@ 2004-06-15 22:01                                                   ` Hyman Rosen
  2004-06-15 22:08                                                     ` Ed Falis
  2004-06-15 23:30                                                     ` Dale Stanbrough
  0 siblings, 2 replies; 216+ messages in thread
From: Hyman Rosen @ 2004-06-15 22:01 UTC (permalink / raw)


Warren W. Gay VE3WWG wrote:
> Its not a function of memory. Its a function of programmers
> taking the path of least resistance. In fact you hear this
> from C programmers all the time when they try to learn
> Ada ("I just want to do ...", or "it won't let me do...",
> "why can't I..."). Ada enforces more rigour in the
> code's design.

I'll bet you good money that I can tell you exactly what in
the code those frustrated C programmers are talking about;
string handling.

And that's because Ada comes with a type named String which
behaves nothing at all like strings in C or C++, being just
a name for an array of characters, which may be declared with
runtime bounds or returned from a function but is then fixed
in size.

The concept is foreign to C programmers, for whom arrays in
expressions decay to pointers, and which cannot be passed or
returned by value. And I'll bet that *no one explains this*
when teaching Ada. The semantic gap becomes so large that it's
no wonder that C programmers wind up frustrated when trying to
do simple things that work properly in their old language.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 22:01                                                   ` Hyman Rosen
@ 2004-06-15 22:08                                                     ` Ed Falis
  2004-06-15 22:26                                                       ` Hyman Rosen
  2004-06-15 23:30                                                     ` Dale Stanbrough
  1 sibling, 1 reply; 216+ messages in thread
From: Ed Falis @ 2004-06-15 22:08 UTC (permalink / raw)


On Tue, 15 Jun 2004 22:01:51 GMT, Hyman Rosen <hyrosen@mail.com> wrote:

> And that's because Ada comes with a type named String which
> behaves nothing at all like strings in C or C++, being just
> a name for an array of characters, which may be declared with
> runtime bounds or returned from a function but is then fixed
> in size.
>
> The concept is foreign to C programmers, for whom arrays in
> expressions decay to pointers, and which cannot be passed or
> returned by value. And I'll bet that *no one explains this*
> when teaching Ada. The semantic gap becomes so large that it's
> no wonder that C programmers wind up frustrated when trying to
> do simple things that work properly in their old language.

That's an interesting observation, Hyman.  Out of genuine curiosity, do  
you feel that Simon Johnston's tutorial addresses is reasonably?

http://www.adahome.com/Ammo/cpp2ada.html#1.1.3

- Ed



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 19:28                                             ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Alexander E. Kopilovich
  2004-06-15 21:04                                               ` Warren W. Gay VE3WWG
@ 2004-06-15 22:08                                               ` Marin David Condic
  2004-06-15 23:06                                                 ` tmoran
  2004-06-16  0:56                                                 ` Alexander E. Kopilovich
  1 sibling, 2 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-15 22:08 UTC (permalink / raw)


Why does it have to be new? Why can't it simply be an innovative view on 
something that already exists? Why not an "Office Suite" or an 
accounting package or a photoshop package? Mostly, it requires taking a 
look at one of the hundreds or thousands of existing, successful 
products that are out there and saying "I think it would be a whole lot 
more effective or easier to use or otherwise better if only I were to 
implement it *this* way..." Or even something that just marries up two 
or more otherwise independent apps - like a Photoshop/Word 
Processor/Accounting Pacakge (if you want to reinvent the Swiss Army Knife.)

So what do you see on your computer that you wish was done a different way?

MDC

Alexander E. Kopilovich wrote:
> 
> Do you know a candidate that satisfies these conditions and still have no
> reasonably good and solid implementation in, say, C/C++ ?
> 


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 18:53                                                   ` Jeffrey Carter
@ 2004-06-15 22:09                                                     ` Hyman Rosen
  0 siblings, 0 replies; 216+ messages in thread
From: Hyman Rosen @ 2004-06-15 22:09 UTC (permalink / raw)


Jeffrey Carter wrote:
> Brian May wrote:
>> Perhaps I am showing my ignorance, but do you read a string of
>> undefined length into an Ada program?
> All the time:
>    X : String := PragmARC.Get_Line;

That's not much of an answer. That's like saying that I can
generate the proof of the Riemann Hypothesis like this:
     with AdvancedMath; useAdvancedMath;
     procedure GenProof is begin Prove(Theorems.RH); end GenProof;

Obviously it's the inmplementation of the procedure that's of
interest, and presumably it does what we always see described
in c.l.a, which is to read a fixed size buffer and then return
that buffer concatenated with a recursive call if the first
read fills the buffer completely.

That's just copying and pasting bits together like you would do
anywhere else, except that Ada does the array manipulation as a
built-in operation.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 19:36                                               ` Frank J. Lhota
  2004-06-15 19:51                                                 ` Björn Persson
@ 2004-06-15 22:13                                                 ` Hyman Rosen
  2004-06-15 22:32                                                   ` Björn Persson
  1 sibling, 1 reply; 216+ messages in thread
From: Hyman Rosen @ 2004-06-15 22:13 UTC (permalink / raw)


Frank J. Lhota wrote:
> LOL! To be honest, the only multitasking that existed in MS Windows in the
> pre-95 days were pre-emptive multi-tasking, where each application was
> expected to periodically call functions such as "GetMessage" and "Yield"
> that would allow another application to get a chance to be scheduled. If an
> application did not call such functions for a long time, all other
> applications would be shut out. Not exactly the most stable platform!

Why exactly are you mocking this style of behavior? Isn't this a perfectly
valid tasking style for the Ada runtime? I don't know Ada, but I believe
it is perfectly legitimate that if an Ada task does not relinquish control
and no other higher priority task is ready to run, then no other equal
priority task need be given control.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 21:04                                               ` Warren W. Gay VE3WWG
@ 2004-06-15 22:13                                                 ` Marin David Condic
  2004-06-16  0:05                                                 ` Alexander E. Kopilovich
  1 sibling, 0 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-15 22:13 UTC (permalink / raw)


If someone dreams up something completely new and never been done 
before, that's wonderful.

If someone can dream up a better way of doing something that already 
exists, that's almost as good.

If someone can take an unstable, bug-ridden app and re-engineer it to be 
stable and reliable, that's still pretty good.

If someone re-implements a stable, reliable app in Ada and adds no new 
capabilities or features, that's interesting, but hardly worth anything 
to an end user.

I think those things should be considered in looking at existing apps 
built in C/C++. It doesn't need to be at the top of my list, but it 
shouldn't be at the bottom.

MDC



Warren W. Gay VE3WWG wrote:
> 
> Unless that was a typo, I would think that the point
> would be to compare _with_ an existing C/C++
> implementation. Why compare where there is no
> competition?


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 22:08                                                     ` Ed Falis
@ 2004-06-15 22:26                                                       ` Hyman Rosen
  2004-06-17 15:50                                                         ` Robert I. Eachus
  0 siblings, 1 reply; 216+ messages in thread
From: Hyman Rosen @ 2004-06-15 22:26 UTC (permalink / raw)


Ed Falis wrote:
> That's an interesting observation, Hyman.  Out of genuine curiosity, do  
> you feel that Simon Johnston's tutorial addresses is reasonably?
> http://www.adahome.com/Ammo/cpp2ada.html#1.1.3

No, it's a complete hash. Isn't it wrong as well? It claims that 0
can't be used as a lower bound for String. This "tutorial" is exactly
what I was talking about - something which will utterly confuse C
programmers, because it does nothing to address them on terms they
understand, having come from an environment where strings are
variable-sized sequences within fixed-length buffers, with a null
character as an end marker.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 22:13                                                 ` Hyman Rosen
@ 2004-06-15 22:32                                                   ` Björn Persson
  2004-06-15 23:04                                                     ` Hyman Rosen
  2004-06-15 23:18                                                     ` Dale Stanbrough
  0 siblings, 2 replies; 216+ messages in thread
From: Björn Persson @ 2004-06-15 22:32 UTC (permalink / raw)


Hyman Rosen wrote:

> Frank J. Lhota wrote:
> 
>> LOL! To be honest, the only multitasking that existed in MS Windows in 
>> the
>> pre-95 days were pre-emptive multi-tasking, where each application was
>> expected to periodically call functions such as "GetMessage" and "Yield"
>> that would allow another application to get a chance to be scheduled. 
>> If an
>> application did not call such functions for a long time, all other
>> applications would be shut out. Not exactly the most stable platform!
> 
> 
> Why exactly are you mocking this style of behavior? Isn't this a perfectly
> valid tasking style for the Ada runtime? I don't know Ada, but I believe
> it is perfectly legitimate that if an Ada task does not relinquish control
> and no other higher priority task is ready to run, then no other equal
> priority task need be given control.

That's fine for *threads* (for some applications), not for *processes* 
in a general-purpose operating system. If a buggy program enters an 
infinite loop you want to be able to kill it.

-- 
Björn Persson

jor ers @sv ge.
b n_p son eri nu




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 11:35                                             ` Marin David Condic
@ 2004-06-15 23:02                                               ` Brian May
  2004-06-16 11:37                                                 ` Marin David Condic
  2004-06-21 14:56                                               ` Jacob Sparre Andersen
  1 sibling, 1 reply; 216+ messages in thread
From: Brian May @ 2004-06-15 23:02 UTC (permalink / raw)


>>>>> "Marin" == Marin David Condic <nobody@noplace.com> writes:

    Marin> Also, because OS's need high efficiency, it is not at all
    Marin> uncommon to turn off most of the runtime checks because you
    Marin> really need the performance. (Or is someone suggesting that
    Marin> all Ada checks should be left in when developing an OS?)
    Marin> Ada can't help with a variety of runtime errors unless the
    Marin> checks are left in, so does it really buy enough benefit to
    Marin> be able to make claims about how wonderful a theoretical
    Marin> Ada OS would be?

Ada does more checks at compile time then some languages. I would
assume this would benefit an Ada OS, even if all run-time checks are
turned off.
-- 
Brian May <bam@snoopy.apana.org.au>



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 22:32                                                   ` Björn Persson
@ 2004-06-15 23:04                                                     ` Hyman Rosen
  2004-06-15 23:23                                                       ` Brian May
                                                                         ` (2 more replies)
  2004-06-15 23:18                                                     ` Dale Stanbrough
  1 sibling, 3 replies; 216+ messages in thread
From: Hyman Rosen @ 2004-06-15 23:04 UTC (permalink / raw)


Bj�rn Persson wrote:
> That's fine for *threads* (for some applications), not for *processes* 
> in a general-purpose operating system. If a buggy program enters an 
> infinite loop you want to be able to kill it.

It's not unknown for this to happen when a buggy X Windows program grabs
the server and never lets go, and that's on a proper multitasking system.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 22:08                                               ` Marin David Condic
@ 2004-06-15 23:06                                                 ` tmoran
  2004-06-16 11:47                                                   ` Marin David Condic
  2004-06-16  0:56                                                 ` Alexander E. Kopilovich
  1 sibling, 1 reply; 216+ messages in thread
From: tmoran @ 2004-06-15 23:06 UTC (permalink / raw)


>something that already exists? Why not an "Office Suite" or an
How about a decent replacement for Outlook.  That would surely be greeted
with tremendous demand.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 22:32                                                   ` Björn Persson
  2004-06-15 23:04                                                     ` Hyman Rosen
@ 2004-06-15 23:18                                                     ` Dale Stanbrough
  2004-06-15 23:22                                                       ` Hyman Rosen
  2004-06-15 23:59                                                       ` Björn Persson
  1 sibling, 2 replies; 216+ messages in thread
From: Dale Stanbrough @ 2004-06-15 23:18 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 515 bytes --]

In article <_NKzc.96059$dP1.312794@newsc.telia.net>,
 Bj�rn Persson <spam-away@nowhere.nil> wrote:

> Hyman Rosen wrote:

> That's fine for *threads* (for some applications), not for *processes* 
> in a general-purpose operating system. If a buggy program enters an 
> infinite loop you want to be able to kill it.

The differences between threads and processes is pretty limited in 
most modern operating systems.

Do a search on LWP or Light Weight Processes.


Dale

-- 
dstanbro@spam.o.matic.bigpond.net.au



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 23:18                                                     ` Dale Stanbrough
@ 2004-06-15 23:22                                                       ` Hyman Rosen
  2004-06-15 23:37                                                         ` Dale Stanbrough
  2004-06-15 23:59                                                       ` Björn Persson
  1 sibling, 1 reply; 216+ messages in thread
From: Hyman Rosen @ 2004-06-15 23:22 UTC (permalink / raw)


Dale Stanbrough wrote:
>>Hyman Rosen wrote:
> 
>>That's fine for *threads* (for some applications), not for *processes* 
>>in a general-purpose operating system. If a buggy program enters an 
>>infinite loop you want to be able to kill it.

Please watch your attribution. I did not write that.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 23:04                                                     ` Hyman Rosen
@ 2004-06-15 23:23                                                       ` Brian May
  2004-06-15 23:26                                                       ` tmoran
  2004-06-15 23:33                                                       ` Björn Persson
  2 siblings, 0 replies; 216+ messages in thread
From: Brian May @ 2004-06-15 23:23 UTC (permalink / raw)


>>>>> "Hyman" == Hyman Rosen <hyrosen@mail.com> writes:

    Hyman> It's not unknown for this to happen when a buggy X Windows
    Hyman> program grabs the server and never lets go, and that's on a
    Hyman> proper multitasking system.

Even in this case, the web server, for example, continues to run just
fine (unless it is incredibly dodgy and requires X...).

Also, when it does happen, it is easy for an experienced user to
resolve by logging into the system via some other means (eg. text
console) and kill the offending process.

If on the other hand a buggy Windows application doesn't give up CPU
control when using co-oporative multitasking, rebooting is the only
option.

It is still possible for a single application to cause other
applications to hang, just not as easy to do accidently, by denial of
service attacks (depending on ulimits under Unix). Eg. by hogging all
available diskspace, or allocating all RAM, or spawning infinity
processes, flooding the network, etc. Eventually other processes will
no longer work as required.

All of this seems irrelevant to Ada though, I don't think that there
is anything unique to Ada which would solve any of these issues.
-- 
Brian May <bam@snoopy.apana.org.au>



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 23:04                                                     ` Hyman Rosen
  2004-06-15 23:23                                                       ` Brian May
@ 2004-06-15 23:26                                                       ` tmoran
  2004-06-16 18:11                                                         ` Ludovic Brenta
  2004-06-15 23:33                                                       ` Björn Persson
  2 siblings, 1 reply; 216+ messages in thread
From: tmoran @ 2004-06-15 23:26 UTC (permalink / raw)


>> in a general-purpose operating system. If a buggy program enters an
>> infinite loop you want to be able to kill it.
>
>It's not unknown for this to happen when a buggy X Windows program grabs
>the server and never lets go, and that's on a proper multitasking system.
  Also Windows 2000.  Its idea of "pre-emptive" is that the paper clip
can flash a new image once every 30 seconds or so, and in 5 or 10 minutes
you can get enough into Task Manager to tell it to kill the errant process.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 22:01                                                   ` Hyman Rosen
  2004-06-15 22:08                                                     ` Ed Falis
@ 2004-06-15 23:30                                                     ` Dale Stanbrough
  1 sibling, 0 replies; 216+ messages in thread
From: Dale Stanbrough @ 2004-06-15 23:30 UTC (permalink / raw)


Hyman Rosen wrote:

> The concept is foreign to C programmers, for whom arrays in
> expressions decay to pointers, and which cannot be passed or
> returned by value. And I'll bet that *no one explains this*
> when teaching Ada. The semantic gap becomes so large that it's
> no wonder that C programmers wind up frustrated when trying to
> do simple things that work properly in their old language.

I thought I had this in my notes, but upon examination it seems not!
I'll have to update them to include this.

Thanks,

Dale

-- 
dstanbro@spam.o.matic.bigpond.net.au



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 23:04                                                     ` Hyman Rosen
  2004-06-15 23:23                                                       ` Brian May
  2004-06-15 23:26                                                       ` tmoran
@ 2004-06-15 23:33                                                       ` Björn Persson
  2 siblings, 0 replies; 216+ messages in thread
From: Björn Persson @ 2004-06-15 23:33 UTC (permalink / raw)


Hyman Rosen wrote:

> Björn Persson wrote:
> 
>> That's fine for *threads* (for some applications), not for *processes* 
>> in a general-purpose operating system. If a buggy program enters an 
>> infinite loop you want to be able to kill it.
> 
> It's not unknown for this to happen when a buggy X Windows program grabs
> the server and never lets go, and that's on a proper multitasking system.

And you can't even switch virtual consoles since X has complete control 
of the keyboard, so the only way is to log in on another physical 
console or over the network. I guess it's a design problem in X, 
although it could be argued that a kernel should keep at least one key 
combination to itself.

I suppose the conclusion is that a process scheduler can't solve all the 
world's problems.

-- 
Björn Persson

jor ers @sv ge.
b n_p son eri nu




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 23:22                                                       ` Hyman Rosen
@ 2004-06-15 23:37                                                         ` Dale Stanbrough
  0 siblings, 0 replies; 216+ messages in thread
From: Dale Stanbrough @ 2004-06-15 23:37 UTC (permalink / raw)


In article <uwLzc.30032$mz.11931@nwrdny02.gnilink.net>,
 Hyman Rosen <hyrosen@mail.com> wrote:

> Dale Stanbrough wrote:
> >>Hyman Rosen wrote:
> > 
> >>That's fine for *threads* (for some applications), not for *processes* 
> >>in a general-purpose operating system. If a buggy program enters an 
> >>infinite loop you want to be able to kill it.
> 
> Please watch your attribution. I did not write that.

My apologies! A slip up with the editing.

Dale

-- 
dstanbro@spam.o.matic.bigpond.net.au



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 23:18                                                     ` Dale Stanbrough
  2004-06-15 23:22                                                       ` Hyman Rosen
@ 2004-06-15 23:59                                                       ` Björn Persson
  1 sibling, 0 replies; 216+ messages in thread
From: Björn Persson @ 2004-06-15 23:59 UTC (permalink / raw)


Dale Stanbrough wrote:

> The differences between threads and processes is pretty limited in 
> most modern operating systems.
> 
> Do a search on LWP or Light Weight Processes.

Yes, it's common to provide threading libraries with preemptive 
scheduling with help from the kernel, but you can still use a userspace 
threading library with cooperative scheduling in your program if that 
fits your needs better. With Gnat on Linux you can choose between native 
threads and FSU threads for example.

-- 
Björn Persson

jor ers @sv ge.
b n_p son eri nu




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 21:04                                               ` Warren W. Gay VE3WWG
  2004-06-15 22:13                                                 ` Marin David Condic
@ 2004-06-16  0:05                                                 ` Alexander E. Kopilovich
  1 sibling, 0 replies; 216+ messages in thread
From: Alexander E. Kopilovich @ 2004-06-16  0:05 UTC (permalink / raw)
  To: comp.lang.ada

Warren W. Gay wrote:

> >>All the necessary tools exist. There's a free compiler, IDE, debugger, 
> >>GUI builder, etc., needed to go write apps in Ada.
> ...
> > Do you know a candidate that satisfies these conditions and still have no
> > reasonably good and solid implementation in, say, C/C++ ?
>
> Unless that was a typo, I would think that the point
> would be to compare _with_ an existing C/C++ implementation.

But I said "still have no reasonably good and solid implementation" - not just
any C/C++ implementation. I think that there is absolutely no reason to try
to compete with reasonably good and solid implementation; and after all you'll
definitely looe such a competition - because if your implementation even
appears better in some details/cases then C++ herd (remember that there are
many talented, skilled and experienced C++ programmers around) immediately
will produce new version of existing C++ implementation, in which they'll pay
enough attention to those not-so-good pieces of their code. And then they will
thank you for good benchmark/example -:) .

> Why compare where there is no competition?

Direct competition is just one and quite narrow and limited form of
comparison. In the case of powerful programming languages, such as Ada
and C++, a direct competition make little sense, if any.

Anyway, currently the aim to prove (for general programming community)
that Ada is better than C++ seems simply ridiculous. It will be great
if Ada proponents can point at one or two obviously good products written
in Ada - big and complex enough, open source, generally interesting (in
particular it should not be an Ada compiler or general-purpose Ada library,
like Charles), and there shouldn't be plenty of C++ analogs around, some
of them lighter while others more powerful (for example, Ada Web Server do not
qualify for that reason). So far I don't know any product of that kind.




Alexander Kopilovich                      aek@vib.usr.pu.ru
Saint-Petersburg
Russia




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 22:08                                               ` Marin David Condic
  2004-06-15 23:06                                                 ` tmoran
@ 2004-06-16  0:56                                                 ` Alexander E. Kopilovich
  2004-06-16 11:54                                                   ` Marin David Condic
  1 sibling, 1 reply; 216+ messages in thread
From: Alexander E. Kopilovich @ 2004-06-16  0:56 UTC (permalink / raw)
  To: comp.lang.ada

Marin David Condic wrote:

> Why does it have to be new? Why can't it simply be an innovative view on 
> something that already exists?

Certainly that will be OK also. Just a little problem - where to get that
innovative view? -:)  And not just innovative, but also still not covered by
some wild patent -;) .
 
> Why not an "Office Suite" or an 
> accounting package or a photoshop package?

It would be very easy to answer for that in Russian -:) , but my poor English
severely limits me at this point. Well, I just can't imagine that anyone who
had at least slight experience with those products will try to re-implement
them for free (in any language, including Ada). The obvious problem there is
in requirements: these kinds of products have particularly big and complex and
worse of all - fuzzy - sets of requirements. With any innovative view you may
succeed to satisfy major part of them - but far from all (inevitably, because
you don't know them), and that will topple your product... if you aren't
supported by some strong external source.

> Mostly, it requires taking a 
> look at one of the hundreds or thousands of existing, successful 
> products that are out there and saying "I think it would be a whole lot 
> more effective or easier to use or otherwise better if only I were to 
> implement it *this* way..." Or even something that just marries up two 
> or more otherwise independent apps - like a Photoshop/Word 
> Processor/Accounting Pacakge (if you want to reinvent the Swiss Army Knife.)

Brilliant business plan... but why Ada? - this is obviously for Java... or
at least for C#/.NET,,, but still better for Java.

> So what do you see on your computer that you wish was done a different way?

Hm... a pen instead of the mouse (option)... a handheld or smartphone instead
of the mouse (another option)... an expandable directory tree inside a folder
(option) - sometimes I don't like to switch folders while browsing directories
... ability to change manually the order of items on the taskbar. Seems that
there is nothing relevant to Ada among these wishes -:)




Alexander Kopilovich                      aek@vib.usr.pu.ru
Saint-Petersburg
Russia





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 23:02                                               ` Brian May
@ 2004-06-16 11:37                                                 ` Marin David Condic
  0 siblings, 0 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-16 11:37 UTC (permalink / raw)


Sure it helps. As would runtime checks since they could be used in 
debugging & turned off for production. I'm not saying that Ada wouldn't 
help to produce a better quality OS (or any other program for that 
matter). What I'm saying is that it isn't "Magic". People can do 
sufficient design & testing on C code to get the same reliability 
(albeit at probably greater cost) and the big problems with OS stability 
are typically the kind of things that are not going to get caught by 
language rules. (Like timing of asynchronous events, etc.)

There is a danger with hyping Ada as capable of doing things it can't 
really do. To those who have developed real world apps in other 
languages and managed to get them stable & reliable, Ada enthusiasts 
will look kind of silly claiming that it can only be done in Ada.

In other newsgroups, people have claimed that "Ada isn't well suited to 
OS work..." and their typical response when challenged on this is "Well, 
show me where it *is* used successfully in OS work?" Small scale 
realtime OS's can be found (and yes, that counts) but not much in the 
way of "real" OS's like Linux or Windows. If Ada can really do this (I 
believe it could) and people want to make claims about how superior it 
would be at doing this, then there needs to be some proof by 
demonstration or the claims get dismissed as coming from a bunch of 
idealogues and kooks.

MDC


Brian May wrote:
> 
> Ada does more checks at compile time then some languages. I would
> assume this would benefit an Ada OS, even if all run-time checks are
> turned off.


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 23:06                                                 ` tmoran
@ 2004-06-16 11:47                                                   ` Marin David Condic
  2004-06-17  1:33                                                     ` Brian May
  0 siblings, 1 reply; 216+ messages in thread
From: Marin David Condic @ 2004-06-16 11:47 UTC (permalink / raw)


I've found Outlook to be bloated, slow, etc. That might make a good 
candidate. Perhaps with a philosophy of not trying to build the Swiss 
Army Knife of e-mail programs: Build the various functions as 
independent units (capable of working together) so that you don't need 
to load/run the pieces you don't want or for which you have a substitute 
(like an address book). That might be a concept that could work well & 
find some popularity in the user community. Perhaps even making it work 
in conjunction with OpenOffice might help?

Of course, there's always the question: "How do we make some money on 
this?" If we don't do that, there are no salaries & no funding of 
vendors. Open Source might be a good way to get it out into the world, 
but would people pay for it in some way?

MDC



tmoran@acm.org wrote:
>>something that already exists? Why not an "Office Suite" or an
> 
> How about a decent replacement for Outlook.  That would surely be greeted
> with tremendous demand.


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-16  0:56                                                 ` Alexander E. Kopilovich
@ 2004-06-16 11:54                                                   ` Marin David Condic
  0 siblings, 0 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-16 11:54 UTC (permalink / raw)



Lots of thoughtful comments, but let me address just this one. I had not 
thought of hardware devices on a PC until you brought it up. An 
excellent view, too. Why not try to cash in on the coming tide wherein 
the PC in your home is going to start merging with your other electronic 
appliances? Like why not develop some kind of telephone applications & 
work with Voice Over IP? I'm not sure what - but its a road down which 
you could let your mind wander & see if you come up with something 
creative...

MDC


Alexander E. Kopilovich wrote:
> 
> Hm... a pen instead of the mouse (option)... a handheld or smartphone instead
> of the mouse (another option)... an expandable directory tree inside a folder
> (option) - sometimes I don't like to switch folders while browsing directories
> ... ability to change manually the order of items on the taskbar. Seems that
> there is nothing relevant to Ada among these wishes -:)
> 



-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls
  2004-06-12 12:03                                       ` Marin David Condic
  2004-06-12 12:47                                         ` Jeff C,
  2004-06-13  6:08                                         ` Russ
@ 2004-06-16 13:38                                         ` Larry Kilgallen
  2 siblings, 0 replies; 216+ messages in thread
From: Larry Kilgallen @ 2004-06-16 13:38 UTC (permalink / raw)


In article <7wKzc.29929$mz.28528@nwrdny02.gnilink.net>, Hyman Rosen <hyrosen@mail.com> writes:
> Frank J. Lhota wrote:
>> LOL! To be honest, the only multitasking that existed in MS Windows in the
>> pre-95 days were pre-emptive multi-tasking, where each application was
>> expected to periodically call functions such as "GetMessage" and "Yield"
>> that would allow another application to get a chance to be scheduled. If an
>> application did not call such functions for a long time, all other
>> applications would be shut out. Not exactly the most stable platform!
> 
> Why exactly are you mocking this style of behavior? Isn't this a perfectly
> valid tasking style for the Ada runtime? I don't know Ada, but I believe
> it is perfectly legitimate that if an Ada task does not relinquish control
> and no other higher priority task is ready to run, then no other equal
> priority task need be given control.

A major difference would be that an operating system labelled as having
"cooperative multitasking" _has_ no higher priority tasks, so there is
no escape from the "wait until the piggy code cooperates" paridigm.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 19:51                                                 ` Björn Persson
@ 2004-06-16 13:44                                                   ` Frank J. Lhota
  0 siblings, 0 replies; 216+ messages in thread
From: Frank J. Lhota @ 2004-06-16 13:44 UTC (permalink / raw)


Frank J. Lhota wrote:

> LOL! To be honest, the only multitasking that existed in MS Windows in the
> pre-95 days were pre-emptive multi-tasking, where each application was
> expected to periodically call functions such as "GetMessage" and "Yield"
> that would allow another application to get a chance to be scheduled.

Sorry, I should have said "non-pre-emptive multi-tasking".





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 23:26                                                       ` tmoran
@ 2004-06-16 18:11                                                         ` Ludovic Brenta
  0 siblings, 0 replies; 216+ messages in thread
From: Ludovic Brenta @ 2004-06-16 18:11 UTC (permalink / raw)


 writes:
>>> in a general-purpose operating system. If a buggy program enters an
>>> infinite loop you want to be able to kill it.
>>
>>It's not unknown for this to happen when a buggy X Windows program grabs
>>the server and never lets go, and that's on a proper multitasking system.
>   Also Windows 2000.  Its idea of "pre-emptive" is that the paper clip
> can flash a new image once every 30 seconds or so, and in 5 or 10 minutes
> you can get enough into Task Manager to tell it to kill the errant process.

In my experience, the paper clip is quite preemptive by itself.  At
seemingly random intervals, it will forcibly stop the user in the
middle of whatever they were doing :)

-- 
Ludovic Brenta.




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-16 11:47                                                   ` Marin David Condic
@ 2004-06-17  1:33                                                     ` Brian May
  2004-06-17 12:09                                                       ` Marin David Condic
  0 siblings, 1 reply; 216+ messages in thread
From: Brian May @ 2004-06-17  1:33 UTC (permalink / raw)


>>>>> "Marin" == Marin David Condic <nobody@noplace.com> writes:

    Marin> I've found Outlook to be bloated, slow, etc. That might
    Marin> make a good candidate. Perhaps with a philosophy of not

I don't think so...

You are comparing an incredibly poorly designed, poorly written,
insecure application written in C (I assume), with presumably a
properly designed and written application in Ada.

To conclude that the second one is better then the first because of
the choice of language is a bit misleading IMHO. In fact, my guess is
a number of the security flaws in Outlook would also occur in Ada.
eg. look at the JavaScript related security issues.

    Marin> trying to build the Swiss Army Knife of e-mail programs:
    Marin> Build the various functions as independent units (capable
    Marin> of working together) so that you don't need to load/run the
    Marin> pieces you don't want or for which you have a substitute
    Marin> (like an address book). That might be a concept that could
    Marin> work well & find some popularity in the user
    Marin> community. Perhaps even making it work in conjunction with
    Marin> OpenOffice might help?

Do you load these units at compile time, start-up time (when
application starts), or on demand (eg. when user selects address
book)?

Loading units at compile time is fast and efficient as far as the user
is concerned, but means recompiling for adding a new unit. The other
options are more flexible as far as the user is concerned, but may
result in slower execution while the units load and initialize, and
may require more overhead to keep track of the different units at
run-time.
-- 
Brian May <bam@snoopy.apana.org.au>



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-17  1:33                                                     ` Brian May
@ 2004-06-17 12:09                                                       ` Marin David Condic
  0 siblings, 0 replies; 216+ messages in thread
From: Marin David Condic @ 2004-06-17 12:09 UTC (permalink / raw)




Brian May wrote:
> I don't think so...
> 
> You are comparing an incredibly poorly designed, poorly written,
> insecure application written in C (I assume), with presumably a
> properly designed and written application in Ada.
> 
> To conclude that the second one is better then the first because of
> the choice of language is a bit misleading IMHO. In fact, my guess is
> a number of the security flaws in Outlook would also occur in Ada.
> eg. look at the JavaScript related security issues.
> 

You are missing the point. I'm not comparing Outlook to a theoretical 
Ada-Outlook. Outlook is merely an example of a type of app that someone 
might imagine a better way of doing. Its an 
e-mail/news-reader/address-book and probably a few other things as well. 
It has weaknesses at a conceptual level that someone might be able to 
dream up a better way of doing. (Like not having it try to do all these 
different jobs all in the same package)


> 
> Do you load these units at compile time, start-up time (when
> application starts), or on demand (eg. when user selects address
> book)?
> 
> Loading units at compile time is fast and efficient as far as the user
> is concerned, but means recompiling for adding a new unit. The other
> options are more flexible as far as the user is concerned, but may
> result in slower execution while the units load and initialize, and
> may require more overhead to keep track of the different units at
> run-time.

Now you're running off and designing it without really knowing what to 
design. Start with a list: "What I don't like about the way Office does 
what it does..." When you get done with that list, start another list: 
"The capabilities, features, functions, options, etc. that I would put 
into a similar app if I was the Product Manager for Outlook..." When 
you've done that, you're a considerable step closer to deciding if it is 
going to be one monolithic app or an install-time-configurable app or a 
half a dozen independent apps.

In between the lists and deciding what the app(s) should generally look 
like, it might be a good idea to do a little "Marketing Survey" to try 
to see if your concepts of what is wrong with Outlook and what you'd 
like to see in an alternative are things that are generally shared by 
enough of the rest of the world to make sure you're not trying to build 
an app nobody wants.

MDC


-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "Face it ladies, its not the dress that makes you look fat.
     Its the FAT that makes you look fat."

         --  Al Bundy

======================================================================




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 22:26                                                       ` Hyman Rosen
@ 2004-06-17 15:50                                                         ` Robert I. Eachus
  2004-06-17 16:12                                                           ` Hyman Rosen
  0 siblings, 1 reply; 216+ messages in thread
From: Robert I. Eachus @ 2004-06-17 15:50 UTC (permalink / raw)


Hyman Rosen wrote:

> No, it's a complete hash. Isn't it wrong as well? It claims that 0
> can't be used as a lower bound for String.

Why ask here?  You can write a couple of lines in Ada, and look at the 
error message you get.

Now, putting on my language lawyer hat Hyman is "correct" but for normal 
use the tutorial is fine.  You can define a null String in Ada as:

Foo: String(0..-1);

and while declaring:

Bar: String(0..1) := "  ";

is legal most compilers will provide a warning that Constraint_Error 
will be raised at run time.  With GNAT 3.15p, the program:

procedure String_Test is
   Foo: String(0..-1);
   Bar: String(0..1) := "  ";
begin null; end;

Compiles, but with the warning:
string_test.adb:3:15: warning: static value out of range of type 
"Standard.Positive"
string_test.adb:3:15: warning: "Constraint_Error" will be raised at run time

> This "tutorial" is exactly
> what I was talking about - something which will utterly confuse C
> programmers, because it does nothing to address them on terms they
> understand, having come from an environment where strings are
> variable-sized sequences within fixed-length buffers, with a null
> character as an end marker.

So it tells them to use Ada.Strings.Unbounded: "To overcome the 
constraint problem for strings Ada has a predefined package 
Ada.Strings.Unbounded which implements a variable length string type." 
Again, as a language lawyer, I would suggest both Bounded and Unbounded 
and explain the differences, but that is not the object of this tutorial.

-- 

                                           Robert I. Eachus

The ideology he opposed throughout his political life insisted that 
history was moved by impersonal tides and unalterable fates. Ronald 
Reagan believed instead in the courage and triumph of free men and we 
believe it all the more because we saw that courage in him.  -- George 
W. Bush June 11, 2004




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-17 15:50                                                         ` Robert I. Eachus
@ 2004-06-17 16:12                                                           ` Hyman Rosen
  2004-06-17 21:05                                                             ` Pascal Obry
  2004-06-19 20:54                                                             ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Robert I. Eachus
  0 siblings, 2 replies; 216+ messages in thread
From: Hyman Rosen @ 2004-06-17 16:12 UTC (permalink / raw)


Robert I. Eachus wrote:
> Now, putting on my language lawyer hat Hyman is "correct"

Oh, sorry, I was just wrong. I didn't realize that String
was indexed by Positive. Remeber, I don't know Ada (and I
don't have an Ada compiler installed at the office!)

The problem is that as a tutorial, I don't think that it
actually teaches. That is, it makes perfect sense to Ada
programmers who already know how to do this stuff. I don't
think it makes any sense to an Ada newbie who is trying to
figure out how to work with strings in Ada to accomplish
what he was doing in C.

Just for example, it is ubiquitous in C to have arrays of
strings, either with or without a null pointer terminator:
     const char *colors[] = { "Red", "Green", "Blue", 0 };
     const char *CMYK[] = { "Cyan", "Magenta", "Yellow", "Black" };
How do you carry this over into Ada?



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-17 16:12                                                           ` Hyman Rosen
@ 2004-06-17 21:05                                                             ` Pascal Obry
  2004-06-17 21:47                                                               ` Hyman Rosen
                                                                                 ` (2 more replies)
  2004-06-19 20:54                                                             ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Robert I. Eachus
  1 sibling, 3 replies; 216+ messages in thread
From: Pascal Obry @ 2004-06-17 21:05 UTC (permalink / raw)



Hyman Rosen <hyrosen@mail.com> writes:

> Just for example, it is ubiquitous in C to have arrays of
> strings, either with or without a null pointer terminator:
>      const char *colors[] = { "Red", "Green", "Blue", 0 };
>      const char *CMYK[] = { "Cyan", "Magenta", "Yellow", "Black" };
> How do you carry this over into Ada?

As you've done in C, using pointers (I mean access types :):

   type String_Access is access constant String;
   type Color_Set is array (Positive range <>) of String_Access;

   Red   : aliased constant String := "Red";
   Green : aliased constant String := "Green";
   Blue  : aliased constant String := "Blue";

   Colors : constant Color_Set := (Red'Access, Green'Access, Blue'Access);

No need for a "null" terminator. In Ada we have the array bounds:

   for K in Colors'Range loop
      ...
   end loop;

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|              http://www.obry.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-17 21:05                                                             ` Pascal Obry
@ 2004-06-17 21:47                                                               ` Hyman Rosen
  2004-06-17 22:18                                                                 ` Georg Bauhaus
  2004-06-17 23:02                                                               ` Brian May
  2004-06-19 18:10                                                               ` Ragged arrays of strings (Was: Improving Ada's image) Jacob Sparre Andersen
  2 siblings, 1 reply; 216+ messages in thread
From: Hyman Rosen @ 2004-06-17 21:47 UTC (permalink / raw)


Pascal Obry wrote:
> Hyman Rosen <hyrosen@mail.com> writes:
>>How do you carry this over into Ada?
> 
> As you've done in C, using pointers (I mean access types :):
> 
>    type String_Access is access constant String;
>    type Color_Set is array (Positive range <>) of String_Access;
> 
>    Red   : aliased constant String := "Red";
>    Green : aliased constant String := "Green";
>    Blue  : aliased constant String := "Blue";
> 
>    Colors : constant Color_Set := (Red'Access, Green'Access, Blue'Access);

Good; someone should add this to a tutorial for people converting.
I think Dale Stanbrough said that he's maintaining notes on this.

I think there's a pleasant symmetry between this code in Ada
and enumeration types in C and C++. Here you need to create a
variable for each string, and in C you need to create separate
strings for printing enumeration literals, while Ada provides
this for you.

> No need for a "null" terminator. In Ada we have the array bounds:

In C also, but just as with strings and buffers, in C these arrays
of pointers are sometimes populated dynamically and a null pointer
is used to indicate the end.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-17 21:47                                                               ` Hyman Rosen
@ 2004-06-17 22:18                                                                 ` Georg Bauhaus
  2004-06-18  5:19                                                                   ` Brian May
  0 siblings, 1 reply; 216+ messages in thread
From: Georg Bauhaus @ 2004-06-17 22:18 UTC (permalink / raw)


Hyman Rosen <hyrosen@mail.com> wrote:
: Pascal Obry wrote:
:>    Colors : constant Color_Set := (Red'Access, Green'Access, Blue'Access);
: 
: Good; someone should add this to a tutorial for people converting.

(And add a note that new String'("bla") need not mean dynamic heap
allocation, for example at library level.)




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-17 21:05                                                             ` Pascal Obry
  2004-06-17 21:47                                                               ` Hyman Rosen
@ 2004-06-17 23:02                                                               ` Brian May
  2004-06-18  7:50                                                                 ` Martin Dowie
  2004-06-19 18:10                                                               ` Ragged arrays of strings (Was: Improving Ada's image) Jacob Sparre Andersen
  2 siblings, 1 reply; 216+ messages in thread
From: Brian May @ 2004-06-17 23:02 UTC (permalink / raw)


>>>>> "Pascal" == Pascal Obry <pascal@obry.org> writes:

    Pascal> As you've done in C, using pointers (I mean access types :):

    Pascal> type String_Access is access constant String;
    Pascal> type Color_Set is array (Positive range <>) of String_Access;

    Pascal> Red   : aliased constant String := "Red";
    Pascal> Green : aliased constant String := "Green";
    Pascal> Blue  : aliased constant String := "Blue";

    Pascal> Colors : constant Color_Set := (Red'Access, Green'Access, Blue'Access);

Would this work without pointers? If not, why not? eg:

type Color_Set is array (Positive range <>) of String;

Red   : constant String := "Red";
Green : constant String := "Green";
Blue  : constant String := "Blue";

Colors : constant Color_Set := (Red, Green, Blue);
-- 
Brian May <bam@snoopy.apana.org.au>



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-17 22:18                                                                 ` Georg Bauhaus
@ 2004-06-18  5:19                                                                   ` Brian May
  2004-06-18 14:44                                                                     ` Georg Bauhaus
  0 siblings, 1 reply; 216+ messages in thread
From: Brian May @ 2004-06-18  5:19 UTC (permalink / raw)


>>>>> "Georg" == Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de> writes:

    Georg> (And add a note that new String'("bla") need not mean dynamic heap
    Georg> allocation, for example at library level.)

Any chance you could please expand on this statement? How else could
it be implemented? What does GNAT do?

Thanks.
-- 
Brian May <bam@snoopy.apana.org.au>



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-17 23:02                                                               ` Brian May
@ 2004-06-18  7:50                                                                 ` Martin Dowie
  2004-06-19 20:40                                                                   ` Robert I. Eachus
  0 siblings, 1 reply; 216+ messages in thread
From: Martin Dowie @ 2004-06-18  7:50 UTC (permalink / raw)


"Brian May" <bam@snoopy.apana.org.au> wrote in message
news:sa4659ppz44.fsf@snoopy.apana.org.au...
> >>>>> "Pascal" == Pascal Obry <pascal@obry.org> writes:
>
>     Pascal> As you've done in C, using pointers (I mean access types :):
>
>     Pascal> type String_Access is access constant String;
>     Pascal> type Color_Set is array (Positive range <>) of String_Access;
>
>     Pascal> Red   : aliased constant String := "Red";
>     Pascal> Green : aliased constant String := "Green";
>     Pascal> Blue  : aliased constant String := "Blue";
>
>     Pascal> Colors : constant Color_Set := (Red'Access, Green'Access,
Blue'Access);
>
> Would this work without pointers? If not, why not? eg:
>
> type Color_Set is array (Positive range <>) of String;
>
> Red   : constant String := "Red";
> Green : constant String := "Green";
> Blue  : constant String := "Blue";
>
> Colors : constant Color_Set := (Red, Green, Blue);

No because String is an unconstrained type. You could have

type Colour_Set is array (Positive) range <>) of String (1 .. 5);

Red : constant Sgtring := "  Red";
Green : constant String := "Green";
Blue : constant String := "Blue";

Colours : constant Colour_Set (Red, Green, Blue);

But that's not quite the same thing... (i.e. not a ragged array).

Cheers

-- Martin







^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
@ 2004-06-18 14:43 abrandon
  2004-06-18 17:49 ` Wes Groleau
  0 siblings, 1 reply; 216+ messages in thread
From: abrandon @ 2004-06-18 14:43 UTC (permalink / raw)
  To: comp.lang.ada

I can't figure out from his message how to write to Marin directly, so this 
has to be public correction: You're missing apostrophes in both your "it's" in 
your tagline. Also, your email address that's spaced out is incomplete, ending 
in ".r" rather than the usual ".com" or ".org".

"Face it, gentlemen, it's not the typos that make you look sloppy. . ."

Ann Brandon,
proof reader extraordinaire



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-18  5:19                                                                   ` Brian May
@ 2004-06-18 14:44                                                                     ` Georg Bauhaus
  0 siblings, 0 replies; 216+ messages in thread
From: Georg Bauhaus @ 2004-06-18 14:44 UTC (permalink / raw)


Brian May <bam@snoopy.apana.org.au> wrote:
:>>>>> "Georg" == Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de> writes:
: 
:    Georg> (And add a note that new String'("bla") need not mean dynamic heap
:    Georg> allocation, for example at library level.)
: 
: Any chance you could please expand on this statement? How else could
: it be implemented? What does GNAT do?

An assembly listing for the following program shows no occurence
of an allocator for Lib.fixed, and one occurence for dyn in main.
Here is the library part.

package Lib is

   type String_Access is access constant String;

   fixed: constant String_Access := new String'("AZAZAZ");

end Lib;

; ************* Initialized part of the global segment :

    000000 lib.fixed        DD  __lcl.00000015
    000004 __lcl.00000015   DD  00000001
                            DD  00000006
                            DB  41
                            DB  5A
                            DB  41
                            DB  5A
                            DB  41
                            DB  5A
; ********* End of segment, Total size = 18

To me, this looks like the String "AZAZAZ", with bounds 1 and 6.
The listing has been produced by ObjectAda 722, GNAT appears to behave
similarly.

with Lib;

procedure main is
   dyn: Lib.String_Access;
   n: Positive := 4;
   --  to prevent the compiler from "knowing" that lib.fixed(2..4) can be
   --  determined in advance, see the following statement.
begin
   dyn := new String'(Lib.fixed(2..n));
end main;

For this, I get MOVements for dyn, and n, then a small calculation,
then a CALL rts_allocate.
Then some instructions referring to __lcl.00000015 from above the
lib.fixed character bytes, then a CALL _rts_block_move.

So my guess is that the allocation happens for dyn, but not for fixed.
(I don't read ASM fluently though, and neither Power PC assembler, so
take this with a grain of salt.)

IIRC, this has been discussed before.


-- Georg



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-18 14:43 abrandon
@ 2004-06-18 17:49 ` Wes Groleau
  0 siblings, 0 replies; 216+ messages in thread
From: Wes Groleau @ 2004-06-18 17:49 UTC (permalink / raw)


abrandon@sover.net wrote:
> your tagline. Also, your email address that's spaced out is incomplete, ending 
> in ".r" rather than the usual ".com" or ".org".

Read both lines "zigzag"

> "Face it, gentlemen, it's not the typos that make you look sloppy. . ."

I will not discuss the diplomacy and/or lack of it
in his sig quote.  :-)

-- 
Wes Groleau

A pessimist says the glass is half empty.

An optimist says the glass is half full.

An engineer says somebody made the glass
        twice as big as it needed to be.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Ragged arrays of strings (Was: Improving Ada's image)
  2004-06-17 21:05                                                             ` Pascal Obry
  2004-06-17 21:47                                                               ` Hyman Rosen
  2004-06-17 23:02                                                               ` Brian May
@ 2004-06-19 18:10                                                               ` Jacob Sparre Andersen
  2004-06-20 22:01                                                                 ` Pascal Obry
  2 siblings, 1 reply; 216+ messages in thread
From: Jacob Sparre Andersen @ 2004-06-19 18:10 UTC (permalink / raw)


Pascal Obry wrote:

>    type String_Access is access constant String;
>    type Color_Set is array (Positive range <>) of String_Access;
> 
>    Red   : aliased constant String := "Red";
>    Green : aliased constant String := "Green";
>    Blue  : aliased constant String := "Blue";
> 
>    Colors : constant Color_Set := (Red'Access, Green'Access, Blue'Access);

I tend to use Ada.Strings.Unbounded for ragged arrays of strings.  I
suppose it gives a larger overhead than an array of pointers to
constant strings, but I like to avoid having to define the
intermediate objects (here the aliased constants Red, Green and Blue)
explicitly.

Jacob
-- 
"Nobody writes jokes in base 13."
 Douglas Adams



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-18  7:50                                                                 ` Martin Dowie
@ 2004-06-19 20:40                                                                   ` Robert I. Eachus
  0 siblings, 0 replies; 216+ messages in thread
From: Robert I. Eachus @ 2004-06-19 20:40 UTC (permalink / raw)


Martin Dowie wrote:

> No because String is an unconstrained type. You could have
> 
> type Colour_Set is array (Positive) range <>) of String (1 .. 5);
> 
> Red : constant Sgtring := "  Red";
> Green : constant String := "Green";
> Blue : constant String := "Blue";
> 
> Colours : constant Colour_Set (Red, Green, Blue);
> 
> But that's not quite the same thing... (i.e. not a ragged array).

Ah, but you could use Ada.Strings.Bounded:

with Ada.Strings.Bounded;
...
package Color_Strings is new Ada.Strings.Bounded(12);
-- or your choice of bound...

subtype Color_Name is Color_Strings.Bounded_String;

function "+"(Source: in String) return Color_Name is
begin return Color_Strings.To_Bounded_String(Source); end "+";
...
Red: constant Color_Name := +"Red";
Green: constant Color_Name := +"Green";
Blue: constant Color_Name := +"Blue";
Aquamarine: constant Color_Name := +"Aquamarine";
...
type Color_Set is array (Positive range <>) of Color_Name;

Colors: constant Color_Set := (Red, Blue, Green, Aquamarine);

-- Add "u" as appropriate, if you live in Blighty. ;-)

You could also use Unbounded_Strings, but this is the perfect 
application for Bounded_String.  A lot of short strings, of size known 
at compile time.  The other case where I use Bounded_String a lot is in 
binding to databases.  If a text field has a specific length, using 
Bounded_String makes it easy to detect strings too long before starting 
a database transaction.

-- 

                                           Robert I. Eachus

"Reason and experience both forbid us to expect that national morality 
can prevail in exclusion of religious principles." -- George Washington




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-17 16:12                                                           ` Hyman Rosen
  2004-06-17 21:05                                                             ` Pascal Obry
@ 2004-06-19 20:54                                                             ` Robert I. Eachus
  2004-06-20  2:20                                                               ` Jeffrey Carter
                                                                                 ` (3 more replies)
  1 sibling, 4 replies; 216+ messages in thread
From: Robert I. Eachus @ 2004-06-19 20:54 UTC (permalink / raw)


Hyman Rosen wrote:

> Just for example, it is ubiquitous in C to have arrays of
> strings, either with or without a null pointer terminator:
>     const char *colors[] = { "Red", "Green", "Blue", 0 };
>     const char *CMYK[] = { "Cyan", "Magenta", "Yellow", "Black" };
> How do you carry this over into Ada?

Others have answered as well, but I carry it over into Ada as:

type Colors is (Red, Green, Blue);
type CMYK is (Cyan, Mageneta, Yellow, Black);

Now if the "spelling" of the name is needed:

X: CMYK;
...
Put_Line(CMYK'Image(X));

I do think it is a shame though that Ada returns the upper case version 
of the name, not the spelling used to declare the type...

This is in part why writing an Ada tutorial for C programmers is so 
hard.  It is not that hard to write C code in Ada, and even get the 
compiler to produce identical executable code.  The problem is that the 
_questions_ that the Ada progammer thinks about are very different from 
those that come up when programming in C.

In this case you have been offered two ways to program a ragged array in 
Ada, one in which the pointer is explicit Red'Access, one in which it is 
implicit, Unbounded_String, and one where the ragged array is created by 
the compiler as part of the type declaration.

-- 

                                           Robert I. Eachus

"Reason and experience both forbid us to expect that national morality 
can prevail in exclusion of religious principles." -- George Washington




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 11:39                                       ` Marin David Condic
@ 2004-06-19 23:14                                         ` Pylinius
  0 siblings, 0 replies; 216+ messages in thread
From: Pylinius @ 2004-06-19 23:14 UTC (permalink / raw)


Marin David Condic wrote:
> Also, I wasn't necessarily refering to an *operating* system - that can 
> be awfully complex and may be impossible to get totally right no matter 
> what the language. But there are some *systems* that can and have been 
> built in languages other than Ada that are 100% reliable and/or secure.
> 
> MDC


AARTS 100% Ada operating system.




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-19 20:54                                                             ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Robert I. Eachus
@ 2004-06-20  2:20                                                               ` Jeffrey Carter
  2004-06-20  4:24                                                               ` tmoran
                                                                                 ` (2 subsequent siblings)
  3 siblings, 0 replies; 216+ messages in thread
From: Jeffrey Carter @ 2004-06-20  2:20 UTC (permalink / raw)


Robert I. Eachus wrote:
> 
> In this case you have been offered two ways to program a ragged array in 
> Ada, one in which the pointer is explicit Red'Access, one in which it is 
> implicit, Unbounded_String, and one where the ragged array is created by 
> the compiler as part of the type declaration.

Our 3 main weapons are ...

-- 
Jeff Carter
"So if I understand 'The Matrix Reloaded' correctly, the Matrix is
basically a Microsoft operating system--it runs for a while and
then crashes and reboots. By design, no less. Neo is just a
memory leak that's too hard to fix, so they left him in ... The
users don't complain because they're packed in slush and kept
sedated."
Marin D. Condic
65




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-19 20:54                                                             ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Robert I. Eachus
  2004-06-20  2:20                                                               ` Jeffrey Carter
@ 2004-06-20  4:24                                                               ` tmoran
  2004-06-20 15:06                                                               ` Dr. Adrian Wrigley
  2004-06-26  5:11                                                               ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Robert I. Eachus
  3 siblings, 0 replies; 216+ messages in thread
From: tmoran @ 2004-06-20  4:24 UTC (permalink / raw)


>In this case you have been offered two ways to program a ragged array in
>Ada, one in which the pointer is explicit Red'Access, one in which it is
>implicit, Unbounded_String, and one where the ragged array is created by
>the compiler as part of the type declaration.
A third (fourth?) way is
  type Top_Succession is (President, Vice_President, Speaker,
                      Senate_President_pro_tempore, Sec_State,
                      Sec_Treasury);
  function Name(Who : Top_Succession) return String is
  begin
    case Who is
      when President                     => return "Bush";
      when Vice_President                => return "Cheney";
      when Speaker                       => return "Hastert";
      when Senate_President_pro_tempore  => return "Stevens";
      when Sec_State                     => return "Powell";
      when Sec_Treasury                  => return "Snow";
    end case;
  end Name;
This, unlike Red=>"RED", allows for change in the value/string relationship.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-19 20:54                                                             ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Robert I. Eachus
  2004-06-20  2:20                                                               ` Jeffrey Carter
  2004-06-20  4:24                                                               ` tmoran
@ 2004-06-20 15:06                                                               ` Dr. Adrian Wrigley
  2004-06-21 15:30                                                                 ` Enum'Image (Was: Improving Ada's image) Jacob Sparre Andersen
  2004-06-26  5:11                                                               ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Robert I. Eachus
  3 siblings, 1 reply; 216+ messages in thread
From: Dr. Adrian Wrigley @ 2004-06-20 15:06 UTC (permalink / raw)


On Sat, 19 Jun 2004 16:54:14 -0400, Robert I. Eachus wrote:

> I do think it is a shame though that Ada returns the upper case version 
> of the name, not the spelling used to declare the type...

I strongly agree with this view!

It is an enormous extra effort to get the case right when outputting
an enumeration in a program.  In particular, you probably end up
having to declare and pass "To_String" functions as additional
parameters to generic packages etc., simply to get the casing right.

When you don't go to the effort of fixing up the case, and just
ouput all upper case, it makes it look like software from the '70s.

Is it not possible to do *something* about this irksome (if minor)
feature for the upcoming 200Y compilers.  Maybe a Representation
clause?  An additional attribute?  A compiler option? A pragma?
It seems like such a minor amount of work to fix this!

Would the incompatibility be unnacceptable (to 200Y) simply to state that
the case of Enum'Image is exactly as in the declaration.
It could break certain (odd) programs, but that is what the -95 switch
is there for.

I could post some examples where getting the case wrong is
particularly bad - but you can probably make up some of your own.
-- 
Adrian Wrigley, Cambridge, UK.




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ragged arrays of strings (Was: Improving Ada's image)
  2004-06-19 18:10                                                               ` Ragged arrays of strings (Was: Improving Ada's image) Jacob Sparre Andersen
@ 2004-06-20 22:01                                                                 ` Pascal Obry
  0 siblings, 0 replies; 216+ messages in thread
From: Pascal Obry @ 2004-06-20 22:01 UTC (permalink / raw)



Jacob Sparre Andersen <sparre@nbi.dk> writes:

> Pascal Obry wrote:
> 
> >    type String_Access is access constant String;
> >    type Color_Set is array (Positive range <>) of String_Access;
> > 
> >    Red   : aliased constant String := "Red";
> >    Green : aliased constant String := "Green";
> >    Blue  : aliased constant String := "Blue";
> > 
> >    Colors : constant Color_Set := (Red'Access, Green'Access, Blue'Access);
> 
> I tend to use Ada.Strings.Unbounded for ragged arrays of strings.  I

I too. But the question was to give an Ada equivalence to some C code
posted. I think my proposal is closer to using Unbounded_String.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|              http://www.obry.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15 11:35                                             ` Marin David Condic
  2004-06-15 23:02                                               ` Brian May
@ 2004-06-21 14:56                                               ` Jacob Sparre Andersen
  2004-06-23 20:19                                                 ` Randy Brukardt
  1 sibling, 1 reply; 216+ messages in thread
From: Jacob Sparre Andersen @ 2004-06-21 14:56 UTC (permalink / raw)


Marin David Condic wrote:

> Also, because OS's need high efficiency, it is not at all uncommon to
> turn off most of the runtime checks because you really need the
> performance. (Or is someone suggesting that all Ada checks should be
> left in when developing an OS?)

I would probably leave in the checks.  But I don't think there
actually should be that many active checks.

> Ada can't help with a variety of runtime errors unless the checks
> are left in, so does it really buy enough benefit to be able to make
> claims about how wonderful a theoretical Ada OS would be?

If I ever got brave enough to try to write an OS, I would probably use
a tool like SPARK Examiner to check as much of the code as possible.
Ideally this could probably also help a bit with identifying
supressable checks.

Greetings,

Jacob (SPARK fan :)
-- 
"simply because no one had discovered a cure for the universe as a
 whole - or rather the only one that did exist had been abolished"





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Enum'Image (Was: Improving Ada's image)
  2004-06-20 15:06                                                               ` Dr. Adrian Wrigley
@ 2004-06-21 15:30                                                                 ` Jacob Sparre Andersen
  2004-06-21 16:06                                                                   ` Dr. Adrian Wrigley
                                                                                     ` (3 more replies)
  0 siblings, 4 replies; 216+ messages in thread
From: Jacob Sparre Andersen @ 2004-06-21 15:30 UTC (permalink / raw)


Adrian Wrigley wrote:
> Robert I. Eachus wrote:

> > I do think it is a shame though that Ada returns the upper case
> > version of the name, not the spelling used to declare the type...
> 
> I strongly agree with this view!

I am not sure I support it.  But there is definitely a point.

> Is it not possible to do *something* about this irksome (if minor)
> feature for the upcoming 200Y compilers.  Maybe a Representation
> clause?

That would probably be the best way to do it.  It would keep old
programs working, and it seems like a logical Ada-like way of doing
things.

   type Colours is (Red, Green, Blue);
   for Red'Image use "R";
   for Green'Image use "G";
   for Blue'Image use "B";

> Would the incompatibility be unnacceptable (to 200Y) simply to state
> that the case of Enum'Image is exactly as in the declaration.

I think it would.

Jacob
-- 
"It is very easy to get ridiculously confused about the
 tenses of time travel, but most things can be resolved
 by a sufficiently large ego."



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Enum'Image (Was: Improving Ada's image)
  2004-06-21 15:30                                                                 ` Enum'Image (Was: Improving Ada's image) Jacob Sparre Andersen
@ 2004-06-21 16:06                                                                   ` Dr. Adrian Wrigley
  2004-06-21 16:53                                                                     ` Alexander E. Kopilovich
  2004-06-22 13:26                                                                   ` Dmitry A. Kazakov
                                                                                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 216+ messages in thread
From: Dr. Adrian Wrigley @ 2004-06-21 16:06 UTC (permalink / raw)


On Mon, 21 Jun 2004 17:30:19 +0200, Jacob Sparre Andersen wrote:
...
> That would probably be the best way to do it.  It would keep old
> programs working, and it seems like a logical Ada-like way of doing
> things.
> 
>    type Colours is (Red, Green, Blue);
>    for Red'Image use "R";
>    for Green'Image use "G";
>    for Blue'Image use "B";

Potentially useful - but very verbose in the simple case.  If it
takes fifteen lines of code to declare an enumeration with
nicely cased 'Image, the critics would have a field day!
Keeping the representations and enumeration synced would be
unnecessary work.

Something to say "use the names spelled as I spell them" is
needed.

pragma Enum_Image_Case (Colours, Verbatim|Upper|Lower|...);

Of course, if we had had Verbatim from the start, we could have
use To_Upper, To_Lower if we wanted :(  And I can't recall any
situation where I wanted the case of the enumerations converted
as the language specifies.
-- 
Adrian Wrigley, Cambridge, UK.




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Enum'Image (Was: Improving Ada's image)
  2004-06-21 16:06                                                                   ` Dr. Adrian Wrigley
@ 2004-06-21 16:53                                                                     ` Alexander E. Kopilovich
  2004-06-22 21:38                                                                       ` Jacob Sparre Andersen
  0 siblings, 1 reply; 216+ messages in thread
From: Alexander E. Kopilovich @ 2004-06-21 16:53 UTC (permalink / raw)
  To: comp.lang.ada

"Dr. Adrian Wrigley" wrote:

> Something to say "use the names spelled as I spell them" is
> needed.
>
> pragma Enum_Image_Case (Colours, Verbatim|Upper|Lower|...);
>
> Of course, if we had had Verbatim from the start, we could have
> use To_Upper, To_Lower if we wanted :(  And I can't recall any
> situation where I wanted the case of the enumerations converted
> as the language specifies.

Perhaps the best solution would be to add second argument to Image attribute,
with the sngle possible value Verbatim. That is, you'll write

  Enum'Image(My_Variable, Verbatim)

If you do not use that second argument then the Image attribute acts with
the default (currently standard) way; I don't think that additional values
for that second argument - Upper, Lower, etc, will be good things - I believe
that in those cases explicit translation by a function call is better than
loading the attribute with excess functionality.





Alexander Kopilovich                      aek@vib.usr.pu.ru
Saint-Petersburg
Russia





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Enum'Image (Was: Improving Ada's image)
  2004-06-21 15:30                                                                 ` Enum'Image (Was: Improving Ada's image) Jacob Sparre Andersen
  2004-06-21 16:06                                                                   ` Dr. Adrian Wrigley
@ 2004-06-22 13:26                                                                   ` Dmitry A. Kazakov
  2004-06-23 16:04                                                                   ` Frank J. Lhota
  2004-06-23 20:29                                                                   ` Enum'Image (Was: Improving Ada's image) Randy Brukardt
  3 siblings, 0 replies; 216+ messages in thread
From: Dmitry A. Kazakov @ 2004-06-22 13:26 UTC (permalink / raw)


On 21 Jun 2004 17:30:19 +0200, Jacob Sparre Andersen <sparre@nbi.dk>
wrote:

>Adrian Wrigley wrote:
>> Robert I. Eachus wrote:
>
>> > I do think it is a shame though that Ada returns the upper case
>> > version of the name, not the spelling used to declare the type...
>> 
>> I strongly agree with this view!
>
>I am not sure I support it.  But there is definitely a point.
>
>> Is it not possible to do *something* about this irksome (if minor)
>> feature for the upcoming 200Y compilers.  Maybe a Representation
>> clause?
>
>That would probably be the best way to do it.  It would keep old
>programs working, and it seems like a logical Ada-like way of doing
>things.
>
>   type Colours is (Red, Green, Blue);
>   for Red'Image use "R";
>   for Green'Image use "G";
>   for Blue'Image use "B";
>
>> Would the incompatibility be unnacceptable (to 200Y) simply to state
>> that the case of Enum'Image is exactly as in the declaration.
>
>I think it would.

All attributes should primitive operations and all types should have
T'Class. That would make the trick.

--
Regards,
Dmitry Kazakov
www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Enum'Image (Was: Improving Ada's image)
  2004-06-21 16:53                                                                     ` Alexander E. Kopilovich
@ 2004-06-22 21:38                                                                       ` Jacob Sparre Andersen
  2004-06-23 15:42                                                                         ` Alexander E. Kopilovich
  0 siblings, 1 reply; 216+ messages in thread
From: Jacob Sparre Andersen @ 2004-06-22 21:38 UTC (permalink / raw)


Alexander E. Kopilovich wrote:
> Adrian Wrigley wrote:

> > Something to say "use the names spelled as I spell them" is
> > needed.

Good point.

> Perhaps the best solution would be to add second argument to Image
> attribute, with the sngle possible value Verbatim. That is, you'll
> write
> 
>   Enum'Image(My_Variable, Verbatim)

Why not also allow "Upper_Case" and "Lower_Case"?

The problem with this compared to a representation clause (whether
common for the enumeration type or on a per item basis) is that it
will complicate the Enum'Image function.  I don't know if it is an
acceptable complication or not.

> If you do not use that second argument then the Image attribute acts
> with the default (currently standard) way; I don't think that
> additional values for that second argument - Upper, Lower, etc, will
> be good things - I believe that in those cases explicit translation
> by a function call is better than loading the attribute with excess
> functionality.

Once you have added an extra Enum'Image function, I don't think _also_
adding a lower case version is a big deal.

Using Adrian Wrigley's suggestion, but keeping the view that it is a
representation issue, it could be done with:

   for Enumeration_Type'Image use (Verbatim|Upper_Case|Lower_Case);

and optionally in addition with:

   for Enumeration_Literal'Image use string_constant;

for individual enumeration_literals of the enumeration_type.

Jacob
-- 
"There is a slight error in the exponent" - quantum vaacum
 mass is 10^35 times the total dark matter mass



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Enum'Image (Was: Improving Ada's image)
  2004-06-22 21:38                                                                       ` Jacob Sparre Andersen
@ 2004-06-23 15:42                                                                         ` Alexander E. Kopilovich
  2004-06-23 17:15                                                                           ` Larry Kilgallen
  0 siblings, 1 reply; 216+ messages in thread
From: Alexander E. Kopilovich @ 2004-06-23 15:42 UTC (permalink / raw)
  To: comp.lang.ada

Jacob Sparre Andersen wrote:

> >   Enum'Image(My_Variable, Verbatim)
>
> Why not also allow "Upper_Case" and "Lower_Case"?

Because you always can do these conversions later in your code. Providing
all those translations in any form (attribute, "for ... use" clause or pragma)
is just a redundant feature, perhaps convenient for some relatively rare
programs but  nothing more than that. But Verbatim case is different -
you can't restore by you code an information that is already lost; so this
Verbatim just prevent loss of information, which was present in the source
code.

But even the possibility of Verbatim seems somehow doubtful because it will
slightly violate the rule of case insensitivity for names in Ada programs.
That is, with this Verbatim option the behaviour of a program can depend on
the case of the letters used inside the names in enums. One can argue that
those names in enums resemble literals and therefore the case insensitivity
rule should not be applied to them, but this is a problematic issue, I think.

And anyway, it may be practically impossible for some compilers: if a compiler 
currently translate identifiers (including those from enums) before storing
them in the symbol table then it probably would be not a small pain to change
that tactics.




Alexander Kopilovich                      aek@vib.usr.pu.ru
Saint-Petersburg
Russia





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Enum'Image (Was: Improving Ada's image)
  2004-06-21 15:30                                                                 ` Enum'Image (Was: Improving Ada's image) Jacob Sparre Andersen
  2004-06-21 16:06                                                                   ` Dr. Adrian Wrigley
  2004-06-22 13:26                                                                   ` Dmitry A. Kazakov
@ 2004-06-23 16:04                                                                   ` Frank J. Lhota
  2004-06-25  0:07                                                                     ` Enum'Image Jacob Sparre Andersen
  2004-06-23 20:29                                                                   ` Enum'Image (Was: Improving Ada's image) Randy Brukardt
  3 siblings, 1 reply; 216+ messages in thread
From: Frank J. Lhota @ 2004-06-23 16:04 UTC (permalink / raw)


"Jacob Sparre Andersen" <sparre@nbi.dk> wrote in message
news:pl4qp57wtw.fsf_-_@sparre.crs4.it...
> That would probably be the best way to do it.  It would keep old
> programs working, and it seems like a logical Ada-like way of doing
> things.
>
>    type Colours is (Red, Green, Blue);
>    for Red'Image use "R";
>    for Green'Image use "G";
>    for Blue'Image use "B";

As an alternative, how about the ability to write your own Image function?

If I had the task of inventing Ada over again, I would make cut a lot of the
attribute functions (such as 'Max, 'Image, 'Value, etc.) and replace them
with inherited subprograms that the programmer would be free to override. In
other words, if you declare

    type Colours is (Red, Green, Blue);

then this type would inherit the function

    function Image( X : in Colours ) return String;

and this inherited function would return one of the strings "RED", "GREEN",
or "BLUE". If this is unacceptable, you could override this version of Image
by writing your own version, and declaring it in the same scope as the type
definition:

    type Colours is (Red, Green, Blue);
    function Image( X : in Colours ) return String;

If Image worked this way, instead of being an attribute, it would be
completely customizable. We can return results in any letter case: upper,
lower, mixed, or custom. The result of Image can contain spaces when this
aids readability. Image can be internationalized, e.g. we can have
Image(Red) return "Red" if the locale is U.S., but return "Rouge" if the
locale is France. The possibilities would be endless.





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Enum'Image (Was: Improving Ada's image)
  2004-06-23 15:42                                                                         ` Alexander E. Kopilovich
@ 2004-06-23 17:15                                                                           ` Larry Kilgallen
  0 siblings, 0 replies; 216+ messages in thread
From: Larry Kilgallen @ 2004-06-23 17:15 UTC (permalink / raw)


In article <mailman.145.1088005291.391.comp.lang.ada@ada-france.org>, "Alexander E. Kopilovich" <aek@VB1162.spb.edu> writes:

>> >   Enum'Image(My_Variable, Verbatim)

> But even the possibility of Verbatim seems somehow doubtful because it will
> slightly violate the rule of case insensitivity for names in Ada programs.
> That is, with this Verbatim option the behaviour of a program can depend on
> the case of the letters used inside the names in enums. One can argue that
> those names in enums resemble literals and therefore the case insensitivity
> rule should not be applied to them, but this is a problematic issue, I think.

I was under the impression that the only situations where people cared
about cases of enumerals were when it was converted to a string.  This
does not seem a departure from:

	IF "ABC" = "abc"
	THEN
		NULL; -- never gets here
	ENDIF;



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-21 14:56                                               ` Jacob Sparre Andersen
@ 2004-06-23 20:19                                                 ` Randy Brukardt
  0 siblings, 0 replies; 216+ messages in thread
From: Randy Brukardt @ 2004-06-23 20:19 UTC (permalink / raw)


"Jacob Sparre Andersen" <sparre@nbi.dk> wrote in message
news:pl8yeh7yf1.fsf@sparre.crs4.it...
> Marin David Condic wrote:
>
> > Also, because OS's need high efficiency, it is not at all uncommon to
> > turn off most of the runtime checks because you really need the
> > performance. (Or is someone suggesting that all Ada checks should be
> > left in when developing an OS?)
>
> I would probably leave in the checks.  But I don't think there
> actually should be that many active checks.

I agree. I haven't seen much performance impact from leaving checks on. The
reason that Janus/Ada used to be shipped with them off was simply memory
usage -- the old MS-DOS machines didn't have enough space to leave them on.
Nobody has complained that the debugging version of Janus/Ada that I shipped
as the most recent beta was too slow - even though it includes a megabyte of
debugging code and assertions.

                               Randy.






^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Enum'Image (Was: Improving Ada's image)
  2004-06-21 15:30                                                                 ` Enum'Image (Was: Improving Ada's image) Jacob Sparre Andersen
                                                                                     ` (2 preceding siblings ...)
  2004-06-23 16:04                                                                   ` Frank J. Lhota
@ 2004-06-23 20:29                                                                   ` Randy Brukardt
  2004-06-23 23:35                                                                     ` Dr. Adrian Wrigley
  3 siblings, 1 reply; 216+ messages in thread
From: Randy Brukardt @ 2004-06-23 20:29 UTC (permalink / raw)


"Jacob Sparre Andersen" <sparre@nbi.dk> wrote in message
news:pl4qp57wtw.fsf_-_@sparre.crs4.it...
> Adrian Wrigley wrote:
> > Would the incompatibility be unnacceptable (to 200Y) simply to state
> > that the case of Enum'Image is exactly as in the declaration.
>
> I think it would.

Yes, definitely. The problem (ironically) would be all of those little
functions to convert the case of enumerations. Code like that is likely to
assume that the input is upper case, and if that changed, it would silently
break, outputing gibberish.

In any case, Text_IO.Enumeration_IO does let you set the case of the output.
(It could use a Mixed_Case option, though). Remember that 'image is for Q&D
output, not the fancy stuff (something we all forget often).

                   Randy.






^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Enum'Image (Was: Improving Ada's image)
  2004-06-23 20:29                                                                   ` Enum'Image (Was: Improving Ada's image) Randy Brukardt
@ 2004-06-23 23:35                                                                     ` Dr. Adrian Wrigley
  2004-06-25  0:15                                                                       ` Jacob Sparre Andersen
  0 siblings, 1 reply; 216+ messages in thread
From: Dr. Adrian Wrigley @ 2004-06-23 23:35 UTC (permalink / raw)


On Wed, 23 Jun 2004 15:29:23 -0500, Randy Brukardt wrote:
...
> In any case, Text_IO.Enumeration_IO does let you set the case of the
> output. (It could use a Mixed_Case option, though). Remember that 'image
> is for Q&D output, not the fancy stuff (something we all forget often).

I fear that none of the proposed solutions would be without
heavy (perhaps reasonably justified) criticism from some quarters.

A Mixed_Case option in Enumeration_IO seems pretty harmless though.
I guess we have to wait another ten years for a chance of this
to appear though :(  (Ada 201Z) (I presume it can't be sneaked
in to '0Y :()

Most of the suggestions fail to get the right case for enumeration output
from generic functions, where the type has been passed as a parameter.
Possibiliies that get this right are rejected as having the
potential to break existing code.

Saying that 'Image is for Q&D programming might be true, but ignores
the fact that that's what programmers often want.  Ada is sometimes
shunned because of the presumed costs of meeting the language discipline.
In my experience, however, Ada is well suited to Q&D programming,
because the integrity and clarity of the interfaces, and exceptionally
low debugging time.

Having to define functions that simply convert each enumeration
into the corresponding string, then passing them as generic
parameters really grates against my aesthetic sense, particularly
since it just seems to be working around a language mis-feature.

Curiously, when I first came across the 'Image function attribute
(actually in VHDL, IIRC), I automatically assumed you could
provide your own (as others here have suggesed).  I was quickly
disappointed to find out just how limited it was.

Here's a few enumerations that really need verbatim output of case:
Ada, COBOL, Pascal, PostScript - languages
kWh, Joules, kCal  - energy units
ms, MS             - milliseconds? megasiemens?
Mbps, MBPS, mbps   - megabits per second? millibytes per second?
nVIDIA, ATI, Intel, AMD  - technology companies

I guess there are much more important things for Ada users to
be worried about though...
-- 
Adrian




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Enum'Image
  2004-06-23 16:04                                                                   ` Frank J. Lhota
@ 2004-06-25  0:07                                                                     ` Jacob Sparre Andersen
  2004-06-25 15:55                                                                       ` Enum'Image Frank J. Lhota
  0 siblings, 1 reply; 216+ messages in thread
From: Jacob Sparre Andersen @ 2004-06-25  0:07 UTC (permalink / raw)


Frank J. Lhota wrote:

> As an alternative, how about the ability to write your own Image
> function?

Definitely usable, but I would worry about:

 1) if my implementation was as efficient as the compiler supplied one

 2) 'Image and 'Value being each other's inverse

> If I had the task of inventing Ada over again, I would make cut a
> lot of the attribute functions (such as 'Max, 'Image, 'Value, etc.)
> and replace them with inherited subprograms that the programmer
> would be free to override.

I have had similar thoughts occasionally, but I am afraid there are
some sensible reasons that it isn't already like that?

Jacob
-- 
"Any newsgroup where software developers hang out is
 an Emacs newsgroup."



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Enum'Image (Was: Improving Ada's image)
  2004-06-23 23:35                                                                     ` Dr. Adrian Wrigley
@ 2004-06-25  0:15                                                                       ` Jacob Sparre Andersen
  0 siblings, 0 replies; 216+ messages in thread
From: Jacob Sparre Andersen @ 2004-06-25  0:15 UTC (permalink / raw)


Adrian Wrigley wrote:
> Randy Brukardt wrote:

> > In any case, Text_IO.Enumeration_IO does let you set the case of
> > the output. (It could use a Mixed_Case option, though). Remember
> > that 'image is for Q&D output, not the fancy stuff (something we
> > all forget often).

It took a moment to decode "Q&D" as "quick and dirty".

> A Mixed_Case option in Enumeration_IO seems pretty harmless though.
> I guess we have to wait another ten years for a chance of this to
> appear though

Yes.  The 200Y deadline has passed.

> Most of the suggestions fail to get the right case for enumeration
> output from generic functions, where the type has been passed as a
> parameter.  Possibiliies that get this right are rejected as having
> the potential to break existing code.

How would this fail for the representation clauses?

> Saying that 'Image is for Q&D programming might be true, but ignores
> the fact that that's what programmers often want.  Ada is sometimes
> shunned because of the presumed costs of meeting the language
> discipline.  In my experience, however, Ada is well suited to Q&D
> programming, because the integrity and clarity of the interfaces,
> and exceptionally low debugging time.

Ada _is_ fine for quick and dirty programming.  But for quick and
dirty programming, it can hardly be said to be necessary to output
enumerations verbatim.

> Here's a few enumerations that really need verbatim output of case:
> Ada, COBOL, Pascal, PostScript - languages
> kWh, Joules, kCal  - energy units
> ms, MS             - milliseconds? megasiemens?
> Mbps, MBPS, mbps   - megabits per second? millibytes per second?
> nVIDIA, ATI, Intel, AMD  - technology companies

Remember that since Ada identifiers are case insensitive, you
shouldn't use enumerations for case-specific I/O.  And I am sure that
is not going to change.

Jacob
-- 
"Those who profess to favor freedom and yet depreciate
 agitation, are people who want crops without ploughing the
 ground; they want rain without thunder and lightning; they
 want the ocean without the roar of its waters."
                                        -- Frederick Douglas



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Enum'Image (Was: Improving Ada's image)
  2004-06-15 16:43                                             ` Warren W. Gay VE3WWG
  2004-06-15 18:51                                               ` Hyman Rosen
  2004-06-15 21:59                                               ` Marin David Condic
@ 2004-06-25  4:21                                               ` Larry Kilgallen
  2 siblings, 0 replies; 216+ messages in thread
From: Larry Kilgallen @ 2004-06-25  4:21 UTC (permalink / raw)


In article <pld63o5w7p.fsf@sparre.crs4.it>, Jacob Sparre Andersen <sparre@nbi.dk> writes:
> Adrian Wrigley wrote:
>> Randy Brukardt wrote:
> 
>> > In any case, Text_IO.Enumeration_IO does let you set the case of
>> > the output. (It could use a Mixed_Case option, though). Remember
>> > that 'image is for Q&D output, not the fancy stuff (something we
>> > all forget often).
> 
> It took a moment to decode "Q&D" as "quick and dirty".

Yes, please do not write "C" in the Ada newsgroup :-)

>> Here's a few enumerations that really need verbatim output of case:
>> Ada, COBOL, Pascal, PostScript - languages

And here is one that will not be helped by the proposal

	Visual Basic

At that point one will still have to go back to the old

	function Printable ( Language : Language_Type ) return String is
	begin
		case Language of

		when Ada =>
			return "Ada";

		when COBOL =>
			return "COBOL";

		when Pascal =>
			return "Pascal";

		when PostScript =>
			return "PostScript";

		when Visual_Basic =>
			return "Visual Basic";
		end;

One advantage of Ada is the degree to which it helps the maintaining
programmer avoid an error.  The programmer charged with adding "Visual
Basic" to the list would have to re-invent the wheel if the original
programmer presumed that 'image would work for all future languages.



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Enum'Image
  2004-06-25  0:07                                                                     ` Enum'Image Jacob Sparre Andersen
@ 2004-06-25 15:55                                                                       ` Frank J. Lhota
  0 siblings, 0 replies; 216+ messages in thread
From: Frank J. Lhota @ 2004-06-25 15:55 UTC (permalink / raw)



"Jacob Sparre Andersen" <sparre@nbi.dk> wrote in message
news:plhdt05wkw.fsf_-_@sparre.crs4.it...
> Frank J. Lhota wrote:
>
> > As an alternative, how about the ability to write your own Image
> > function?
>
> Definitely usable, but I would worry about:
>
>  1) if my implementation was as efficient as the compiler supplied one

Possibly not, but presumably you would not write your own Image function
unless you desired something different from the compiler-supplied Image
funciton.

>  2) 'Image and 'Value being each other's inverse

This is similar to the situation with user-defined "+" and "-" operators;
you would also want them to be inverses, in that most people would expect
that

    ( A + B ) - B = A

There is no way, however, for the compiler to force user-defined "+" and "-"
to be inverses of each other, so that responsibility falls to the
programmer.

The same could be said of user-defined Image and Value functions. Yes, they
should be inverses, but that is left up to the programmer.

> > If I had the task of inventing Ada over again, I would make cut a
> > lot of the attribute functions (such as 'Max, 'Image, 'Value, etc.)
> > and replace them with inherited subprograms that the programmer
> > would be free to override.
>
> I have had similar thoughts occasionally, but I am afraid there are
> some sensible reasons that it isn't already like that?

Enumeration literals can be overloaded, so I have heard the argument that
attributes are needed to resolve overloading. For example, if we have the
types

    type Name_Of_Nutrient is ( Vitamin_A, Vitamin_B, ... Calcium, Iron,
... );
    type Name_Of_Appliance is ( Blender, Microwave, Iron, ... );

then if we have the function call

    Image( Iron )

is it referring to the Name_Of_Nutirent Iron or the Name_Of_Appliance Iron?
This problem goes away if the Image function is an attribute, for then we
would write

    Name_Of_Nutrient'Image( Iron )

making it clear what the type of Iron we are taking about.

This is one way to resolve the ambiguity. Another way would be to use
qualified expressions. If Image was overloaded for these two enumeration
types, we could also clarify this function call by writing:

    Image ( Name_Of_Nutrient'( Iron ) )

> Jacob
> -- 
> "Any newsgroup where software developers hang out is
>  an Emacs newsgroup."





^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-19 20:54                                                             ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Robert I. Eachus
                                                                                 ` (2 preceding siblings ...)
  2004-06-20 15:06                                                               ` Dr. Adrian Wrigley
@ 2004-06-26  5:11                                                               ` Robert I. Eachus
  2004-06-27  1:00                                                                 ` Jeffrey Carter
  2004-06-27  2:33                                                                 ` Robert I. Eachus
  3 siblings, 2 replies; 216+ messages in thread
From: Robert I. Eachus @ 2004-06-26  5:11 UTC (permalink / raw)


Robert I. Eachus wrote:

> I do think it is a shame though that Ada returns the upper case version 
> of the name, not the spelling used to declare the type...

This comment of mine seems to have touched a nerve.  So let's see if we 
can save the good parts of the discussion and turn them into something 
useful.

As I see it there are three approaches to solving the problem:  Explicit 
user code, compiler implemented langage extensions, and changes to the 
language.  I think we should agree that it is too late to chage the 
language this time around--although if there is an approach that is 
universally accepted, it could happen.  But first let's look at the 
candidates and see which fly and which get shot down.

I'll discuss user code first, then tomorrow sum up the other alternatives.

This is almost a "why didn't I think of that?" category. It is certainly 
no big deal to write:

function Image(S: Suit) return String is
begin return Suit'Image(S); end Image;

Then later when it is time to make the output look pretty change the 
body to:

function Image(S: Suit) return String is
begin
   case S is
       when Spades => return "Spades";
       when Hearts => return "Hearts";
       when Clubs => return "Clubs";
       when Diamonds => return "Diamonds";
   end case;
end Image;

or you can write:

with Ada.Characters.Handling;
   function Mixed (S: in String) return String is
     use Ada.Characters.Handling;
     Capitalize: Boolean := True;
     Result: String := S;
   begin
     for I in Result'Range loop
       if Capitalize
       then Result(I) := To_Upper(Result(I));
       else Result(I) := To_Lower(Result(I));
       end if;
       Capitalize := Result(I) = '_';
     end loop;
     return Result;
   end Mixed;

and:

type Direction is (North, NNE, NE, ENE, East, ESE, SE, SSE,
                    South, SSW, SW, WSW, West, WNW, NW, NNW);

function Image(D: Direction) return String is
    Result: String := D'Image;
begin
   if Result'Length < 4
   then return Result;
   else return Mixed(Result);
   end if;
end Image;

or:

type Color is (Red, Orange, Yellow, Blue, Green, Violet,
                White, Gray, Black, Brown, Pink);

function Image (C: Color) return String is
begin return Mixed(C); end Image;

It might be nice to add Mixed above to Ada.Characters.Handling as 
To_Mixed, but that is getting into other options. ;-)

-- 

                                           Robert I. Eachus

"Reason and experience both forbid us to expect that national morality 
can prevail in exclusion of religious principles." -- George Washington




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-26  5:11                                                               ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Robert I. Eachus
@ 2004-06-27  1:00                                                                 ` Jeffrey Carter
  2004-06-27  2:33                                                                 ` Robert I. Eachus
  1 sibling, 0 replies; 216+ messages in thread
From: Jeffrey Carter @ 2004-06-27  1:00 UTC (permalink / raw)


Robert I. Eachus wrote:

> with Ada.Characters.Handling;
>   function Mixed (S: in String) return String is
>     use Ada.Characters.Handling;
>     Capitalize: Boolean := True;
>     Result: String := S;
>   begin
>     for I in Result'Range loop
>       if Capitalize
>       then Result(I) := To_Upper(Result(I));
>       else Result(I) := To_Lower(Result(I));
>       end if;
>       Capitalize := Result(I) = '_';
>     end loop;
>     return Result;
>   end Mixed;

Or use PragmARC.Mixed_Case.

-- 
Jeff Carter
"If you think you got a nasty taunting this time,
you ain't heard nothing yet!"
Monty Python and the Holy Grail
23




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-26  5:11                                                               ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Robert I. Eachus
  2004-06-27  1:00                                                                 ` Jeffrey Carter
@ 2004-06-27  2:33                                                                 ` Robert I. Eachus
  1 sibling, 0 replies; 216+ messages in thread
From: Robert I. Eachus @ 2004-06-27  2:33 UTC (permalink / raw)


Robert I. Eachus wrote:

> I'll discuss user code first, then tomorrow sum up the other alternatives.

The compiler extension choices seem to rapidly evolve into a much more 
general feature, and one that is needed to support ASIS.  If there is a 
Spelling attribute for enumeration literals, why not support it for all 
variable names?  In fact, why not add it for types as well?  I'm not 
sure I can answer that, but the attribute for enumeration literals 
really needs to be useful in a loop.  You want to convert a value to a 
string, and the fact that it is also the name of an enumeration literal 
that masquerades as a subprogram is a language oddity.

But then again, how many times have you written:

type Color is (Red, Yellow, Green);
C: Color;
...
   Put(C'Image...

and then realized, that no it is Character'Image(C);  Of course, if you 
are using GNAT, you can change it to C'Img,  I guess GNAT could be 
modified to make Img return the original spelling for enumeration 
literals, but I'd much rather have a compiler switch to get that behavior.

Not that big a compiler change.  Will I do it?  No.  I'd rather use the 
methods I posted yesterday and keep the code 'pure' Ada 95 or Ada 05 or 
whatever.

Which leads to language changes.  I'm going to assume that changing 
'Image is a non-starter.  Why?  Well, we might as well implement any 
change the way GNAT implements 'Img, as an attribute of a type or an 
object.  I think if it were to be made a language change, it should be 
'Spelling not 'Img, or maybe there is some other option.

And I guess that is all I have to say on the subject.  It is easy enough 
to implement a 'pure' Ada function Image.  It would also be easy enough 
to add to existing compilers.  If enough people feel strongly that it 
should be done, the compiler vendors will take it from there.

As for me, I guess the only reason I would be in favor of a language 
change would be to get away from Character'Image(C); I think it is ugly, 
and the output you get is ugly too.

-- 

                                           Robert I. Eachus

"Reason and experience both forbid us to expect that national morality 
can prevail in exclusion of religious principles." -- George Washington




^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15  1:21                                       ` Alexander E. Kopilovich
@ 2004-07-01  4:08                                         ` Dave Thompson
  2004-07-04 19:00                                           ` Robert I. Eachus
  0 siblings, 1 reply; 216+ messages in thread
From: Dave Thompson @ 2004-07-01  4:08 UTC (permalink / raw)


On Tue, 15 Jun 2004 05:21:12 +0400 (MSD), "Alexander E. Kopilovich"
<aek@VB1162.spb.edu> wrote:

> I don't know any good definition for "reliable and secure OS", and I don't
> think that there is such a definition. Is QNX (probably written C) reliable
> and secure? Perhaps yes, but one can say that it has not enough users or that
> it isn't general-purpose OS. Was Multics reliable and secure? Perhaps yes,
> but one can say that it was not tested in an environment comparable with that
> in which Windows live - millions of users, many of them almost illiterate and
> some of then wicked.
> 
Multics was consciously designed to be used primarily by people who
were not computer experts and some (though hopefully not many)
malicious experts. (I assume you don't really mean illiterate, as user
interfaces = terminals then were nearly all character/textual.) No
system on hardware of the time supported more than hundreds or maybe a
thousand users, and I'm not sure how well it would have scaled; but it
definitely did provide security -- modulo bugs of course, and there
were some -- in those cases, including I believe on the mil sites
"tiger" teams, and on my edu site definitely quite clever hackers (in
the original/true meaning) who were certainly sometimes mischievous
though not truly wicked. (That is, they would try to break security,
but motivated only to demonstrate their ability and perhaps play
jokes, not to actually steal, interfere, deceive, or damage.)

Besides the design -- which as already noted does depend, critically,
on hardware support and thus couldn't use, then and probably now,
"standard" or commodity hardware -- the key was/is that it not be
*administered* by incompetents; system managers and group/project
managers do need to know quite a bit to set up policies and defaults
that suitably secure (and restrict) ordinary users.

For example, active content in email (or the Web) hadn't been dreamt
of then, but if it were/is desired, it should have been/be possible to
put say mail in a highish ring like 2 or 3 protected against even
unintentional weakening by users, and able to force the untrustworthy
content to say ring 7 with access as limited as desired. The one new
problem that I believe Multics never tackled is secure sharing of a
graphics/windowing display; even ignoring blatantly dangerous designs
like MSWindows, X for example has had issues with covert channels. I
think this should be doable but don't know that anyone has.

It was also designed to be reliable, even in the face of component
failures, although I didn't really experience that because we were in
effect an experimental site who *deliberately* shut down fairly often.


- David.Thompson1 at worldnet.att.net



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-06-15  2:40                                                 ` Brian May
  2004-06-15 12:46                                                   ` Frank J. Lhota
  2004-06-15 18:53                                                   ` Jeffrey Carter
@ 2004-07-01  4:08                                                   ` Dave Thompson
  2 siblings, 0 replies; 216+ messages in thread
From: Dave Thompson @ 2004-07-01  4:08 UTC (permalink / raw)


On Tue, 15 Jun 2004 12:40:46 +1000, Brian May
<bam@snoopy.apana.org.au> wrote:

> >>>>> "Alexander" == Alexander E Kopilovich <aek@VB1162.spb.edu> writes:
> 
>     Alexander> Well, for C, that is for fread and fgets I would say
>     Alexander> that although these functions indeed have maximum
>     Alexander> amount of bytes to be read onto a buffer as a
>     Alexander> parameter, but:
> 
>     Alexander> 1) this maximum, if not computed from "preliminary
>     Alexander> read", is usually set manually, it does not computed
>     Alexander> automatically from the length of the buffer used in
>     Alexander> that fread/fgets; therefore there is an obsvious
>     Alexander> possibility of programmer's mistake, which will not be
>     Alexander> noticed by compiler;
> 
Not fully automatic. You can and often should do e.g. 
fgets (buff, sizeof buff, in_file) -- but this is !silently! wrong if
buff is a function=routine parameter/formal declared as a char array
-- but due to C rules, actually a pointer -- rather than a local or
static/global variable.

You can write (and use) a macro that automatically supplies the sizeof
and even uses (unaesthetically) tricky code to diagnose nonarrays; 
or in C++ a clearer and more elegant inlined template that supplies
the size and diagnoses nonarray -- but in C++ it's more idiomatic to
use the stream >> operators instead, which can among other things read
into std::string which is dynamic comparable to Unbounded_String.

> ...not to mention older functions that don't support a string length
> (eg. sprintf). Some have better versions (eg. snprintf or asprintf),
> but such functions are often non-standard and non-portable extensions.
> 
snprintf is standard as of C99, although not fully compatible
(specifically return value) with some(?) pre-C99 extension versions.

- David.Thompson1 at worldnet.att.net



^ permalink raw reply	[flat|nested] 216+ messages in thread

* Re: Improving Ada's image - Was: 7E7 Flight Controls Electronics
  2004-07-01  4:08                                         ` Dave Thompson
@ 2004-07-04 19:00                                           ` Robert I. Eachus
  0 siblings, 0 replies; 216+ messages in thread
From: Robert I. Eachus @ 2004-07-04 19:00 UTC (permalink / raw)


Dave Thompson wrote:

> It was also designed to be reliable, even in the face of component
> failures, although I didn't really experience that because we were in
> effect an experimental site who *deliberately* shut down fairly often.

I had accounts on bco-multics (Billerica, MA), as well as mit-multics, 
Phoenix AZ (System M), and hi-multics in Minneapolis.  I remember a 
couple of shutdowns due to fried squirrels.  (Jumping from the high 
voltage wiring into the building to the roof which had metal flashing 
could be very detrimental to a squirrel's health, and cause bco-multics 
to shut down when the breaker tripped.)  Other than about two fried 
squirrels and a couple of scheduled updates in the OS, I can't remember 
any hardware or software related loss of service in five years.

I am certain that during that time several dozen hardware failures of 
CPUs, disks, memory, tape drives and so on occurred.  But in that sense 
Multics was totally fault tolerant.  Once when I was in the computer 
room for some reason... (Now I remember, an upgrade to the network 
protocol.) I watched someone power down the CPUs replace the networking 
card, power that CPU up and go on to the next one.

I worked at Stratus following Honeywell.  A lot of the original Stratus 
personnel were ex-Multicians, including Bob Freiburghouse, one of the 
founders.  I'd have to give Stratus, by the time I left, the edge on 
better fault tolerant support, but that was because Stratus systems 
allowed you do to a major OS upgrade, and transfer processes from the 
old OS version to the new without shutting them down.

-- 

                                           Robert I. Eachus

"The flames kindled on the Fourth of July, 1776, have spread over too 
much of the globe to be extinguished by the feeble engines of despotism; 
on the contrary, they will consume these engines and all who work them." 
-- Thomas Jefferson, 1821




^ permalink raw reply	[flat|nested] 216+ messages in thread

end of thread, other threads:[~2004-07-04 19:00 UTC | newest]

Thread overview: 216+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-05-30 11:46 Improving Ada's image - Was: 7E7 Flight Controls Electronics Per Dalgas Jakobsen
2004-05-30 16:13 ` Pascal Obry
2004-05-30 18:03   ` Luke A. Guest
2004-05-30 19:09     ` Per Dalgas Jakobsen
2004-05-31  2:28       ` Richard  Riehle
2004-05-31 15:33         ` Wes Groleau
2004-06-01  2:56           ` Hyman Rosen
2004-06-01 14:51             ` Wes Groleau
2004-06-07 16:29             ` Warren W. Gay VE3WWG
2004-06-07 17:44               ` Hyman Rosen
2004-06-08 16:09                 ` Warren W. Gay VE3WWG
2004-06-08 17:30                   ` Hyman Rosen
2004-06-08 20:38                     ` Warren W. Gay VE3WWG
2004-06-08 22:23                       ` Hyman Rosen
2004-06-09  2:27                         ` Warren W. Gay VE3WWG
2004-06-09  4:41                           ` I R T
2004-06-09  6:43                             ` Richard  Riehle
2004-06-10  6:53                               ` Randy Brukardt
2004-06-12  3:16                                 ` Robert I. Eachus
2004-06-09  6:39                           ` Hyman Rosen
2004-06-09  7:44                             ` I R T
2004-06-09 12:13                               ` Georg Bauhaus
2004-06-09 12:34                             ` Warren W. Gay VE3WWG
2004-06-09 21:13                               ` Hyman Rosen
2004-06-10  2:51                                 ` Wes Groleau
2004-06-10 15:57                                   ` Hyman Rosen
2004-06-10 17:18                                     ` Pascal Obry
2004-06-10 12:13                             ` Marin David Condic
2004-06-11 12:48                               ` Warren W. Gay VE3WWG
2004-06-11 17:31                                 ` Marin David Condic
2004-06-14  2:30                                   ` Berend de Boer
2004-06-14  2:47                                     ` I R T
2004-06-14  3:10                                     ` Hyman Rosen
2004-06-14 11:49                                       ` Marin David Condic
2004-06-14 16:28                                         ` Warren W. Gay VE3WWG
2004-06-14 17:34                                           ` Hyman Rosen
2004-06-15 11:35                                             ` Marin David Condic
2004-06-15 23:02                                               ` Brian May
2004-06-16 11:37                                                 ` Marin David Condic
2004-06-21 14:56                                               ` Jacob Sparre Andersen
2004-06-23 20:19                                                 ` Randy Brukardt
2004-06-15 16:30                                             ` Warren W. Gay VE3WWG
2004-06-15 11:26                                           ` Marin David Condic
2004-06-15 16:43                                             ` Warren W. Gay VE3WWG
2004-06-15 18:51                                               ` Hyman Rosen
2004-06-15 21:02                                                 ` Warren W. Gay VE3WWG
2004-06-15 22:01                                                   ` Hyman Rosen
2004-06-15 22:08                                                     ` Ed Falis
2004-06-15 22:26                                                       ` Hyman Rosen
2004-06-17 15:50                                                         ` Robert I. Eachus
2004-06-17 16:12                                                           ` Hyman Rosen
2004-06-17 21:05                                                             ` Pascal Obry
2004-06-17 21:47                                                               ` Hyman Rosen
2004-06-17 22:18                                                                 ` Georg Bauhaus
2004-06-18  5:19                                                                   ` Brian May
2004-06-18 14:44                                                                     ` Georg Bauhaus
2004-06-17 23:02                                                               ` Brian May
2004-06-18  7:50                                                                 ` Martin Dowie
2004-06-19 20:40                                                                   ` Robert I. Eachus
2004-06-19 18:10                                                               ` Ragged arrays of strings (Was: Improving Ada's image) Jacob Sparre Andersen
2004-06-20 22:01                                                                 ` Pascal Obry
2004-06-19 20:54                                                             ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Robert I. Eachus
2004-06-20  2:20                                                               ` Jeffrey Carter
2004-06-20  4:24                                                               ` tmoran
2004-06-20 15:06                                                               ` Dr. Adrian Wrigley
2004-06-21 15:30                                                                 ` Enum'Image (Was: Improving Ada's image) Jacob Sparre Andersen
2004-06-21 16:06                                                                   ` Dr. Adrian Wrigley
2004-06-21 16:53                                                                     ` Alexander E. Kopilovich
2004-06-22 21:38                                                                       ` Jacob Sparre Andersen
2004-06-23 15:42                                                                         ` Alexander E. Kopilovich
2004-06-23 17:15                                                                           ` Larry Kilgallen
2004-06-22 13:26                                                                   ` Dmitry A. Kazakov
2004-06-23 16:04                                                                   ` Frank J. Lhota
2004-06-25  0:07                                                                     ` Enum'Image Jacob Sparre Andersen
2004-06-25 15:55                                                                       ` Enum'Image Frank J. Lhota
2004-06-23 20:29                                                                   ` Enum'Image (Was: Improving Ada's image) Randy Brukardt
2004-06-23 23:35                                                                     ` Dr. Adrian Wrigley
2004-06-25  0:15                                                                       ` Jacob Sparre Andersen
2004-06-26  5:11                                                               ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Robert I. Eachus
2004-06-27  1:00                                                                 ` Jeffrey Carter
2004-06-27  2:33                                                                 ` Robert I. Eachus
2004-06-15 23:30                                                     ` Dale Stanbrough
2004-06-15 21:59                                               ` Marin David Condic
2004-06-25  4:21                                               ` Enum'Image (Was: Improving Ada's image) Larry Kilgallen
2004-06-15 19:28                                             ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Alexander E. Kopilovich
2004-06-15 21:04                                               ` Warren W. Gay VE3WWG
2004-06-15 22:13                                                 ` Marin David Condic
2004-06-16  0:05                                                 ` Alexander E. Kopilovich
2004-06-15 22:08                                               ` Marin David Condic
2004-06-15 23:06                                                 ` tmoran
2004-06-16 11:47                                                   ` Marin David Condic
2004-06-17  1:33                                                     ` Brian May
2004-06-17 12:09                                                       ` Marin David Condic
2004-06-16  0:56                                                 ` Alexander E. Kopilovich
2004-06-16 11:54                                                   ` Marin David Condic
2004-06-15  1:21                                       ` Alexander E. Kopilovich
2004-07-01  4:08                                         ` Dave Thompson
2004-07-04 19:00                                           ` Robert I. Eachus
2004-06-14 11:45                                     ` Marin David Condic
2004-06-14 13:20                                     ` Larry Kilgallen
2004-06-15 11:39                                       ` Marin David Condic
2004-06-19 23:14                                         ` Pylinius
2004-06-15 11:41                                     ` David Starner
2004-06-15 16:29                                       ` Richard  Riehle
2004-06-15 17:06                                       ` Warren W. Gay VE3WWG
2004-06-11 17:53                                 ` Hyman Rosen
2004-06-11 18:56                                   ` Marin David Condic
2004-06-11 23:23                                     ` Hyman Rosen
2004-06-12  3:08                                     ` Ada BIND was: " Robert I. Eachus
2004-06-12 12:03                                       ` Marin David Condic
2004-06-12 12:47                                         ` Jeff C,
2004-06-13 12:22                                           ` Marin David Condic
2004-06-14 16:33                                             ` Warren W. Gay VE3WWG
2004-06-13  6:08                                         ` Russ
2004-06-13 10:28                                           ` Georg Bauhaus
2004-06-13 14:49                                             ` Stephen Leake
2004-06-13 20:51                                             ` Russ
2004-06-13 23:15                                           ` Robert I. Eachus
2004-06-14  2:09                                             ` Hyman Rosen
2004-06-15  0:02                                               ` Alexander E. Kopilovich
2004-06-15  2:40                                                 ` Brian May
2004-06-15 12:46                                                   ` Frank J. Lhota
2004-06-15 18:53                                                   ` Jeffrey Carter
2004-06-15 22:09                                                     ` Hyman Rosen
2004-07-01  4:08                                                   ` Dave Thompson
2004-06-14 16:43                                           ` Warren W. Gay VE3WWG
2004-06-15 11:47                                             ` Marin David Condic
2004-06-15 16:21                                               ` Warren W. Gay VE3WWG
2004-06-15 19:36                                               ` Frank J. Lhota
2004-06-15 19:51                                                 ` Björn Persson
2004-06-16 13:44                                                   ` Frank J. Lhota
2004-06-15 22:13                                                 ` Hyman Rosen
2004-06-15 22:32                                                   ` Björn Persson
2004-06-15 23:04                                                     ` Hyman Rosen
2004-06-15 23:23                                                       ` Brian May
2004-06-15 23:26                                                       ` tmoran
2004-06-16 18:11                                                         ` Ludovic Brenta
2004-06-15 23:33                                                       ` Björn Persson
2004-06-15 23:18                                                     ` Dale Stanbrough
2004-06-15 23:22                                                       ` Hyman Rosen
2004-06-15 23:37                                                         ` Dale Stanbrough
2004-06-15 23:59                                                       ` Björn Persson
2004-06-16 13:38                                         ` Ada BIND was: Improving Ada's image - Was: 7E7 Flight Controls Larry Kilgallen
2004-06-09 10:52                           ` Ada operating systems Peter C. Chapin
2004-06-09 12:07                         ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Georg Bauhaus
2004-06-11  7:05                           ` Hyman Rosen
2004-06-11 15:07                             ` Georg Bauhaus
2004-06-09 12:32                         ` Marin David Condic
2004-06-15 20:34                         ` Larry Kilgallen
2004-06-08 19:51                   ` Wes Groleau
2004-06-08 22:26                     ` Hyman Rosen
2004-06-09  4:39                   ` I R T
2004-06-09  8:13                     ` Dmitry A. Kazakov
2004-06-09 12:42                       ` Warren W. Gay VE3WWG
2004-06-09 12:38                     ` Warren W. Gay VE3WWG
2004-06-09 16:23                     ` Robert I. Eachus
2004-06-09 16:38                       ` Marius Amado Alves
2004-06-09 20:51                         ` Robert I. Eachus
2004-06-10 12:43                         ` Marin David Condic
2004-06-15 19:55                   ` Larry Kilgallen
2004-06-09 23:45                 ` Richard  Riehle
2004-06-10 12:58                   ` Marin David Condic
2004-06-11 18:03                   ` Russ
2004-06-14 16:16                     ` Warren W. Gay VE3WWG
2004-06-01  2:45         ` Hyman Rosen
2004-06-04 17:24       ` Improving Ada's image - Was: 7E7 Flight Controls Electronics (why not Universities?) Warren W. Gay VE3WWG
2004-06-04 18:46         ` Marius Amado Alves
2004-06-07 12:58           ` Warren W. Gay VE3WWG
2004-06-07 17:11             ` Ada in colleges and universities Peter C. Chapin
2004-06-07 17:29               ` Marius Amado Alves
2004-06-07 19:47                 ` Peter C. Chapin
2004-06-07 18:39               ` Björn Persson
2004-06-07 18:55                 ` Marius Amado Alves
2004-06-07 19:21                   ` Jerome Hugues
2004-06-07 19:27                   ` (see below)
2004-06-07 19:44                     ` Marius Amado Alves
2004-06-08  1:14                     ` Alexander E. Kopilovich
2004-06-07 22:06                   ` Björn Persson
2004-06-07 22:17                     ` (see below)
2004-06-08  9:30                   ` Adrian Knoth
2004-06-08 17:12                     ` Jeffrey Carter
2004-06-08 18:19                       ` Adrian Knoth
2004-06-08  9:53                   ` Jano
2004-06-09  8:55                   ` Pascal Obry
2004-06-07 19:53                 ` Peter C. Chapin
2004-06-07 21:54                   ` Björn Persson
2004-06-09  3:52                     ` I R T
2004-06-09 12:51                       ` Björn Persson
2004-06-10  2:58                         ` Wes Groleau
2004-06-07 22:03                   ` Ludovic Brenta
2004-06-08  0:16                     ` Jeffrey Carter
2004-06-08  5:12                       ` Ludovic Brenta
2004-06-08 16:14               ` Warren W. Gay VE3WWG
2004-06-06 13:34         ` Improving Ada's image - Was: 7E7 Flight Controls Electronics (why not Universities?) Ralph W. Reid
2004-06-07  2:38           ` Robert I. Eachus
2004-05-30 18:47 ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Richard  Riehle
2004-05-31 12:57   ` Marin David Condic
2004-05-31 23:36     ` Berend de Boer
2004-06-01  0:41       ` tmoran
2004-06-01 11:04       ` Marin David Condic
2004-06-01 14:44       ` Wes Groleau
2004-06-01 18:43       ` Pascal Obry
2004-06-07 16:35   ` Warren W. Gay VE3WWG
2004-05-31 12:45 ` Marin David Condic
2004-05-31 20:55 ` Improving Ada's image Björn Persson
2004-06-01  0:41   ` Alexander E. Kopilovich
2004-06-01 11:23   ` Marin David Condic
2004-06-01  2:40 ` Improving Ada's image - Was: 7E7 Flight Controls Electronics Hyman Rosen
2004-06-01 21:14   ` Per Dalgas Jakobsen
2004-06-02  1:12     ` Ed Falis
2004-06-02 10:59     ` Stefan Nobis
2004-06-03  4:19       ` Jeffrey Carter
  -- strict thread matches above, loose matches on Subject: below --
2004-05-31  9:22 Rod Chapman
2004-06-01 11:30 ` Georg Bauhaus
2004-06-18 14:43 abrandon
2004-06-18 17:49 ` Wes Groleau

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