comp.lang.ada
 help / color / mirror / Atom feed
* How to make Ada a dominant language
@ 2001-07-30  7:08 Russ
  2001-07-30  8:36 ` Preben Randhol
                   ` (9 more replies)
  0 siblings, 10 replies; 180+ messages in thread
From: Russ @ 2001-07-30  7:08 UTC (permalink / raw)


The Ada programming language is based on an excellent fundamental
design, but it is much less popular than it could be because it has an
awkward, "klunky" syntax. I propose to clean up the syntax by
borrowing from Python. Python is very popular high level "scripting"
language with a reputation for promoting clean, clear code. The new
syntax could be translated into Ada95 syntax with a relatively simple
"preprocessor," so existing compilers could still be used, old code
would continue to work, and programmers could continue to use the old
syntax if they wish.

Here are the syntax changes I propose:

1. Eliminate the "end" keyword and make the indentation structure an
inherent part of the syntax, as in Python.

2. Eliminate the requirement for a semicolon after each executable
statement, but allow semicolons for combining multiple statements on a
line, as in Python.

3. Use "=" rather than ":=" for assignment, as in Python. (Use "=="
for equality testing if necessary to avoid confusion with assignment.)

4. Use "=" instead of "=>" for passing arguments by named association,
as in Python.

5. Reverse the backward declaration syntax. For example, use "integer:
count" instead of "count: integer", or use "integer in: count" instead
of "count: in integer".

6. Eliminate the "is" keyword.

7. Let "use" imply "with" so the tops of files need not be cluttered
with both "with" and "use" for the same package.

A flag on the first line of a source file (e.g., the string "Ada01"
anywhere within a comment) could be used to tell the compiler that the
file needs to be translated to Ada95 before compiling.

With these changes, I believe Ada would become much more popular and
could eventually become a dominant language. The resulting new
language could be called "Ada01," or something like that.

Honestly now, which of the following two statements is cleaner and
clearer?

    count: integer := 0;  -- old syntax

    integer: count = 0  -- new syntax

Russ Paielli
http://RussP.org



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

* Re: How to make Ada a dominant language
@ 2001-07-30  7:34 Gautier Write-only-address
  2001-07-30 12:25 ` Russ Paielli
       [not found] ` <slrn9ma554.j7f.9-scott-9@anvil.ntc.nokia.com>
  0 siblings, 2 replies; 180+ messages in thread
From: Gautier Write-only-address @ 2001-07-30  7:34 UTC (permalink / raw)
  To: comp.lang.ada

>Honestly now, which of the following two statements is cleaner and
>clearer?
>
>     count: integer := 0;  -- old syntax
>
>     integer: count = 0  -- new syntax

"I declare count as an integer and set it to 0"
           1           2                     3

Clearly the syntax with 1-2-3 order is the most
straightforward. Your idea of making the "equal"
operator become an assignement instruction smells
rather C or BASIC nostalgia than a meaningful new idea.
I agree fully about your With/Use pair simplification, though.
It is on my wish list.
As for the syntax, you'd better invent a Python01...

My 0.01 CHF
G.

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp




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

* Re: How to make Ada a dominant language
  2001-07-30  7:08 Russ
@ 2001-07-30  8:36 ` Preben Randhol
  2001-07-30 12:41   ` Russ Paielli
  2001-07-30  8:36 ` Gary Lisyansky
                   ` (8 subsequent siblings)
  9 siblings, 1 reply; 180+ messages in thread
From: Preben Randhol @ 2001-07-30  8:36 UTC (permalink / raw)


In article <bebbba07.0107292308.d1192fc@posting.google.com>, Russ wrote:
> The Ada programming language is based on an excellent fundamental
> design, but it is much less popular than it could be because it has an
> awkward, "klunky" syntax. I propose to clean up the syntax by
> borrowing from Python. Python is very popular high level "scripting"
> language with a reputation for promoting clean, clear code. The new

If you compare it to Perl, yes.

> syntax could be translated into Ada95 syntax with a relatively simple
> "preprocessor," so existing compilers could still be used, old code
> would continue to work, and programmers could continue to use the old
> syntax if they wish.

 [snipped suggestions]
 
> 
> Honestly now, which of the following two statements is cleaner and
> clearer?
> 
>     count: integer := 0;  -- old syntax

Reads: Count is integer and set is to 0

> 
>     integer: count = 0  -- new syntax

Reads: Integer count equals 0

I prefer the old way, as it is easier to read.

Why is it so very important to use = to set a value and then == when you
check it? I have not understood this.

I don't at all agree that one should change the syntax. There is no need
to make the programs less readable. You should read your source code
more often than you write it. Besides none of these changes will make
Ada more popular, it will only make it a yet-another-language. Now Ada
has advantages over other languages and one is that it is highly readable.

Preben

-- 
�Don't use C;  In my opinion,  C is a library programming language
 not an app programming language.�  - Owen Taylor (GTK+ developer)

Use Ada 95, a free language. More info at http://www.adapower.com/



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

* Re: How to make Ada a dominant language
  2001-07-30  7:08 Russ
  2001-07-30  8:36 ` Preben Randhol
@ 2001-07-30  8:36 ` Gary Lisyansky
  2001-07-30 11:18   ` Gerhard Häring
  2001-07-30 12:49   ` Russ Paielli
  2001-07-30 15:36 ` Gerhard Häring
                   ` (7 subsequent siblings)
  9 siblings, 2 replies; 180+ messages in thread
From: Gary Lisyansky @ 2001-07-30  8:36 UTC (permalink / raw)



"Russ" <18k11tm001@sneakemail.com> wrote in message
news:bebbba07.0107292308.d1192fc@posting.google.com...
> The Ada programming language is based on an excellent fundamental
> design, but it is much less popular than it could be because it has an
> awkward, "klunky" syntax. I propose to clean up the syntax by
> borrowing from Python. Python is very popular high level "scripting"
> language with a reputation for promoting clean, clear code. The new
> syntax could be translated into Ada95 syntax with a relatively simple
> "preprocessor," so existing compilers could still be used, old code
> would continue to work, and programmers could continue to use the old
> syntax if they wish.

Ada is known to favour code reader over the code writer, while Python tends
to be a typical "write only" language.

>
> Here are the syntax changes I propose:
>
> 1. Eliminate the "end" keyword and make the indentation structure an
> inherent part of the syntax, as in Python.

This makes whitespace the part of the language syntax. In practice, it's not
convenient, and adds *extremely nasty* tab/space problems. In common, it's a
bug generator.

>
> 2. Eliminate the requirement for a semicolon after each executable
> statement, but allow semicolons for combining multiple statements on a
> line, as in Python.

"Physical" line is not an element of Ada syntax. Writing statements in one
line or several lines is purely the question of style which allows for more
flexibility and readability. Changing this doesn't make any sense. In fact,
suggestions 1 and 2 are in contradiction to the very idea of a free- form
language.

>
> 3. Use "=" rather than ":=" for assignment, as in Python. (Use "=="
> for equality testing if necessary to avoid confusion with assignment.)
>
> 4. Use "=" instead of "=>" for passing arguments by named association,
> as in Python.
>
> 5. Reverse the backward declaration syntax. For example, use "integer:
> count" instead of "count: integer", or use "integer in: count" instead
> of "count: in integer".

Exactly the same amount of typing. Only the reverse order of words that
seems to be less readable.

>
> 6. Eliminate the "is" keyword.
>
> 7. Let "use" imply "with" so the tops of files need not be cluttered
> with both "with" and "use" for the same package.
>
> A flag on the first line of a source file (e.g., the string "Ada01"
> anywhere within a comment) could be used to tell the compiler that the
> file needs to be translated to Ada95 before compiling.
>
> With these changes, I believe Ada would become much more popular and
> could eventually become a dominant language. The resulting new
> language could be called "Ada01," or something like that.

No. Ones who like Python will continue to use Python.

>
> Honestly now, which of the following two statements is cleaner and
> clearer?
>
>     count: integer := 0;  -- old syntax
>
>     integer: count = 0  -- new syntax

Clearly the first one ("old syntax"), because it puts user- readable
variable name first, and doesn't force the user to locate this name
somewhere between the [probably qualified] type name and the initialiser.

Gary






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

* Re: How to make Ada a dominant language
  2001-07-30  8:36 ` Gary Lisyansky
@ 2001-07-30 11:18   ` Gerhard Häring
  2001-07-30 12:01     ` Gary Lisyansky
  2001-07-30 12:29     ` Preben Randhol
  2001-07-30 12:49   ` Russ Paielli
  1 sibling, 2 replies; 180+ messages in thread
From: Gerhard Häring @ 2001-07-30 11:18 UTC (permalink / raw)


Gary Lisyansky wrote:

> "Russ" <18k11tm001@sneakemail.com> wrote in message
> news:bebbba07.0107292308.d1192fc@posting.google.com...
> 
>>The Ada programming language is based on an excellent fundamental
>>design, but it is much less popular than it could be because it has an
>>awkward, "klunky" syntax. I propose to clean up the syntax by
>>borrowing from Python. Python is very popular high level "scripting"
>>language with a reputation for promoting clean, clear code. The new
>>syntax could be translated into Ada95 syntax with a relatively simple
>>"preprocessor," so existing compilers could still be used, old code
>>would continue to work, and programmers could continue to use the old
>>syntax if they wish.

>>
> 
> Ada is known to favour code reader over the code writer, while Python tends
> to be a typical "write only" language.


Python does it both. The code is easy to read and easy to write. And it 
is good for quick scripting tasks, too.


>>Here are the syntax changes I propose:
>>
>>1. Eliminate the "end" keyword and make the indentation structure an
>>inherent part of the syntax, as in Python.


I don't see how changing the syntax can make a language more popular. If 
you want to lure more people into Ada, you'd have to change the syntax 
to something C-like (yuck!).


> This makes whitespace the part of the language syntax. In practice, it's not
> convenient, and adds *extremely nasty* tab/space problems. In common, it's a
> bug generator.


In many people's experience, it _is_ convenient. My policy is that tabs 
are evil and should never be used except where they absolutely cannot be 
avoided (Makefiles). The unusual fact that whitespace has meaning is 
only annoying beginning Python programmers who use shitty editors.


-- Gerhard




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

* Re: How to make Ada a dominant language
  2001-07-30 11:18   ` Gerhard Häring
@ 2001-07-30 12:01     ` Gary Lisyansky
  2001-07-30 12:56       ` Russ Paielli
  2001-07-30 12:29     ` Preben Randhol
  1 sibling, 1 reply; 180+ messages in thread
From: Gary Lisyansky @ 2001-07-30 12:01 UTC (permalink / raw)


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


"Gerhard H�ring" <gerhard.nospam@bigfoot.de> wrote in message
news:3B654276.4040707@bigfoot.de...
>
> Python does it both. The code is easy to read and easy to write. And it
> is good for quick scripting tasks, too.

The core of the answer is "for quick scripting tasks". One can write a well-
readable code in Python, but most code is not of this quality, especially
because of absence of parameter type information.
>
>
> >>Here are the syntax changes I propose:
> >>
> >>1. Eliminate the "end" keyword and make the indentation structure an
> >>inherent part of the syntax, as in Python.
>
>
> I don't see how changing the syntax can make a language more popular. If
> you want to lure more people into Ada, you'd have to change the syntax
> to something C-like (yuck!).

Agreed partially. Delphi and VB both have Algol- style syntax, and they are
popular. In fact, they are much more popular than C++ Builder that follows
BCPL syntax convention.
>
>
> > This makes whitespace the part of the language syntax. In practice, it's
not
> > convenient, and adds *extremely nasty* tab/space problems. In common,
it's a
> > bug generator.
>
>
> In many people's experience, it _is_ convenient. My policy is that tabs
> are evil and should never be used except where they absolutely cannot be
> avoided (Makefiles). The unusual fact that whitespace has meaning is
> only annoying beginning Python programmers who use shitty editors.

Given the source file is a text file, it must be quite easily readable and
editable in a conventional ASCII text editor. Any "non- shitty" editor is
not a part of language definition. A more serious (far more) thing is that
absence of end statement makes it very easy to introduce a very bad kind of
bugs (unintended inclusion or exclusion of a statement) that are so
characteristic for C++ and Java programs and are often difficult to track.
In common, it's a convenience at a price of reliability. Even though in Java
or C++ it's allowed not to use {} if a statement like if() or for() contains
only one executable statement, it's frequently considered a bad practice.
IMHO, it's not an co-incidence that we don't know too many practically used
non- free- form languages.
>
>
> -- Gerhard
>

Gary





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

* Re: How to make Ada a dominant language
  2001-07-30  7:34 How to make Ada a dominant language Gautier Write-only-address
@ 2001-07-30 12:25 ` Russ Paielli
       [not found] ` <slrn9ma554.j7f.9-scott-9@anvil.ntc.nokia.com>
  1 sibling, 0 replies; 180+ messages in thread
From: Russ Paielli @ 2001-07-30 12:25 UTC (permalink / raw)


Gautier Write-only-address wrote:
> 
> >Honestly now, which of the following two statements is cleaner and
> >clearer?
> >
> >     count: integer := 0;  -- old syntax
> >
> >     integer: count = 0  -- new syntax
> 
> "I declare count as an integer and set it to 0"
>            1           2                     3
> 
> Clearly the syntax with 1-2-3 order is the most
> straightforward. Your idea of making the "equal"
> operator become an assignement instruction smells
> rather C or BASIC nostalgia than a meaningful new idea.

With all due respect, I think long-time Ada programmers are simply so
accustomed to the awkward syntax that they imagine it is more natural.
Unfortunately, the awkward syntax is also one of the main reasons, I
believe, that people are initially put off by Ada.

And it is beyond me how anyone could imagine that ":=" is better than
"=". Why not use "%=", "#=", or "#$%&=", for that matter?

> I agree fully about your With/Use pair simplification, though.
> It is on my wish list.
> As for the syntax, you'd better invent a Python01...

Guido beat me to it.

Russ



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

* Re: How to make Ada a dominant language
  2001-07-30 11:18   ` Gerhard Häring
  2001-07-30 12:01     ` Gary Lisyansky
@ 2001-07-30 12:29     ` Preben Randhol
  2001-07-30 13:11       ` Russ Paielli
  1 sibling, 1 reply; 180+ messages in thread
From: Preben Randhol @ 2001-07-30 12:29 UTC (permalink / raw)


In article <3B654276.4040707@bigfoot.de>, Gerhard H�ring wrote:
> Gary Lisyansky wrote:
> 
>> This makes whitespace the part of the language syntax. In practice, it's not
>> convenient, and adds *extremely nasty* tab/space problems. In common, it's a
>> bug generator.

Yes.
 
> In many people's experience, it _is_ convenient. My policy is that tabs 

Like it is in FORTRAN 77? No, it is not convenient only annoying and a
bug trap. Please explain why it is convenient.


-- 
�Don't use C;  In my opinion,  C is a library programming language
 not an app programming language.�  - Owen Taylor (GTK+ developer)

Use Ada 95, a free language. More info at http://www.adapower.com/



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

* Re: How to make Ada a dominant language
       [not found] ` <slrn9ma554.j7f.9-scott-9@anvil.ntc.nokia.com>
@ 2001-07-30 12:30   ` Russ Paielli
  2001-07-30 12:31     ` Gary Lisyansky
  2001-07-31  9:00     ` Florian Weimer
  0 siblings, 2 replies; 180+ messages in thread
From: Russ Paielli @ 2001-07-30 12:30 UTC (permalink / raw)


Scott Andrew Borton wrote:
> 
> In <mailman.996478542.13470.comp.lang.ada@ada.eu.org>,
>    Gautier Write-only-address wrote:
> 
> >"I declare count as an integer and set it to 0"
> >           1           2                     3
> >
> >Clearly the syntax with 1-2-3 order is the most
> >straightforward.
> 
> It's not clearly more straightforward at all. That's just how you happen to
> say it. It's a mistake to justify programming language syntax by comparing it
> to natual language syntax, since the latter systems allow for greater
> flexibility and were grown, rather than designed. For example, what is wrong
> with:
> 
> "I declare an integer named count and set it to 0..."

There is nothing fundamentally wrong with it. It is just unnatural and
awkward, even if long-time Ada programmers are so used to it they think
it is natural. What I am proposing obviously looks more like a
non-declaration assignment statement, so it is more consistent.

> In any case, I doubt people are going to flock to Ada if its syntax is pushed
> more towards the more popular programming languages.

The idea is not to push the syntax "toward the more popular programming
languages." The idea is to push the syntax toward a cleaner, clearer
form. That's WHY Python is so popular.

Russ



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

* Re: How to make Ada a dominant language
  2001-07-30 12:30   ` Russ Paielli
@ 2001-07-30 12:31     ` Gary Lisyansky
  2001-07-30 13:04       ` Russ Paielli
  2001-07-31  9:03       ` Florian Weimer
  2001-07-31  9:00     ` Florian Weimer
  1 sibling, 2 replies; 180+ messages in thread
From: Gary Lisyansky @ 2001-07-30 12:31 UTC (permalink / raw)



"Russ Paielli" <18k11tm001@sneakemail.com> wrote in message
news:3B655376.F356E34@sneakemail.com...
>
> The idea is not to push the syntax "toward the more popular programming
> languages." The idea is to push the syntax toward a cleaner, clearer
> form. That's WHY Python is so popular.

Python as an application language? I seriously doubt. As a scripting tool
it's definitely superior to Perl, and likely is more popular. But as an
application language it clearly can't compete with Java, C++, VB or Delphi.
>
> Russ





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

* Re: How to make Ada a dominant language
  2001-07-30  8:36 ` Preben Randhol
@ 2001-07-30 12:41   ` Russ Paielli
  2001-07-30 12:52     ` Preben Randhol
                       ` (4 more replies)
  0 siblings, 5 replies; 180+ messages in thread
From: Russ Paielli @ 2001-07-30 12:41 UTC (permalink / raw)


Preben Randhol wrote:
> 
> In article <bebbba07.0107292308.d1192fc@posting.google.com>, Russ wrote:
> > The Ada programming language is based on an excellent fundamental
> > design, but it is much less popular than it could be because it has an
> > awkward, "klunky" syntax. I propose to clean up the syntax by
> > borrowing from Python. Python is very popular high level "scripting"
> > language with a reputation for promoting clean, clear code. The new
> 
> If you compare it to Perl, yes.
> 
> > syntax could be translated into Ada95 syntax with a relatively simple
> > "preprocessor," so existing compilers could still be used, old code
> > would continue to work, and programmers could continue to use the old
> > syntax if they wish.
> 
>  [snipped suggestions]
> 
> >
> > Honestly now, which of the following two statements is cleaner and
> > clearer?
> >
> >     count: integer := 0;  -- old syntax
> 
> Reads: Count is integer and set is to 0
> 
> >
> >     integer: count = 0  -- new syntax
> 
> Reads: Integer count equals 0
> 
> I prefer the old way, as it is easier to read.

I'll bet nine out of 10 non-Ada-programmers would disagree with you. And
that's part of the reason that nine out of ten programmers (or whatever)
are non-Ada-programmers.

> Why is it so very important to use = to set a value and then == when you
> check it? I have not understood this.

Because "=" is the simplest fricking symbol that could possibly be used
for assignment. Why is this so hard for Ada programmers to understand?
What's so great about ":="? Why not use "$=" or "%="?

> I don't at all agree that one should change the syntax. There is no need
> to make the programs less readable. You should read your source code
> more often than you write it. Besides none of these changes will make
> Ada more popular, it will only make it a yet-another-language. Now Ada
> has advantages over other languages and one is that it is highly readable.

What I am proposing would not make programs "less readable." It would
make them MORE readable, especially for new Ada programmers. If
long-time Ada programmers are unable to see that, I believe Ada will
become an obscure niche language, like HAL or Jovial. That would be a
terrible shame, because Ada has excellent fundamentals and could become
a dominant language.

Russ



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

* Re: How to make Ada a dominant language
  2001-07-30  8:36 ` Gary Lisyansky
  2001-07-30 11:18   ` Gerhard Häring
@ 2001-07-30 12:49   ` Russ Paielli
  2001-07-30 13:13     ` Gary Lisyansky
  2001-07-31  3:28     ` Warren W. Gay VE3WWG
  1 sibling, 2 replies; 180+ messages in thread
From: Russ Paielli @ 2001-07-30 12:49 UTC (permalink / raw)


Gary Lisyansky wrote:
> 
> "Russ" <18k11tm001@sneakemail.com> wrote in message
> news:bebbba07.0107292308.d1192fc@posting.google.com...
> > The Ada programming language is based on an excellent fundamental
> > design, but it is much less popular than it could be because it has an
> > awkward, "klunky" syntax. I propose to clean up the syntax by
> > borrowing from Python. Python is very popular high level "scripting"
> > language with a reputation for promoting clean, clear code. The new
> > syntax could be translated into Ada95 syntax with a relatively simple
> > "preprocessor," so existing compilers could still be used, old code
> > would continue to work, and programmers could continue to use the old
> > syntax if they wish.
> 
> Ada is known to favour code reader over the code writer, while Python tends
> to be a typical "write only" language.

Sorry, but that's just baloney. You must be confusing Python with Perl.

> >
> > Here are the syntax changes I propose:
> >
> > 1. Eliminate the "end" keyword and make the indentation structure an
> > inherent part of the syntax, as in Python.
> 
> This makes whitespace the part of the language syntax. In practice, it's not
> convenient, and adds *extremely nasty* tab/space problems. In common, it's a
> bug generator.

Whitespace is already part of the language syntax. Don't believe me?
Take all the whitespace out of your programs and see if they still work.

> >
> > 2. Eliminate the requirement for a semicolon after each executable
> > statement, but allow semicolons for combining multiple statements on a
> > line, as in Python.
> 
> "Physical" line is not an element of Ada syntax. Writing statements in one
> line or several lines is purely the question of style which allows for more
> flexibility and readability. Changing this doesn't make any sense. In fact,
> suggestions 1 and 2 are in contradiction to the very idea of a free- form
> language.

If 99% of executable statements are on one line, it is ridiculous to
clutter every line with a semicolon.

> >
> > 3. Use "=" rather than ":=" for assignment, as in Python. (Use "=="
> > for equality testing if necessary to avoid confusion with assignment.)
> >
> > 4. Use "=" instead of "=>" for passing arguments by named association,
> > as in Python.
> >
> > 5. Reverse the backward declaration syntax. For example, use "integer:
> > count" instead of "count: integer", or use "integer in: count" instead
> > of "count: in integer".
> 
> Exactly the same amount of typing. Only the reverse order of words that
> seems to be less readable.

The point is not the amount of typing. And I'll bet that the vast
majority of non-Ada-programmers think it is more, not less, readable.

Russ



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

* Re: How to make Ada a dominant language
@ 2001-07-30 12:51 Gautier Write-only-address
  0 siblings, 0 replies; 180+ messages in thread
From: Gautier Write-only-address @ 2001-07-30 12:51 UTC (permalink / raw)
  To: comp.lang.ada

>There is nothing fundamentally wrong with it. It is just unnatural and
>awkward, even if long-time Ada programmers are so used to it they think
>it is natural.

The other syntax seems more natural to you because you are used
to it. Program some years in Ada and you'll see it more neutraly.
For me the Ada syntax has a visual advantage because when you
have a bunch of variables, you see their name first
   blabla...
   trucmuche...
   bidule...
instead of
   integer...
   integer...
   integer...

but you'll certainly say that it is so because my eye is used to look
at the 1st word ;-)

If you look for a *really* popular languages, don't look at C, Python
or other used mostly by IT people. Look at Visual Basic, maybe.

G.


_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp




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

* Re: How to make Ada a dominant language
  2001-07-30 12:41   ` Russ Paielli
@ 2001-07-30 12:52     ` Preben Randhol
  2001-07-30 13:24       ` Russ Paielli
                         ` (2 more replies)
  2001-07-30 12:52     ` Gary Lisyansky
                       ` (3 subsequent siblings)
  4 siblings, 3 replies; 180+ messages in thread
From: Preben Randhol @ 2001-07-30 12:52 UTC (permalink / raw)


In article <3B6555ED.9B0B0420@sneakemail.com>, Russ Paielli wrote:
> Preben Randhol wrote:
> 
> I'll bet nine out of 10 non-Ada-programmers would disagree with you. And
> that's part of the reason that nine out of ten programmers (or whatever)
> are non-Ada-programmers.

So what. If they choose not to use Ada because one uses a more readable
syntax, let them. They obviously haven't grasphed the idea of making
good quality software and are only too happy hacking in C or Perl or
whater. Let them. I think rather that this 90% are either ignorant of
Ada or following the main stream towards the cliffs (read C++, Java
etc...).

> Because "=" is the simplest fricking symbol that could possibly be used

If you think about it it is more important that your if statments are
correct than your assignments. Just think about this C line:

   if (C = crap) then ...

and of course it will always be true and will compile. I would rather
have = for this than assignments.

> for assignment. Why is this so hard for Ada programmers to understand?
> What's so great about ":="? Why not use "$=" or "%="?

Because of how colon is used in written language. You can read := as
"set to equal" or only "set to".


> What I am proposing would not make programs "less readable." It would
> make them MORE readable, especially for new Ada programmers. If
> long-time Ada programmers are unable to see that, I believe Ada will
> become an obscure niche language, like HAL or Jovial. That would be a
> terrible shame, because Ada has excellent fundamentals and could become
> a dominant language.

Sorry but you are barking up the wrong tree as I see it. Rather make
good free programs in Ada and distribute them under GPL or similar with
source to get more people aware of Ada. That would help Ada more than
changing its syntax.


-- 
�Don't use C;  In my opinion,  C is a library programming language
 not an app programming language.�  - Owen Taylor (GTK+ developer)

Use Ada 95, a free language. More info at http://www.adapower.com/



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

* Re: How to make Ada a dominant language
  2001-07-30 12:41   ` Russ Paielli
  2001-07-30 12:52     ` Preben Randhol
@ 2001-07-30 12:52     ` Gary Lisyansky
  2001-07-30 13:38       ` Russ Paielli
                         ` (3 more replies)
  2001-07-30 18:22     ` Stefan Nobis
                       ` (2 subsequent siblings)
  4 siblings, 4 replies; 180+ messages in thread
From: Gary Lisyansky @ 2001-07-30 12:52 UTC (permalink / raw)



"Russ Paielli" <18k11tm001@sneakemail.com> wrote in message
news:3B6555ED.9B0B0420@sneakemail.com...
> Preben Randhol wrote:
> > > Honestly now, which of the following two statements is cleaner and
> > > clearer?
> > >
> > >     count: integer := 0;  -- old syntax
> >
> > Reads: Count is integer and set is to 0
> >
> > >
> > >     integer: count = 0  -- new syntax
> >
> > Reads: Integer count equals 0
> >
> > I prefer the old way, as it is easier to read.
>
> I'll bet nine out of 10 non-Ada-programmers would disagree with you. And
> that's part of the reason that nine out of ten programmers (or whatever)
> are non-Ada-programmers.

Dubious. In reality, only C/C++/Java use this "type first" order in
declarations. Pascal uses Ada- like syntax, VB uses even more verbose
construct (Dim Count As Integer) and so on. I've never heard anyone complain
about "var name first" declaration convention.

>
> > Why is it so very important to use = to set a value and then == when you
> > check it? I have not understood this.
>
> Because "=" is the simplest fricking symbol that could possibly be used
> for assignment. Why is this so hard for Ada programmers to understand?
> What's so great about ":="? Why not use "$=" or "%="?

It's a change for the sake of change. It doesn't eliminate any serious
verbosity. ":=" is simply traditional.

>
> > I don't at all agree that one should change the syntax. There is no need
> > to make the programs less readable. You should read your source code
> > more often than you write it. Besides none of these changes will make
> > Ada more popular, it will only make it a yet-another-language. Now Ada
> > has advantages over other languages and one is that it is highly
readable.
>
> What I am proposing would not make programs "less readable." It would
> make them MORE readable, especially for new Ada programmers. If
> long-time Ada programmers are unable to see that, I believe Ada will
> become an obscure niche language, like HAL or Jovial. That would be a
> terrible shame, because Ada has excellent fundamentals and could become
> a dominant language.

Frankly, I think that lack of popularity of Ada has literally nothing to do
with any of the "issues" that you've listed.
>
> Russ

Gary





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

* Re: How to make Ada a dominant language
  2001-07-30 12:01     ` Gary Lisyansky
@ 2001-07-30 12:56       ` Russ Paielli
  2001-07-31  3:17         ` Warren W. Gay VE3WWG
  0 siblings, 1 reply; 180+ messages in thread
From: Russ Paielli @ 2001-07-30 12:56 UTC (permalink / raw)


Gary Lisyansky wrote:
> 
> "Gerhard H�ring" <gerhard.nospam@bigfoot.de> wrote in message
> news:3B654276.4040707@bigfoot.de...
> >
> > Python does it both. The code is easy to read and easy to write. And it
> > is good for quick scripting tasks, too.
> 
> The core of the answer is "for quick scripting tasks". One can write a well-
> readable code in Python, but most code is not of this quality, especially
> because of absence of parameter type information.

Of course Python is intended for a different type of application than
Ada is intended for. I am not proposing for a second that Ada become
Python. I am simply proposing that Ada borrow some of Python's elegant
syntax. The underlying fundamentals of Ada would not be changed one
iota.

Russ



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

* Re: How to make Ada a dominant language
  2001-07-30 12:31     ` Gary Lisyansky
@ 2001-07-30 13:04       ` Russ Paielli
  2001-07-31  9:03       ` Florian Weimer
  1 sibling, 0 replies; 180+ messages in thread
From: Russ Paielli @ 2001-07-30 13:04 UTC (permalink / raw)


Gary Lisyansky wrote:
> 
> "Russ Paielli" <18k11tm001@sneakemail.com> wrote in message
> news:3B655376.F356E34@sneakemail.com...
> >
> > The idea is not to push the syntax "toward the more popular programming
> > languages." The idea is to push the syntax toward a cleaner, clearer
> > form. That's WHY Python is so popular.
> 
> Python as an application language? I seriously doubt. As a scripting tool
> it's definitely superior to Perl, and likely is more popular. But as an
> application language it clearly can't compete with Java, C++, VB or Delphi.

What the heck are you referring to? Who said anything about Python as an
application language? I certainly didn't. I'm only talking about its
syntax.

Actually, Python is becoming popular among scientists, who are using it
as a sort of Matlab-style interactive computational tool. Check out
NumPy (numerical Python). Also, heavy-duty number crunchers are using it
to "script" their programs. Python is a lot more capable than you think.

Russ



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

* Re: How to make Ada a dominant language
  2001-07-30 12:29     ` Preben Randhol
@ 2001-07-30 13:11       ` Russ Paielli
  2001-07-30 15:45         ` Darren New
  2001-07-31  8:51         ` Florian Weimer
  0 siblings, 2 replies; 180+ messages in thread
From: Russ Paielli @ 2001-07-30 13:11 UTC (permalink / raw)


Preben Randhol wrote:
> 
> In article <3B654276.4040707@bigfoot.de>, Gerhard H�ring wrote:
> > Gary Lisyansky wrote:
> >
> >> This makes whitespace the part of the language syntax. In practice, it's not
> >> convenient, and adds *extremely nasty* tab/space problems. In common, it's a
> >> bug generator.
> 
> Yes.
> 
> > In many people's experience, it _is_ convenient. My policy is that tabs
> 
> Like it is in FORTRAN 77? No, it is not convenient only annoying and a
> bug trap. Please explain why it is convenient.

It is more than "convenient." It FORCES the programmer to use proper
indentation structure, and it assures the reader that the indentation
structure is indeed consistent with the logical structure. It is
completely in the Ada spirit of encouraging good structure and form. It
will ELIMINATE an entire class of bugs.

Russ



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

* Re: How to make Ada a dominant language
  2001-07-30 12:49   ` Russ Paielli
@ 2001-07-30 13:13     ` Gary Lisyansky
  2001-07-30 13:49       ` Russ Paielli
  2001-07-31  3:28     ` Warren W. Gay VE3WWG
  1 sibling, 1 reply; 180+ messages in thread
From: Gary Lisyansky @ 2001-07-30 13:13 UTC (permalink / raw)



"Russ Paielli" <18k11tm001@sneakemail.com> wrote in message
news:3B6557D2.DC2F9F2F@sneakemail.com...
> Gary Lisyansky wrote:
> > Ada is known to favour code reader over the code writer, while Python
tends
> > to be a typical "write only" language.
>
> Sorry, but that's just baloney. You must be confusing Python with Perl.

It's not a baloney at all. To list but some elegant features, absence of
parameter type information makes the source code very difficult to read.
Mandatory placement of statements in lines and indentation rule make the
thing even worse to read (a li'l hint: some procedures and nested compound
statements may not fit into the height of the scrollable viewport of your
editor:-)). Given variables are typeless, even the world's most  advanced
IDE won't give you a chance to understand what "someObject.doSomething"
really means and find the definition of doSomething(), for instance.
>
> > >
> > > Here are the syntax changes I propose:
> > >
> > > 1. Eliminate the "end" keyword and make the indentation structure an
> > > inherent part of the syntax, as in Python.
> >
> > This makes whitespace the part of the language syntax. In practice, it's
not
> > convenient, and adds *extremely nasty* tab/space problems. In common,
it's a
> > bug generator.
>
> Whitespace is already part of the language syntax. Don't believe me?
> Take all the whitespace out of your programs and see if they still work.

Whitespace in well- designed languages is used as separator only. In Python
and other indentation- based languages it is effectively a keyword, and a
one without well- defined meaning. "Four whitespaces" may, depending on the
situation mean just the next statement in a block, or the end of a compound
statement, or may be used to distinguish between a method of a class and a
non- component function. What's that, programming using innuendoes?
Add here bugs like mis- indented statement that may keep the code still
formally valid but screwed up logically.
>
> > >
> > > 2. Eliminate the requirement for a semicolon after each executable
> > > statement, but allow semicolons for combining multiple statements on a
> > > line, as in Python.
> >
> > "Physical" line is not an element of Ada syntax. Writing statements in
one
> > line or several lines is purely the question of style which allows for
more
> > flexibility and readability. Changing this doesn't make any sense. In
fact,
> > suggestions 1 and 2 are in contradiction to the very idea of a free-
form
> > language.
>
> If 99% of executable statements are on one line, it is ridiculous to
> clutter every line with a semicolon.

99 /= 100. And, the ability to freely use whitespace to format the source
code for easy readability is quite valuable. Using ":" or ";" *inside* the
multiline statement is much weirder, it's used (except Python) mostly for
compatibility with advanced languages frequently called "street Basic".

>
> > >
> > > 3. Use "=" rather than ":=" for assignment, as in Python. (Use "=="
> > > for equality testing if necessary to avoid confusion with assignment.)
> > >
> > > 4. Use "=" instead of "=>" for passing arguments by named association,
> > > as in Python.
> > >
> > > 5. Reverse the backward declaration syntax. For example, use "integer:
> > > count" instead of "count: integer", or use "integer in: count" instead
> > > of "count: in integer".
> >
> > Exactly the same amount of typing. Only the reverse order of words that
> > seems to be less readable.
>
> The point is not the amount of typing. And I'll bet that the vast
> majority of non-Ada-programmers think it is more, not less, readable.

The infamous if (a = b) is so widespread an error in C++ that many compilers
issue a warning when encounter this perfectly legal construct. It's because
even years of C++ programming can't erase natural human habit to use "=" as
equality operator, and not "==".

>
> Russ

Gary





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

* Re: How to make Ada a dominant language
  2001-07-30 12:52     ` Preben Randhol
@ 2001-07-30 13:24       ` Russ Paielli
  2001-07-30 15:47         ` Preben Randhol
                           ` (2 more replies)
  2001-07-30 15:38       ` Darren New
  2001-07-31  8:31       ` Florian Weimer
  2 siblings, 3 replies; 180+ messages in thread
From: Russ Paielli @ 2001-07-30 13:24 UTC (permalink / raw)


Preben Randhol wrote:
> 
> In article <3B6555ED.9B0B0420@sneakemail.com>, Russ Paielli wrote:
> > Preben Randhol wrote:
> >
> > I'll bet nine out of 10 non-Ada-programmers would disagree with you. And
> > that's part of the reason that nine out of ten programmers (or whatever)
> > are non-Ada-programmers.
> 
> So what. If they choose not to use Ada because one uses a more readable
> syntax, let them. They obviously haven't grasphed the idea of making
> good quality software and are only too happy hacking in C or Perl or
> whater. Let them. I think rather that this 90% are either ignorant of
> Ada or following the main stream towards the cliffs (read C++, Java
> etc...).
> 
> > Because "=" is the simplest fricking symbol that could possibly be used
> 
> If you think about it it is more important that your if statments are
> correct than your assignments. Just think about this C line:
> 
>    if (C = crap) then ...
> 
> and of course it will always be true and will compile. I would rather
> have = for this than assignments.

This is a red herring. You simply don't allow "if (C = crap) then". As I
wrote in my proposal, you use "==" for equality testing IF (IF IF IF IF
IF) it causes any confusion with assignment.

> > for assignment. Why is this so hard for Ada programmers to understand?
> > What's so great about ":="? Why not use "$=" or "%="?
> 
> Because of how colon is used in written language. You can read := as
> "set to equal" or only "set to".

Then why not just use the colon, without the equals. The ":=" is
redundant. I have yet to see ":=" used in anything I have ever read.
That is NOT how the colon is used in the written language.

> > What I am proposing would not make programs "less readable." It would
> > make them MORE readable, especially for new Ada programmers. If
> > long-time Ada programmers are unable to see that, I believe Ada will
> > become an obscure niche language, like HAL or Jovial. That would be a
> > terrible shame, because Ada has excellent fundamentals and could become
> > a dominant language.
> 
> Sorry but you are barking up the wrong tree as I see it. Rather make
> good free programs in Ada and distribute them under GPL or similar with
> source to get more people aware of Ada. That would help Ada more than
> changing its syntax.

I think you are barking up the wrong tree. Not only that, you are
putting the cart before the horse. Why do you think so few open-source
programs are written in Ada? I just hope folks like you wake up before
Ada goes the way of HAL and Jovial.

Russ



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

* Re: How to make Ada a dominant language
  2001-07-30 12:52     ` Gary Lisyansky
@ 2001-07-30 13:38       ` Russ Paielli
  2001-07-30 13:43         ` Gary Lisyansky
  2001-07-31  9:32       ` Philip Anderson
                         ` (2 subsequent siblings)
  3 siblings, 1 reply; 180+ messages in thread
From: Russ Paielli @ 2001-07-30 13:38 UTC (permalink / raw)


Gary Lisyansky wrote:
> 
> "Russ Paielli" <18k11tm001@sneakemail.com> wrote in message
> news:3B6555ED.9B0B0420@sneakemail.com...
> > Preben Randhol wrote:
> > > > Honestly now, which of the following two statements is cleaner and
> > > > clearer?
> > > >
> > > >     count: integer := 0;  -- old syntax
> > >
> > > Reads: Count is integer and set is to 0
> > >
> > > >
> > > >     integer: count = 0  -- new syntax
> > >
> > > Reads: Integer count equals 0
> > >
> > > I prefer the old way, as it is easier to read.
> >
> > I'll bet nine out of 10 non-Ada-programmers would disagree with you. And
> > that's part of the reason that nine out of ten programmers (or whatever)
> > are non-Ada-programmers.
> 
> Dubious. In reality, only C/C++/Java use this "type first" order in
> declarations. Pascal uses Ada- like syntax, VB uses even more verbose
> construct (Dim Count As Integer) and so on. I've never heard anyone complain
> about "var name first" declaration convention.

Yes, and how popular is Pascal? How popular is C/C++? Thanks for making
my point.

> >
> > > Why is it so very important to use = to set a value and then == when you
> > > check it? I have not understood this.
> >
> > Because "=" is the simplest fricking symbol that could possibly be used
> > for assignment. Why is this so hard for Ada programmers to understand?
> > What's so great about ":="? Why not use "$=" or "%="?
> 
> It's a change for the sake of change. It doesn't eliminate any serious
> verbosity. ":=" is simply traditional.

It's a change for the sake of simplicity. Einstein said, "Everything
should be made as simple as possible, but no simpler."

> >
> > > I don't at all agree that one should change the syntax. There is no need
> > > to make the programs less readable. You should read your source code
> > > more often than you write it. Besides none of these changes will make
> > > Ada more popular, it will only make it a yet-another-language. Now Ada
> > > has advantages over other languages and one is that it is highly
> readable.
> >
> > What I am proposing would not make programs "less readable." It would
> > make them MORE readable, especially for new Ada programmers. If
> > long-time Ada programmers are unable to see that, I believe Ada will
> > become an obscure niche language, like HAL or Jovial. That would be a
> > terrible shame, because Ada has excellent fundamentals and could become
> > a dominant language.
> 
> Frankly, I think that lack of popularity of Ada has literally nothing to do
> with any of the "issues" that you've listed.

"Literally nothing," eh? Open your eyes, before your next job requires
you to use C++ or Java!

Ada is a great language and it was mandated by the DoD for years, yet it
is still used very little by hackers or hobbyists. What could explain
that other than the tacky syntax?

Russ



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

* Re: How to make Ada a dominant language
  2001-07-30 13:38       ` Russ Paielli
@ 2001-07-30 13:43         ` Gary Lisyansky
  2001-07-30 15:08           ` Larry Kilgallen
  0 siblings, 1 reply; 180+ messages in thread
From: Gary Lisyansky @ 2001-07-30 13:43 UTC (permalink / raw)



"Russ Paielli" <18k11tm001@sneakemail.com> wrote in message
news:3B656345.64AB603A@sneakemail.com...
> Gary Lisyansky wrote:
>
> Yes, and how popular is Pascal? How popular is C/C++? Thanks for making
> my point.

Object Pascal (in its Delphi incarnation) is in fact the most popular
RAD/database development tool in Europe. It outnumbers even VB there. C++-
based RAD/DB tools like Optima++ or C++ Builder have a very few
installations.

>
> > >
> > > > Why is it so very important to use = to set a value and then == when
you
> > > > check it? I have not understood this.
> > >
> > > Because "=" is the simplest fricking symbol that could possibly be
used
> > > for assignment. Why is this so hard for Ada programmers to understand?
> > > What's so great about ":="? Why not use "$=" or "%="?
> >
> > It's a change for the sake of change. It doesn't eliminate any serious
> > verbosity. ":=" is simply traditional.
>
> It's a change for the sake of simplicity. Einstein said, "Everything
> should be made as simple as possible, but no simpler."
>
>
> Ada is a great language and it was mandated by the DoD for years, yet it
> is still used very little by hackers or hobbyists. What could explain
> that other than the tacky syntax?

The reasons are multiple. IMHO, some of them include poor availability of
compilers for most widespread hardware in the 80- 90s and many non-
technical issues.

>
> Russ





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

* Re: How to make Ada a dominant language
  2001-07-30 13:13     ` Gary Lisyansky
@ 2001-07-30 13:49       ` Russ Paielli
  2001-07-31  1:10         ` Adrian Hoe
  0 siblings, 1 reply; 180+ messages in thread
From: Russ Paielli @ 2001-07-30 13:49 UTC (permalink / raw)


Gary Lisyansky wrote:
> 
> "Russ Paielli" <18k11tm001@sneakemail.com> wrote in message
> news:3B6557D2.DC2F9F2F@sneakemail.com...
> > Gary Lisyansky wrote:
> > > Ada is known to favour code reader over the code writer, while Python
> tends
> > > to be a typical "write only" language.
> >
> > Sorry, but that's just baloney. You must be confusing Python with Perl.
> 
> It's not a baloney at all. To list but some elegant features, absence of
> parameter type information makes the source code very difficult to read.
> Mandatory placement of statements in lines and indentation rule make the
> thing even worse to read (a li'l hint: some procedures and nested compound
> statements may not fit into the height of the scrollable viewport of your
> editor:-)). Given variables are typeless, even the world's most  advanced
> IDE won't give you a chance to understand what "someObject.doSomething"
> really means and find the definition of doSomething(), for instance.

I am obviously NOT suggesting for a second that Ada adopt Python's
untyped variables. Are you deliberately trying to distort what I am
proposing, or are you just completely failing to grasp it?

> > > >
> > > > Here are the syntax changes I propose:
> > > >
> > > > 1. Eliminate the "end" keyword and make the indentation structure an
> > > > inherent part of the syntax, as in Python.
> > >
> > > This makes whitespace the part of the language syntax. In practice, it's
> not
> > > convenient, and adds *extremely nasty* tab/space problems. In common,
> it's a
> > > bug generator.
> >
> > Whitespace is already part of the language syntax. Don't believe me?
> > Take all the whitespace out of your programs and see if they still work.
> 
> Whitespace in well- designed languages is used as separator only. In Python
> and other indentation- based languages it is effectively a keyword, and a
> one without well- defined meaning. "Four whitespaces" may, depending on the
> situation mean just the next statement in a block, or the end of a compound
> statement, or may be used to distinguish between a method of a class and a
> non- component function. What's that, programming using innuendoes?
> Add here bugs like mis- indented statement that may keep the code still
> formally valid but screwed up logically.

Would you call ";" a "keyword"?

As I wrote elsewhere, Python's use of indentation as logical structure
FORCES the programmer to use proper indentation structure, which is
completely in the Ada spirit of enforcing good practices (rather than
simply "allowing" them). More importantly, Python assures the reader of
the code that the logical structure is consistent with the indentation
structure.

<cut>

> The infamous if (a = b) is so widespread an error in C++ that many compilers
> issue a warning when encounter this perfectly legal construct. It's because
> even years of C++ programming can't erase natural human habit to use "=" as
> equality operator, and not "==".

Another red herring. What I am proposing has absolutely nothing to do
with this pitfall of C++.

Russ



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

* Re: How to make Ada a dominant language
@ 2001-07-30 14:29 Gautier Write-only-address
  0 siblings, 0 replies; 180+ messages in thread
From: Gautier Write-only-address @ 2001-07-30 14:29 UTC (permalink / raw)
  To: comp.lang.ada

[about spaces and tabs]

Russ:

>It is more than "convenient." It FORCES the programmer to use proper
>indentation structure, and it assures the reader that the indentation
>structure is indeed consistent with the logical structure. It is
>completely in the Ada spirit of encouraging good structure and form.

An editor that does it can be very comfortable, I agree. I did
use a so-called GFA-BASIC that indented automatically.

AdaGIDE can re-indent in one click I think. So, this is not
a dramatic issue. Why add it as a language topic, when you know
all the problems that come from TAB characters, their interpretation
(4 or 8 jumps) and typing errors. In addition, if you let the "end"
fall you can imagine the possible damages (I hope). You are crawling
back all the conclusions that led to the Ada design and trying
to re-invent all mistakes of the 1960s - 1970s. For your defence,
you are not alone...

Frankly, why don't you create a "Russ" language, with a preprocessor
that translates to Ada ? So you'll be happy, famous, and Ada programmers
can continue programming...
__________________________________________
Gautier  --  http://www.diax.ch/users/gdm/

NB: Do not answer to sender address, visit the Web site!
    Ne r�pondez pas � l'exp�diteur, visitez le site ouaibe!


_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp




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

* Re: How to make Ada a dominant language
  2001-07-30 15:08           ` Larry Kilgallen
@ 2001-07-30 15:02             ` Russ Paielli
  2001-07-30 15:52               ` Preben Randhol
                                 ` (5 more replies)
  0 siblings, 6 replies; 180+ messages in thread
From: Russ Paielli @ 2001-07-30 15:02 UTC (permalink / raw)


Larry Kilgallen wrote:
> 
> One of the best things about Ada is stability. There have only been two
> versions of the standard, and vendor extensions are well under control.

> There are many things that can be done to make Ada more popular outside
> the language definition.  Any changes to the language pale by comparison
> in their effect.  Making Ada more popular would not be desireable if it
> hurt the clarity and correctness advantages Ada has now.

My proposal is deliberately designed to have a minimal effect on
stability. As I said, a relatively simple preprocessor would be able to
translate back and forth between Ada95 and the syntax I am proposing. If
you want to continue to use Ada95 syntax, you could do so with impunity.
What's the problem?

In the meantime, the Ada community seems determined to rearrange the
chairs on the deck of the Titanic.

I read recently that only one in ten new DoD WEAPONS programs is even
choosing Ada now that the DoD mandate has been dropped. Don't even ask
about DoD accounting and supply-chain management programs!

I am trying to sell Ada for a safety-critical program, and I am getting
little or no support from my organization. I get forwarded email
messages from full professors of CS at MIT claiming that Ada is being
replaced by Java even in their studies of software reliability.

You Ada guys seem determined to let Ada slip into oblivion. I'll bet HAL
and Jovial programmers are proud of the stability of their languages
too.

I am new to Ada, and I believe that gives me a certain perspective that
Ada veterans lack. I am making a proposal that could save the best
programming language around, and all I get is a bunch of irrelevant
criticism.

Russ



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

* Re: How to make Ada a dominant language
  2001-07-30 13:43         ` Gary Lisyansky
@ 2001-07-30 15:08           ` Larry Kilgallen
  2001-07-30 15:02             ` Russ Paielli
  0 siblings, 1 reply; 180+ messages in thread
From: Larry Kilgallen @ 2001-07-30 15:08 UTC (permalink / raw)


One of the best things about Ada is stability. There have only been two
versions of the standard, and vendor extensions are well under control.

There are many things that can be done to make Ada more popular outside
the language definition.  Any changes to the language pale by comparison
in their effect.  Making Ada more popular would not be desireable if it
hurt the clarity and correctness advantages Ada has now.



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

* Re: How to make Ada a dominant language
  2001-07-30  7:08 Russ
  2001-07-30  8:36 ` Preben Randhol
  2001-07-30  8:36 ` Gary Lisyansky
@ 2001-07-30 15:36 ` Gerhard Häring
  2001-07-30 22:58 ` Gary Scott
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 180+ messages in thread
From: Gerhard Häring @ 2001-07-30 15:36 UTC (permalink / raw)


Russ wrote:

> The Ada programming language is based on an excellent fundamental
> design, but it is much less popular than it could be because it has an
> awkward, "klunky" syntax. I propose to clean up the syntax by
> borrowing from Python. Python is very popular high level "scripting"
> language with a reputation for promoting clean, clear code. The new
> syntax could be translated into Ada95 syntax with a relatively simple
> "preprocessor," so existing compilers could still be used, old code
> would continue to work, and programmers could continue to use the old
> syntax if they wish.


The problem with "simple preprocessors" is that you don't get good error 
messages any more.

> Here are the syntax changes I propose:

[snip]

I like both Python and Ada. I use Ada syntax in Ada and Python syntax in 
Python. There are already preprocessors for Perl and C++ that translate 
from a Python-like syntax to Perl/C++ (search freshmeat).

The syntax of a programming language is something relatively 
superficial. I don't think that Ada's little popularity is causes by its 
syntax. I used to be a great Modula-2 fan and was immediatly familiar 
with Ada.

-- Gerhard




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

* Re: How to make Ada a dominant language
  2001-07-30 12:52     ` Preben Randhol
  2001-07-30 13:24       ` Russ Paielli
@ 2001-07-30 15:38       ` Darren New
  2001-07-31  8:31       ` Florian Weimer
  2 siblings, 0 replies; 180+ messages in thread
From: Darren New @ 2001-07-30 15:38 UTC (permalink / raw)


> > What's so great about ":="? Why not use "$=" or "%="?
> 
> Because of how colon is used in written language. You can read := as
> "set to equal" or only "set to".

Actually, it's because there was no left-arrow on hollerith cards. := is
as close to a left-pointing arrow that you could draw without using <=
or <- both of which would be confusing for different reasons.

-- 
Darren New / Senior MTS & Free Radical / Invisible Worlds Inc.
San Diego, CA, USA (PST). Cryptokeys on demand. dnew@san.rr.com
          Only a WIMP puts wallpaper on his desktop.



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

* Re: How to make Ada a dominant language
  2001-07-30 13:11       ` Russ Paielli
@ 2001-07-30 15:45         ` Darren New
  2001-07-30 16:00           ` Preben Randhol
  2001-07-31  8:51         ` Florian Weimer
  1 sibling, 1 reply; 180+ messages in thread
From: Darren New @ 2001-07-30 15:45 UTC (permalink / raw)


> > Like it is in FORTRAN 77? No, it is not convenient only annoying and a
> > bug trap. Please explain why it is convenient.
> 
> It is more than "convenient." It FORCES the programmer to use proper
> indentation structure, and it assures the reader that the indentation
> structure is indeed consistent with the logical structure. It is
> completely in the Ada spirit of encouraging good structure and form. It
> will ELIMINATE an entire class of bugs.

This regularly comes up in the python newsgroup, where studies showing
the effectiveness of indentation-oriented blocks reduces bugs. Not that
I'm recommending it for Ada, mind. But there have been actual
experiments done showing it works. 

-- 
Darren New / Senior MTS & Free Radical / Invisible Worlds Inc.
San Diego, CA, USA (PST). Cryptokeys on demand. dnew@san.rr.com
          Only a WIMP puts wallpaper on his desktop.



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

* Re: How to make Ada a dominant language
  2001-07-30 13:24       ` Russ Paielli
@ 2001-07-30 15:47         ` Preben Randhol
  2001-07-30 23:13         ` Gary Scott
  2001-07-31  1:07         ` Adrian Hoe
  2 siblings, 0 replies; 180+ messages in thread
From: Preben Randhol @ 2001-07-30 15:47 UTC (permalink / raw)


In article <3B655FF1.F5268A37@sneakemail.com>, Russ Paielli wrote:
> 
> I think you are barking up the wrong tree. Not only that, you are
> putting the cart before the horse. Why do you think so few open-source
> programs are written in Ada? I just hope folks like you wake up before
> Ada goes the way of HAL and Jovial.

Certainly not because the syntax is not like C's.

-- 
�Don't use C;  In my opinion,  C is a library programming language
 not an app programming language.�  - Owen Taylor (GTK+ developer)

Use Ada 95, a free language. More info at http://www.adapower.com/



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

* Re: How to make Ada a dominant language
  2001-07-30 15:02             ` Russ Paielli
@ 2001-07-30 15:52               ` Preben Randhol
  2001-07-30 17:19                 ` Darren New
  2001-07-30 16:21               ` Larry Kilgallen
                                 ` (4 subsequent siblings)
  5 siblings, 1 reply; 180+ messages in thread
From: Preben Randhol @ 2001-07-30 15:52 UTC (permalink / raw)


In article <3B657715.7EC592D9@sneakemail.com>, Russ Paielli wrote:
> 
> In the meantime, the Ada community seems determined to rearrange the
> chairs on the deck of the Titanic.

Since you are claiming you know better, I would like to see some
documentation that a syntax change will make hoards of programmers which
to the language.

> I am new to Ada, and I believe that gives me a certain perspective that
> Ada veterans lack. I am making a proposal that could save the best
> programming language around, and all I get is a bunch of irrelevant
> criticism.

I'm also new to Ada, but I don't agree with your arguments. Actually I
think it was very nice to come to a language were the source code is
clear and easy to read after having used languages such as C and Perl
etc...

-- 
�Don't use C;  In my opinion,  C is a library programming language
 not an app programming language.�  - Owen Taylor (GTK+ developer)

Use Ada 95, a free language. More info at http://www.adapower.com/



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

* Re: How to make Ada a dominant language
  2001-07-30 15:45         ` Darren New
@ 2001-07-30 16:00           ` Preben Randhol
  2001-07-30 16:26             ` Russ Paielli
  2001-07-31 10:14             ` Philip Anderson
  0 siblings, 2 replies; 180+ messages in thread
From: Preben Randhol @ 2001-07-30 16:00 UTC (permalink / raw)


In article <3B65810F.BEF41F2@san.rr.com>, Darren New wrote:
> 
> This regularly comes up in the python newsgroup, where studies showing
> the effectiveness of indentation-oriented blocks reduces bugs. Not that
> I'm recommending it for Ada, mind. But there have been actual
> experiments done showing it works. 

So if you code in Ada and use propper identation (as I expect most do)
you should reduce bugs. :-)

Preben
-- 
�Don't use C;  In my opinion,  C is a library programming language
 not an app programming language.�  - Owen Taylor (GTK+ developer)

Use Ada 95, a free language. More info at http://www.adapower.com/



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

* Re: How to make Ada a dominant language
  2001-07-30 16:21               ` Larry Kilgallen
@ 2001-07-30 16:19                 ` Russ Paielli
  2001-07-30 16:33                   ` Marin David Condic
  2001-07-30 18:33                   ` Stefan Nobis
  2001-07-31  3:06                 ` Warren W. Gay VE3WWG
  1 sibling, 2 replies; 180+ messages in thread
From: Russ Paielli @ 2001-07-30 16:19 UTC (permalink / raw)


Larry Kilgallen wrote:
> 
> In article <3B657715.7EC592D9@sneakemail.com>, Russ Paielli <18k11tm001@sneakemail.com> writes:
> > Larry Kilgallen wrote:
> >>
> >> One of the best things about Ada is stability. There have only been two
> >> versions of the standard, and vendor extensions are well under control.
> >
> >> There are many things that can be done to make Ada more popular outside
> >> the language definition.  Any changes to the language pale by comparison
> >> in their effect.  Making Ada more popular would not be desireable if it
> >> hurt the clarity and correctness advantages Ada has now.
> >
> > My proposal is deliberately designed to have a minimal effect on
> > stability. As I said, a relatively simple preprocessor would be able to
> > translate back and forth between Ada95 and the syntax I am proposing. If
> > you want to continue to use Ada95 syntax, you could do so with impunity.
> > What's the problem?
> 
> There is no problem, as a previous poster indicated, for you to devise
> a syntactic equivalent to Ada.  Using keywords in French would be one
> example.  You can translate back and forth, but I don't think others
> will be attracted to the RUSS language.

Yes, I realize I could develop a translator independent of any official
Ada standard, and I may end up doing just that. The problem is that
gnatmake and other tools will not work properly unless I can convince
the gnatmake developers to cooperate with me.

By the way, if you think that what I am proposing is no more useful than
translating Ada keywords to French, you are obviously missing the point.
I'll give your intelligence the benefit of the doubt and assume you are
INTENTIONALLY missing the point.

Oh, you don't think that others will be attracted to the "RUSS"
language, eh? I've got news for you, dude: not many others are attracted
to Ada either, at this point.

> > I read recently that only one in ten new DoD WEAPONS programs is even
> > choosing Ada now that the DoD mandate has been dropped. Don't even ask
> > about DoD accounting and supply-chain management programs!
> 
> Certainly those decisions are not made on the basis of the symbols
> used for syntax.  Personally I am not particularly concerned with
> DoD.  Consider railway and subway controls, where Europe seems to
> use Ada more certainly than the US.  Perhaps some years from now
> the US will commission a study regarding greater safety on the
> European rail systems.  Perhaps not.  But in the meantime, there
> are more immediate problems like the recent Microsoft IIS buffer
> overflow problem.

No, language selection is not made DIRECTLY on the basis of the symbols
used in the syntax. But languages ARE often selected on the basis of
their POPULARITY. Popularity breeds more popularity, in a sort of
positive feedback mechanism. But where does the initial popularity come
from? How do languages "catch on"? I suggest it has a lot to do with how
much programmers like the language, and good programmers like a clean,
elegant syntax that is uncluttered with a bunch of extraneous crap. That
is why Python is perhaps more popular than Ada even though it has been
around only a fraction of the time.

> > I am trying to sell Ada for a safety-critical program, and I am getting
> > little or no support from my organization.
> 
> Perhaps you are not the successful salesman type.  I know that I am
> not.  I see some things in unrelated areas that are sold for no good
> reason at all.

Apparently YOU don't think I am a very good salesman :-)

> > I am new to Ada, and I believe that gives me a certain perspective that
> > Ada veterans lack. I am making a proposal that could save the best
> > programming language around, and all I get is a bunch of irrelevant
> > criticism.
> 
> Think of it as a sampling of what wider opinion would be like.  One
> can write voice-of-doom headlines criticizing Ada for switching
> directions according to your scenario.  One can also write such
> headlines about many other scenarios.  The best thing most people
> can do for Ada is to write one great program in Ada and let the
> results stand for themselves.

In the software environment I work in, nobody knows or cares about Ada.
Oh, they know it exists, but that's about all they know. If headlines
came out about Ada switching directions, it would be the best thing that
ever happened to Ada.

Russ



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

* Re: How to make Ada a dominant language
  2001-07-30 15:02             ` Russ Paielli
  2001-07-30 15:52               ` Preben Randhol
@ 2001-07-30 16:21               ` Larry Kilgallen
  2001-07-30 16:19                 ` Russ Paielli
  2001-07-31  3:06                 ` Warren W. Gay VE3WWG
  2001-07-30 17:19               ` Pascal Obry
                                 ` (3 subsequent siblings)
  5 siblings, 2 replies; 180+ messages in thread
From: Larry Kilgallen @ 2001-07-30 16:21 UTC (permalink / raw)


In article <3B657715.7EC592D9@sneakemail.com>, Russ Paielli <18k11tm001@sneakemail.com> writes:
> Larry Kilgallen wrote:
>> 
>> One of the best things about Ada is stability. There have only been two
>> versions of the standard, and vendor extensions are well under control.
> 
>> There are many things that can be done to make Ada more popular outside
>> the language definition.  Any changes to the language pale by comparison
>> in their effect.  Making Ada more popular would not be desireable if it
>> hurt the clarity and correctness advantages Ada has now.
> 
> My proposal is deliberately designed to have a minimal effect on
> stability. As I said, a relatively simple preprocessor would be able to
> translate back and forth between Ada95 and the syntax I am proposing. If
> you want to continue to use Ada95 syntax, you could do so with impunity.
> What's the problem?

There is no problem, as a previous poster indicated, for you to devise
a syntactic equivalent to Ada.  Using keywords in French would be one
example.  You can translate back and forth, but I don't think others
will be attracted to the RUSS language.

> I read recently that only one in ten new DoD WEAPONS programs is even
> choosing Ada now that the DoD mandate has been dropped. Don't even ask
> about DoD accounting and supply-chain management programs!

Certainly those decisions are not made on the basis of the symbols
used for syntax.  Personally I am not particularly concerned with
DoD.  Consider railway and subway controls, where Europe seems to
use Ada more certainly than the US.  Perhaps some years from now
the US will commission a study regarding greater safety on the
European rail systems.  Perhaps not.  But in the meantime, there
are more immediate problems like the recent Microsoft IIS buffer
overflow problem.

> I am trying to sell Ada for a safety-critical program, and I am getting
> little or no support from my organization.

Perhaps you are not the successful salesman type.  I know that I am
not.  I see some things in unrelated areas that are sold for no good
reason at all.

> I am new to Ada, and I believe that gives me a certain perspective that
> Ada veterans lack. I am making a proposal that could save the best
> programming language around, and all I get is a bunch of irrelevant
> criticism.

Think of it as a sampling of what wider opinion would be like.  One
can write voice-of-doom headlines criticizing Ada for switching
directions according to your scenario.  One can also write such
headlines about many other scenarios.  The best thing most people
can do for Ada is to write one great program in Ada and let the
results stand for themselves.



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

* Re: How to make Ada a dominant language
  2001-07-30 16:00           ` Preben Randhol
@ 2001-07-30 16:26             ` Russ Paielli
  2001-07-30 16:50               ` Gerhard Häring
                                 ` (2 more replies)
  2001-07-31 10:14             ` Philip Anderson
  1 sibling, 3 replies; 180+ messages in thread
From: Russ Paielli @ 2001-07-30 16:26 UTC (permalink / raw)


Preben Randhol wrote:
> 
> In article <3B65810F.BEF41F2@san.rr.com>, Darren New wrote:
> >
> > This regularly comes up in the python newsgroup, where studies showing
> > the effectiveness of indentation-oriented blocks reduces bugs. Not that
> > I'm recommending it for Ada, mind. But there have been actual
> > experiments done showing it works.
> 
> So if you code in Ada and use propper identation (as I expect most do)
> you should reduce bugs. :-)

That's like saying, "If you code in C++, check all array bounds yourself
(as I expect most do) and you should reduce bugs."

Russ



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

* Re: How to make Ada a dominant language
  2001-07-30 16:19                 ` Russ Paielli
@ 2001-07-30 16:33                   ` Marin David Condic
  2001-07-30 18:33                   ` Stefan Nobis
  1 sibling, 0 replies; 180+ messages in thread
From: Marin David Condic @ 2001-07-30 16:33 UTC (permalink / raw)


IIRC, there are switches for Gnat that enable you to specify a preprocessor.
Or some other mechanism. Never used it myself, but tripped across it in the
documentation somewhere. It shouldn't be hard to use that or roll-your-own
in the form of some sort of shell script or simple program that can execute
a command line. Just read the command line, parse it to find the file,
preprocess the file and pass the result to gnatmake.

I still doubt that this will win lots of converts, but it really wouldn't be
that hard to do.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Russ Paielli" <18k11tm001@sneakemail.com> wrote in message
news:3B6588FC.6D40C443@sneakemail.com...
>
> Yes, I realize I could develop a translator independent of any official
> Ada standard, and I may end up doing just that. The problem is that
> gnatmake and other tools will not work properly unless I can convince
> the gnatmake developers to cooperate with me.
>






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

* Re: How to make Ada a dominant language
  2001-07-30 16:26             ` Russ Paielli
@ 2001-07-30 16:50               ` Gerhard Häring
  2001-07-30 17:55               ` Larry Kilgallen
  2001-07-31  8:53               ` Florian Weimer
  2 siblings, 0 replies; 180+ messages in thread
From: Gerhard Häring @ 2001-07-30 16:50 UTC (permalink / raw)


Russ Paielli wrote:

> Preben Randhol wrote:
> 
>>In article <3B65810F.BEF41F2@san.rr.com>, Darren New wrote:
>>
>>>This regularly comes up in the python newsgroup, where studies showing
>>>the effectiveness of indentation-oriented blocks reduces bugs. Not that
>>>I'm recommending it for Ada, mind. But there have been actual
>>>experiments done showing it works.
>>>
>>So if you code in Ada and use propper identation (as I expect most do)
>>you should reduce bugs. :-)
>>
> 
> That's like saying, "If you code in C++, check all array bounds yourself
> (as I expect most do) and you should reduce bugs."

Russ, why do you make a Holy War (tm) for syntax? I don't think this 
helps support your arguments.

-- Gerhard




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

* Re: How to make Ada a dominant language
  2001-07-30 15:52               ` Preben Randhol
@ 2001-07-30 17:19                 ` Darren New
  2001-07-31  7:35                   ` Preben Randhol
  2001-08-02  1:36                   ` David Starner
  0 siblings, 2 replies; 180+ messages in thread
From: Darren New @ 2001-07-30 17:19 UTC (permalink / raw)


> «Don't use C;  In my opinion,  C is a library programming language
>  not an app programming language.»  - Owen Taylor (GTK+ developer)

C is a sucky library programming language as well. Less sucky than a lot
of other things, but the lack of any sort of first-class non-primitive
data really bites for library development. (I.e., the fact that you
can't return a string is quite a hinderance to most of the libraries I
tend to write.)

-- 
Darren New / Senior MTS & Free Radical / Invisible Worlds Inc.
San Diego, CA, USA (PST). Cryptokeys on demand. dnew@san.rr.com
          Only a WIMP puts wallpaper on his desktop.



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

* Re: How to make Ada a dominant language
  2001-07-30 15:02             ` Russ Paielli
  2001-07-30 15:52               ` Preben Randhol
  2001-07-30 16:21               ` Larry Kilgallen
@ 2001-07-30 17:19               ` Pascal Obry
  2001-07-31  3:46                 ` Russ Paielli
  2001-07-30 17:33               ` Brian Rogoff
                                 ` (2 subsequent siblings)
  5 siblings, 1 reply; 180+ messages in thread
From: Pascal Obry @ 2001-07-30 17:19 UTC (permalink / raw)



Russ Paielli <18k11tm001@sneakemail.com> writes:

> My proposal is deliberately designed to have a minimal effect on
> stability. As I said, a relatively simple preprocessor would be able to
> translate back and forth between Ada95 and the syntax I am proposing. If
> you want to continue to use Ada95 syntax, you could do so with impunity.
> What's the problem?
> 
> In the meantime, the Ada community seems determined to rearrange the
> chairs on the deck of the Titanic.
> 
> I read recently that only one in ten new DoD WEAPONS programs is even
> choosing Ada now that the DoD mandate has been dropped. Don't even ask
> about DoD accounting and supply-chain management programs!

Yes and that's a chance for Ada. We have more and more non-DoD use of Ada.

> 
> I am trying to sell Ada for a safety-critical program, and I am getting
> little or no support from my organization. I get forwarded email
> messages from full professors of CS at MIT claiming that Ada is being
> replaced by Java even in their studies of software reliability.

> You Ada guys seem determined to let Ada slip into oblivion. I'll bet HAL
> and Jovial programmers are proud of the stability of their languages
> too.

Certainly not. But as all of us (stupid as we are :) seems to say "your
proposal will solve just nothing". Ada low usage has certainly nothing to do
with the syntax. Another way to see that is that if the syntax is the problem
then we should certainly fix the programmers! We are talking about _software_
here not some kind of hacking to produce yet another buggy software. Fact is
Ada has been designed to be easier to read than to write. Why ? Because you
read a program many time but you write it once. The current syntax has been
_designed_ it is not the result of 1 hour work :)

> I am new to Ada, and I believe that gives me a certain perspective that
> Ada veterans lack. 

That show also that you have not grasped Ada philosophy yet! You just seems to
try to apply to Ada some kind of general recipe that you have learn using
C/C++ or Java. Please let the time give you a better understanding of Ada
underlying concept.

> I am making a proposal that could save the best
> programming language around, and all I get is a bunch of irrelevant
> criticism.

:) 

Are you serious ! You are "new to Ada", well you say so, and you are just
trying to "make a proposal" to make it the best language ! So please learn Ada
first then you'll be able to fix it.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--|
--| "The best way to travel is by means of imagination"



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

* Re: How to make Ada a dominant language
  2001-07-30 17:55               ` Larry Kilgallen
@ 2001-07-30 17:23                 ` Darren New
  2001-07-31  8:55                   ` Florian Weimer
  2001-07-31  9:45                   ` Lutz Donnerhacke
  0 siblings, 2 replies; 180+ messages in thread
From: Darren New @ 2001-07-30 17:23 UTC (permalink / raw)


> And the difference is I can write a program to correct indentation.
> But I will not, because others have already done it.

Do you run that program on every source file before you look at it?
That's what you need to do in many languages, or you'll be misled by the
incorrect indentation.

The alternative is to use an IDE that does that for you, or presents it
with correct indentation regardless. Ada's "end-with-a-label" probably
helps a lot too.

It would be interesting to see a study of reduction in errors based on
indentation-based-blocks vs syntax-colored editors. I suspect the
former's effect is much like the latter's.

-- 
Darren New / Senior MTS & Free Radical / Invisible Worlds Inc.
San Diego, CA, USA (PST). Cryptokeys on demand. dnew@san.rr.com
          Only a WIMP puts wallpaper on his desktop.



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

* Re: How to make Ada a dominant language
  2001-07-30 15:02             ` Russ Paielli
                                 ` (2 preceding siblings ...)
  2001-07-30 17:19               ` Pascal Obry
@ 2001-07-30 17:33               ` Brian Rogoff
  2001-07-31  4:01                 ` Russ Paielli
  2001-07-30 17:51               ` file13
  2001-07-31  6:16               ` Gary Lisyansky
  5 siblings, 1 reply; 180+ messages in thread
From: Brian Rogoff @ 2001-07-30 17:33 UTC (permalink / raw)


On Mon, 30 Jul 2001, Russ Paielli wrote:
> Larry Kilgallen wrote:
> > 
> > One of the best things about Ada is stability. There have only been two
> > versions of the standard, and vendor extensions are well under control.
> 
> > There are many things that can be done to make Ada more popular outside
> > the language definition.  Any changes to the language pale by comparison
> > in their effect.  Making Ada more popular would not be desireable if it
> > hurt the clarity and correctness advantages Ada has now.
> 
> My proposal is deliberately designed to have a minimal effect on
> stability. As I said, a relatively simple preprocessor would be able to
> translate back and forth between Ada95 and the syntax I am proposing. If
> you want to continue to use Ada95 syntax, you could do so with impunity.
> What's the problem?

You'd split the Ada community into two camps (one of which I imagine would
be very very small :) just to make Ada look like another relatively
unpopular language. 

Personally, I much prefer ":=" to "=" for assignment. OTOH, getting rid of 
":=" for constant declarations would be an (minor) improvement. More
important would be to add the C influenced Icon operators like +:=, -:=, 
*:=, etc. Anyhow, assignment should stick out, and it is not symmetric. 

I proposed before that an Ada like language with superficial C like syntax 
wouldn't be so bad either (well, really I was just following through on
Bob Duff's tongue-in-cheek proposal) and that would have the advantage of 
making Ada look like a popular (compared to Python) family of languages. 
I fully acknowledge that it was mostly a thought exercise for a new
language. Ada syntax ain't gonna change that much!

> In the meantime, the Ada community seems determined to rearrange the
> chairs on the deck of the Titanic.

I would consider your new surface syntax an activity of the same kind :-). 

I'd rather see some semantic enhancements (downward funargs, multiple
interface inheritance, withing problem fixed, ...) and leave the
syntax alone. 

> I read recently that only one in ten new DoD WEAPONS programs is even
> choosing Ada now that the DoD mandate has been dropped. Don't even ask
> about DoD accounting and supply-chain management programs!

I have more faith in the open source community than in the DoD. 

> I am trying to sell Ada for a safety-critical program, and I am getting
> little or no support from my organization. I get forwarded email
> messages from full professors of CS at MIT claiming that Ada is being
> replaced by Java even in their studies of software reliability.

Nothing against the tute (course 18, '86), but it has never been very Ada 
friendly. 

Selling a particular language that is not "mainstream" is tough in a
commercial environment. Changing the syntax of Ada would make that job
harder. 

> You Ada guys seem determined to let Ada slip into oblivion. I'll bet HAL
> and Jovial programmers are proud of the stability of their languages
> too.

C programmers value the stability of C as well, thanks. And for those of
us who can tolerate rapidly evolving languages, there are far more
interesting contestants than Python (www.ocaml.org, www.haskell.org, ...). 

> I am new to Ada, and I believe that gives me a certain perspective that
> Ada veterans lack. 

That's true. Do you also acknowledge that people with more experience may
have a certain perspective that you lack? 

> I am making a proposal that could save the best programming language
> around, and all I get is a bunch of irrelevant criticism.

No such thing as "the best programming language". The criticism isn't
really all irrelevant, either. IMO, if you want to make Ada more
successful just write tools that you want (in Ada of course) and make the 
source available under some open source license. It's just a question of 
making the activation energy for choosing Ada low enough... 

-- Brian





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

* Re: How to make Ada a dominant language
  2001-07-30 15:02             ` Russ Paielli
                                 ` (3 preceding siblings ...)
  2001-07-30 17:33               ` Brian Rogoff
@ 2001-07-30 17:51               ` file13
  2001-07-31 14:51                 ` Ted Dennison
  2001-07-31  6:16               ` Gary Lisyansky
  5 siblings, 1 reply; 180+ messages in thread
From: file13 @ 2001-07-30 17:51 UTC (permalink / raw)


> I am new to Ada, and I believe that gives me a certain perspective that
> Ada veterans lack. I am making a proposal that could save the best
> programming language around, and all I get is a bunch of irrelevant
> criticism.

i'm also fairly new to Ada (within this year) and i love both Python
and Ada.  i understand what you're saying and i agree that
syntactically, Python does have features that fit Ada's
spirit--enforcing good style.  but i simply don't agree that Ada's
lack of popularity has anything to do with its syntax.  (in fact as a
former C/Perl junkie, i LIKE Ada's syntax and think using := for
assignment is much clearer and using = for equality makes more sense
to me and avoids the easy == error.)  but the popularity of
programming languages, like anything else, is based on money.  how
many people think Java would be as popular as it is if Sun didn't pump
millions into promoting it?  since we don't have Sun's deep pockets,
it seems that we would need to start a new grassroots revolution by
promoting Ada to the new hacker culture.

now as a young Ada programmer who is working to promote Ada by writing
open source software in Ada (http://sourceforge.net/projects/fu-scan/)
i think that bringing attention to Ada is more important then changing
the language.  i believe that if Ada is to become popular among the
hacker culture, it must be promoted to the kids who have never heard
of it.  most of them have never even heard of Ada and think that
programming begins with C++ and ends with Java--or worse VB.  they are
simply unaware that Ada is powerful, fast, easy to learn, easy to
main, easy to debug, and thanks to GNAT, open source--"really, you
don't have to pay Bill to use this language."  the reason they think
they need to learn C/C++ is because they don't know about other
languages.  i used to be one of those people who thought that C++ was
the greatest thing since sliced bread and pretty much the only "REAL"
compiled language.  but then out of pure chance, i discovered Ada and
instantly feel in love with it.  i think if younger programmer knew
the advantages of Ada and saw more open source software written in Ada
they would be more inclined to check it out.

ignorance of Ada aside, i also think that languages like Python
actually help bring people to Ada by promoting the KISS
philosophy--keep it simple stupid!--and good program design.  this
KISS principle is what brought me to Python in the first place.  since
i liked this philosophy in Python, i was even more drawn to Ada once
it was brought to my attention.

another thing that i think would help would bring Ada to new people
would be a good IDE--another thread on this.....  yes, Aionix does
have a Visual Studio like IDE and windows has Adagide, but i mean a
portable open source solution.  imagine integrating Ada95 support into
kdevelop for instance?  http://www.kdevelop.org/  imagine kdevelop
being portable to windows....  i personally don't care for IDE's
myself--xemacs or death--but most of your new programmers think that
to compile a program you push "compile."  i think that if they had a
preety IDE which took care of this for them, Ada would be more
attractive.

finally, i think that we need to play up Ada's "bondage and
discipline" reputation and start dressing Lovelace up in fetish gear
if we want to draw a lot of people to Ada.....  ;)

--
file13
http://haxor.redcommandos.com/~file13/
--
"...war is about killing people and destroying things...that
requirement is...best met through the use of Ada."
Lt. Col. John A. Hamilton Jr. U.S. Military Academy
http://www.stsc.hill.af.mil/crosstalk/1997/dec/languages.asp



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

* Re: How to make Ada a dominant language
  2001-07-30 16:26             ` Russ Paielli
  2001-07-30 16:50               ` Gerhard Häring
@ 2001-07-30 17:55               ` Larry Kilgallen
  2001-07-30 17:23                 ` Darren New
  2001-07-31  8:53               ` Florian Weimer
  2 siblings, 1 reply; 180+ messages in thread
From: Larry Kilgallen @ 2001-07-30 17:55 UTC (permalink / raw)


In article <3B658ABC.BFF1B050@sneakemail.com>, Russ Paielli <18k11tm001@sneakemail.com> writes:
> Preben Randhol wrote:
>> 
>> In article <3B65810F.BEF41F2@san.rr.com>, Darren New wrote:
>> >
>> > This regularly comes up in the python newsgroup, where studies showing
>> > the effectiveness of indentation-oriented blocks reduces bugs. Not that
>> > I'm recommending it for Ada, mind. But there have been actual
>> > experiments done showing it works.
>> 
>> So if you code in Ada and use propper identation (as I expect most do)
>> you should reduce bugs. :-)
> 
> That's like saying, "If you code in C++, check all array bounds yourself
> (as I expect most do) and you should reduce bugs."

And the difference is I can write a program to correct indentation.
But I will not, because others have already done it.



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

* Re: How to make Ada a dominant language
  2001-07-30 12:41   ` Russ Paielli
  2001-07-30 12:52     ` Preben Randhol
  2001-07-30 12:52     ` Gary Lisyansky
@ 2001-07-30 18:22     ` Stefan Nobis
  2001-07-31  0:53     ` Adrian Hoe
  2001-07-31  8:29     ` Florian Weimer
  4 siblings, 0 replies; 180+ messages in thread
From: Stefan Nobis @ 2001-07-30 18:22 UTC (permalink / raw)


Russ Paielli <18k11tm001@sneakemail.com> writes:

> > I prefer the old way, as it is easier to read.
> 
> I'll bet nine out of 10 non-Ada-programmers would disagree with you. And
> that's part of the reason that nine out of ten programmers (or whatever)
> are non-Ada-programmers.

No, that's not the problem. =/==, block-building per indentation, type
var-name or :=/=, begin/end, var-name type is just a matter of taste. It
doesn't make programs easier or less easy to read. If a programmer has
problems with one way, he should surely think about another job.

> > Why is it so very important to use = to set a value and then == when you
> > check it? I have not understood this.
> 
> Because "=" is the simplest fricking symbol that could possibly be used

Why is this so important? "=" is also the simplest symbol for comparing, so
what? If you write code with many comparisons but few assignments, Ada would
do great. :)

In the above cases (=, indentation, type var-name) Python has different syntax
than Ada. That's nice, i like Python's syntax. But what matter's really? Not
this syntactic details but all the rest of the language.

Why is Python so popular? Because it's simple and easy to learn, because it's
not statically typed (-> easier to learn).

The syntax of programming languages are never "natural" because they are no
natural languages, they are in the best case an abbreviation of natural
languages.

> What I am proposing would not make programs "less readable." It would
> make them MORE readable, especially for new Ada programmers. If

No, the changes makes programs as readable as the actual syntax is.

-- 
Until the next mail...,
Stefan.



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

* Re: How to make Ada a dominant language
  2001-07-30 16:19                 ` Russ Paielli
  2001-07-30 16:33                   ` Marin David Condic
@ 2001-07-30 18:33                   ` Stefan Nobis
  2001-07-30 21:26                     ` Milan Mancel
  1 sibling, 1 reply; 180+ messages in thread
From: Stefan Nobis @ 2001-07-30 18:33 UTC (permalink / raw)


Russ Paielli <18k11tm001@sneakemail.com> writes:

> No, language selection is not made DIRECTLY on the basis of the symbols
> used in the syntax. But languages ARE often selected on the basis of
> their POPULARITY. Popularity breeds more popularity, in a sort of
> positive feedback mechanism. But where does the initial popularity come
> from? How do languages "catch on"? I suggest it has a lot to do with how
> much programmers like the language, and good programmers like a clean,
> elegant syntax that is uncluttered with a bunch of extraneous crap. That
> is why Python is perhaps more popular than Ada even though it has been
> around only a fraction of the time.

Just look at C and Perl. Both are much more popular and much more widley used
than Python but both have a very bad syntax (and some very bad
semantics). Even Javas syntax isn't very clear and readable, but even Java is
more popular than Python. So, obviously, syntax is not the imporant part in
choosing a language.

There are many very good languages in different aspects, think of OCAML,
Mozart/OZ, Common Lisp, Ruby,...

Maybe syntax should be more important, but today it is not, so changing Ada's
syntax would gain just nothing.

> In the software environment I work in, nobody knows or cares about Ada.
> Oh, they know it exists, but that's about all they know. If headlines
> came out about Ada switching directions, it would be the best thing that
> ever happened to Ada.

You will really tell me, if Ada changes ":=" to "=", your company will switch
project languages? Really? If a software developer chooses a language for his
project just because of such syntax details, i hope, i have never to use his
software!

-- 
Until the next mail...,
Stefan.



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

* Re: How to make Ada a dominant language
  2001-07-30 18:33                   ` Stefan Nobis
@ 2001-07-30 21:26                     ` Milan Mancel
  2001-07-31  3:37                       ` Russ Paielli
  2001-07-31 14:37                       ` Ted Dennison
  0 siblings, 2 replies; 180+ messages in thread
From: Milan Mancel @ 2001-07-30 21:26 UTC (permalink / raw)


I am new to Ada too, learning just for few weeks and I do not think
that there is any problem with Ada95 syntax. Well, I am not newbie to
programming, in my professional career I had to use many languages
(Fortran, Forth ...) and now I use Java, Python and C/C++ and I am
ready to try whatever interesting comes next and accept its syntax :)

When I started with Ada, I really had problem with statements like
count: integer := 0; - well maybe for five seconds. Then I accepted
that things are that way and that it is pretty logical:

- you say that count is integer and it si zero
- you see variables first and only if you need to know the type you
read the second word on the line

I think if someone is not able to grasp this simple thing will not be
able understand more important parts of Ada and it is good for him/her
not to try further.

The other thing - elimitating keyword "end" - no way! When I program
in Java, my code looks like:

public int someMethod() {
       blahblahblah
       ...
       ...
} // end someMethod

so I like Ada the way it is.

If you want indentation part of the language, just use command line
switch in gnatmake and incorrect indentation will generate an style
error - so you are forced to use the right style.

:= versus =, all the years I hate C and Java style, == is illogical. =
means equals. From historical reason C wanted to save every byte of
source code - and you assign more frequently than compare equality, so
with == for equality and = for assignment you save valuable bytes.
Thats is all to it. Problem is that programmers are acustommed to
this.

What really puts people off Ada is that they cannot hack code like in
C. In Ada you have to think first. You have to think of correct types
and subtypes for you data and variables first, otherwise you even
cannot pass them to library functions and procedures as parameters.
Ada is not good for testing algorithms or quick hacking. I think that
good combination is Python for prototyping and Ada for final code.

What I really miss is good and short example code of every Ada concept
and maybe more libraries and bindings.

Milan



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

* Re: How to make Ada a dominant language
  2001-07-30  7:08 Russ
                   ` (2 preceding siblings ...)
  2001-07-30 15:36 ` Gerhard Häring
@ 2001-07-30 22:58 ` Gary Scott
  2001-08-01 10:51   ` AG
  2001-07-31  2:41 ` Warren W. Gay VE3WWG
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 180+ messages in thread
From: Gary Scott @ 2001-07-30 22:58 UTC (permalink / raw)


Note that most of the below changes would also make Ada look like
Fortran 95...

Russ wrote:
> 
> The Ada programming language is based on an excellent fundamental
> design, but it is much less popular than it could be because it has an
> awkward, "klunky" syntax. I propose to clean up the syntax by
> borrowing from Python. Python is very popular high level "scripting"
> language with a reputation for promoting clean, clear code. The new
> syntax could be translated into Ada95 syntax with a relatively simple
> "preprocessor," so existing compilers could still be used, old code
> would continue to work, and programmers could continue to use the old
> syntax if they wish.
> 
> Here are the syntax changes I propose:
> 
> 1. Eliminate the "end" keyword and make the indentation structure an
> inherent part of the syntax, as in Python.
> 
> 2. Eliminate the requirement for a semicolon after each executable
> statement, but allow semicolons for combining multiple statements on a
> line, as in Python.
> 
> 3. Use "=" rather than ":=" for assignment, as in Python. (Use "=="
> for equality testing if necessary to avoid confusion with assignment.)
> 
> 4. Use "=" instead of "=>" for passing arguments by named association,
> as in Python.
> 
> 5. Reverse the backward declaration syntax. For example, use "integer:
> count" instead of "count: integer", or use "integer in: count" instead
> of "count: in integer".
> 
> 6. Eliminate the "is" keyword.
> 
> 7. Let "use" imply "with" so the tops of files need not be cluttered
> with both "with" and "use" for the same package.
> 
> A flag on the first line of a source file (e.g., the string "Ada01"
> anywhere within a comment) could be used to tell the compiler that the
> file needs to be translated to Ada95 before compiling.
> 
> With these changes, I believe Ada would become much more popular and
> could eventually become a dominant language. The resulting new
> language could be called "Ada01," or something like that.
> 
> Honestly now, which of the following two statements is cleaner and
> clearer?
> 
>     count: integer := 0;  -- old syntax
> 
>     integer: count = 0  -- new syntax
> 
> Russ Paielli
> http://RussP.org



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

* Re: How to make Ada a dominant language
  2001-07-30 13:24       ` Russ Paielli
  2001-07-30 15:47         ` Preben Randhol
@ 2001-07-30 23:13         ` Gary Scott
  2001-07-31  1:07         ` Adrian Hoe
  2 siblings, 0 replies; 180+ messages in thread
From: Gary Scott @ 2001-07-30 23:13 UTC (permalink / raw)


Hey! we still use Jovial a bunch...

Russ Paielli wrote:
> 
> Preben Randhol wrote:
> >
> > In article <3B6555ED.9B0B0420@sneakemail.com>, Russ Paielli wrote:
> > > Preben Randhol wrote:
> > >
> > > I'll bet nine out of 10 non-Ada-programmers would disagree with you. And
> > > that's part of the reason that nine out of ten programmers (or whatever)
> > > are non-Ada-programmers.
> >
> > So what. If they choose not to use Ada because one uses a more readable
> > syntax, let them. They obviously haven't grasphed the idea of making
> > good quality software and are only too happy hacking in C or Perl or
> > whater. Let them. I think rather that this 90% are either ignorant of
> > Ada or following the main stream towards the cliffs (read C++, Java
> > etc...).
> >
> > > Because "=" is the simplest fricking symbol that could possibly be used
> >
> > If you think about it it is more important that your if statments are
> > correct than your assignments. Just think about this C line:
> >
> >    if (C = crap) then ...
> >
> > and of course it will always be true and will compile. I would rather
> > have = for this than assignments.
> 
> This is a red herring. You simply don't allow "if (C = crap) then". As I
> wrote in my proposal, you use "==" for equality testing IF (IF IF IF IF
> IF) it causes any confusion with assignment.
> 
> > > for assignment. Why is this so hard for Ada programmers to understand?
> > > What's so great about ":="? Why not use "$=" or "%="?
> >
> > Because of how colon is used in written language. You can read := as
> > "set to equal" or only "set to".
> 
> Then why not just use the colon, without the equals. The ":=" is
> redundant. I have yet to see ":=" used in anything I have ever read.
> That is NOT how the colon is used in the written language.
> 
> > > What I am proposing would not make programs "less readable." It would
> > > make them MORE readable, especially for new Ada programmers. If
> > > long-time Ada programmers are unable to see that, I believe Ada will
> > > become an obscure niche language, like HAL or Jovial. That would be a
> > > terrible shame, because Ada has excellent fundamentals and could become
> > > a dominant language.
> >
> > Sorry but you are barking up the wrong tree as I see it. Rather make
> > good free programs in Ada and distribute them under GPL or similar with
> > source to get more people aware of Ada. That would help Ada more than
> > changing its syntax.
> 
> I think you are barking up the wrong tree. Not only that, you are
> putting the cart before the horse. Why do you think so few open-source
> programs are written in Ada? I just hope folks like you wake up before
> Ada goes the way of HAL and Jovial.
> 
> Russ



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

* Re: How to make Ada a dominant language
  2001-07-30 12:41   ` Russ Paielli
                       ` (2 preceding siblings ...)
  2001-07-30 18:22     ` Stefan Nobis
@ 2001-07-31  0:53     ` Adrian Hoe
  2001-07-31  3:24       ` Russ Paielli
  2001-07-31  8:29     ` Florian Weimer
  4 siblings, 1 reply; 180+ messages in thread
From: Adrian Hoe @ 2001-07-31  0:53 UTC (permalink / raw)


Russ Paielli <18k11tm001@sneakemail.com> wrote in message news:<3B6555ED.9B0B0420@sneakemail.com>...
> 
> Because "=" is the simplest fricking symbol that could possibly be used
> for assignment. Why is this so hard for Ada programmers to understand?
> What's so great about ":="? Why not use "$=" or "%="?

"=" means equal. "IF A = 0 THEN" reads as "if A equals 0 then" and
":=" means assignment.


> What I am proposing would not make programs "less readable." It would
> make them MORE readable, especially for new Ada programmers. If
> long-time Ada programmers are unable to see that, I believe Ada will
> become an obscure niche language, like HAL or Jovial. That would be a
> terrible shame, because Ada has excellent fundamentals and could become
> a dominant language.

Honestly, if you think Ada already has excellent fundamentals, why
border a change?


Adrian Hoe



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

* Re: How to make Ada a dominant language
  2001-07-30 13:24       ` Russ Paielli
  2001-07-30 15:47         ` Preben Randhol
  2001-07-30 23:13         ` Gary Scott
@ 2001-07-31  1:07         ` Adrian Hoe
  2 siblings, 0 replies; 180+ messages in thread
From: Adrian Hoe @ 2001-07-31  1:07 UTC (permalink / raw)


Russ Paielli <18k11tm001@sneakemail.com> wrote in message news:<3B655FF1.F5268A37@sneakemail.com>...

> I think you are barking up the wrong tree. Not only that, you are
> putting the cart before the horse. Why do you think so few open-source
> programs are written in Ada? I just hope folks like you wake up before
> Ada goes the way of HAL and Jovial.
> 
> Russ


Seriously, I think you are the one barking up the wrong tree, and not
only that, you are also the one who puts his cart in front of the
horse. In addition, you are climbing down the tree head down.  :)

Adrian Hoe



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

* Re: How to make Ada a dominant language
  2001-07-30 13:49       ` Russ Paielli
@ 2001-07-31  1:10         ` Adrian Hoe
  0 siblings, 0 replies; 180+ messages in thread
From: Adrian Hoe @ 2001-07-31  1:10 UTC (permalink / raw)


Russ Paielli <18k11tm001@sneakemail.com> wrote in message news:<3B6565D7.9C7407B9@sneakemail.com>...
> 
> Would you call ";" a "keyword"?
                               ^^^
Why border to put "?" after your question
                                        ^^^
("?" is deliberately omitted!) :)

Adrian Hoe
> 
> 
> Russ



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

* Re: How to make Ada a dominant language
  2001-07-30  7:08 Russ
                   ` (3 preceding siblings ...)
  2001-07-30 22:58 ` Gary Scott
@ 2001-07-31  2:41 ` Warren W. Gay VE3WWG
  2001-07-31  4:24   ` Russ Paielli
  2001-07-31  8:03 ` Keith Thompson
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 180+ messages in thread
From: Warren W. Gay VE3WWG @ 2001-07-31  2:41 UTC (permalink / raw)


I can't leave this one alone... (but should)...

Russ wrote:
> 
> The Ada programming language is based on an excellent fundamental
> design, but it is much less popular than it could be because it has an
> awkward, "klunky" syntax. I propose to clean up the syntax by
> borrowing from Python. Python is very popular high level "scripting"
> language with a reputation for promoting clean, clear code. The new
> syntax could be translated into Ada95 syntax with a relatively simple
> "preprocessor," so existing compilers could still be used, old code
> would continue to work, and programmers could continue to use the old
> syntax if they wish.
> 
> Here are the syntax changes I propose:
> 
> 1. Eliminate the "end" keyword and make the indentation structure an
> inherent part of the syntax, as in Python.

Ahem: "end label;" helps to insure that the programmer knows who's
"end" it is. It may be inconceivable that programmers have technical
problems like this, but it happens.

> 2. Eliminate the requirement for a semicolon after each executable
> statement, but allow semicolons for combining multiple statements on a
> line, as in Python.

Blech. What are you going to do for long statements -- make us use 
backslashes at the end of the line or something (I am Python 
illiterate, and hope to stay that way.)

> 3. Use "=" rather than ":=" for assignment, as in Python. (Use "=="
> for equality testing if necessary to avoid confusion with assignment.)

I am already ambidextrous : I can use = for C/C++ and := for Ada.

> 4. Use "=" instead of "=>" for passing arguments by named association,
> as in Python.

Blech. That'll make it look like IBM JCL ;-)

> 5. Reverse the backward declaration syntax. For example, use "integer:
> count" instead of "count: integer", or use "integer in: count" instead
> of "count: in integer".

Again, I am ambidextrous : I can declare the C/C++ way, or the Ada way.
I see no need to change it.

> 6. Eliminate the "is" keyword.

Depending upon how you format your code, I find it allows a nice
line break at the right place if I want it ;-)

> 7. Let "use" imply "with" so the tops of files need not be cluttered
> with both "with" and "use" for the same package.

You really don't understand the use of "use" do you?

> A flag on the first line of a source file (e.g., the string "Ada01"
> anywhere within a comment) could be used to tell the compiler that the
> file needs to be translated to Ada95 before compiling.

Eh? (I think "eh" was another language, wasn't it?)

> With these changes, I believe Ada would become much more popular and
> could eventually become a dominant language. The resulting new
> language could be called "Ada01," or something like that.

Surely you jest.

> Honestly now, which of the following two statements is cleaner and
> clearer?
> 
>     count: integer := 0;  -- old syntax
> 
>     integer: count = 0  -- new syntax
> 
> Russ Paielli
> http://RussP.org

The former is already well established with many millions of lines of
code written that way. I see no problem with it as it is. 

Don't quit your day job.

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



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

* Re: How to make Ada a dominant language
  2001-07-30 16:21               ` Larry Kilgallen
  2001-07-30 16:19                 ` Russ Paielli
@ 2001-07-31  3:06                 ` Warren W. Gay VE3WWG
  2001-07-31  4:10                   ` Russ Paielli
  1 sibling, 1 reply; 180+ messages in thread
From: Warren W. Gay VE3WWG @ 2001-07-31  3:06 UTC (permalink / raw)


Larry Kilgallen wrote:
> In article <3B657715.7EC592D9@sneakemail.com>, Russ Paielli <18k11tm001@sneakemail.com> writes:
> > Larry Kilgallen wrote:
...snip...
> > I am new to Ada, and I believe that gives me a certain perspective that
> > Ada veterans lack. I am making a proposal that could save the best
> > programming language around, and all I get is a bunch of irrelevant
> > criticism.

I'm not sure the above properly attributes the correct authors.. I believe
Russ wrote the "I am new to Ada..".

To the "I am new to Ada" person:

You are sadly deluded if you think that a "python enthused" change request
to Ada is going to be accepted. Despite any reasoning that you might have,
you are not going to have people with millions of Ada lines of code accept
that now they must use new syntax. Creating a new language with the ideas
that you've presented, only takes Ada back to some of the things it purposely
steered clear of. And I'll add, that the indentation idea that Python uses,
IMHO, is definitely "not a good thing" (tm).

This news group welcomes enthusiasm, but you need to do some more homework.
After you've used and studied Ada95 for a while, then let's see what your
ideas look like. Right now, they're not well informed ideas.

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



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

* Re: How to make Ada a dominant language
  2001-07-30 12:56       ` Russ Paielli
@ 2001-07-31  3:17         ` Warren W. Gay VE3WWG
  0 siblings, 0 replies; 180+ messages in thread
From: Warren W. Gay VE3WWG @ 2001-07-31  3:17 UTC (permalink / raw)


Russ Paielli wrote:
> Gary Lisyansky wrote:
> > "Gerhard H�ring" <gerhard.nospam@bigfoot.de> wrote in message
> > news:3B654276.4040707@bigfoot.de...
> > >
> > > Python does it both. The code is easy to read and easy to write. And it
> > > is good for quick scripting tasks, too.
> >
> > The core of the answer is "for quick scripting tasks". One can write a well-
> > readable code in Python, but most code is not of this quality, especially
> > because of absence of parameter type information.
> 
> Of course Python is intended for a different type of application than
> Ada is intended for. I am not proposing for a second that Ada become
> Python. I am simply proposing that Ada borrow some of Python's elegant
> syntax.

Some of us don't find Python to be "elegant".

> The underlying fundamentals of Ada would not be changed one
> iota.
> 
> Russ

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



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

* Re: How to make Ada a dominant language
  2001-07-31  0:53     ` Adrian Hoe
@ 2001-07-31  3:24       ` Russ Paielli
  2001-07-31  6:47         ` Martin Dowie
                           ` (3 more replies)
  0 siblings, 4 replies; 180+ messages in thread
From: Russ Paielli @ 2001-07-31  3:24 UTC (permalink / raw)


Adrian Hoe wrote:
> 
> Russ Paielli <18k11tm001@sneakemail.com> wrote in message news:<3B6555ED.9B0B0420@sneakemail.com>...
> >
> > Because "=" is the simplest fricking symbol that could possibly be used
> > for assignment. Why is this so hard for Ada programmers to understand?
> > What's so great about ":="? Why not use "$=" or "%="?
> 
> "=" means equal. "IF A = 0 THEN" reads as "if A equals 0 then" and
> ":=" means assignment.

But "x = 4" means that, immediately after the statement is executed, x
indeed equals 4. I don't see a problem with using "=" for both
assignment AND equality testing (am I missing something?). In Python,
the classic C problem of using "=" when you mean "==" is avoided by
simply not allowing assignment within an if test. Seems like a simple
solution to me. In Ada, the compiler would tell you if you get it wrong.

> > What I am proposing would not make programs "less readable." It would
> > make them MORE readable, especially for new Ada programmers. If
> > long-time Ada programmers are unable to see that, I believe Ada will
> > become an obscure niche language, like HAL or Jovial. That would be a
> > terrible shame, because Ada has excellent fundamentals and could become
> > a dominant language.
> 
> Honestly, if you think Ada already has excellent fundamentals, why
> border a change?

Because I'd like to have a language that has both excellent fundamentals
AND a clear, minimal syntax. I want it all. And I'm a compulsive
minimalist, I guess. It bothers me to see ":=" when "=" will do the job,
because it's not minimal. I'm also a fricking perfectionist--just ask my
wife. :-)

Russ



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

* Re: How to make Ada a dominant language
  2001-07-30 12:49   ` Russ Paielli
  2001-07-30 13:13     ` Gary Lisyansky
@ 2001-07-31  3:28     ` Warren W. Gay VE3WWG
  1 sibling, 0 replies; 180+ messages in thread
From: Warren W. Gay VE3WWG @ 2001-07-31  3:28 UTC (permalink / raw)


Russ Paielli wrote:
> Gary Lisyansky wrote:
> > "Russ" <18k11tm001@sneakemail.com> wrote in message
...snip...
> > "Physical" line is not an element of Ada syntax. Writing statements in one
> > line or several lines is purely the question of style which allows for more
> > flexibility and readability. Changing this doesn't make any sense. In fact,
> > suggestions 1 and 2 are in contradiction to the very idea of a free- form
> > language.
> 
> If 99% of executable statements are on one line, it is ridiculous to
> clutter every line with a semicolon.

Sorry, nope, not rediculous. If you are auditing a piece of critical
software, as I expect happens with flight critical software, from a 
hardcopy, it is reassuring to know that the end of the statement is
right where that semicolon is. This confirms that there is not more
code that didn't get cut off on the line printer/photocopier/whatever.

Will anyone in the industry confirm or add to this? 

I know from my own experience, just from auditing some difficult C code 
in times past, that these "little things" can make quite helpful 
on hardcopy.

It can also be helpful when reading those example programs in books,
where the author has re-typed the code in by hand (why they don't use
cut and paste at least?), and the code is full of bugs. The semicolon
and other things that you consider unnecessary, can be quite helpful
in descerning what the author's true intent was.

> The point is not the amount of typing. And I'll bet that the vast
> majority of non-Ada-programmers think it is more, not less, readable.
> 
> Russ

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



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

* Re: How to make Ada a dominant language
  2001-07-30 21:26                     ` Milan Mancel
@ 2001-07-31  3:37                       ` Russ Paielli
  2001-07-31 20:36                         ` Milan Mancel
  2001-07-31 14:37                       ` Ted Dennison
  1 sibling, 1 reply; 180+ messages in thread
From: Russ Paielli @ 2001-07-31  3:37 UTC (permalink / raw)


Milan Mancel wrote:
> 
> I am new to Ada too, learning just for few weeks and I do not think
> that there is any problem with Ada95 syntax. Well, I am not newbie to
> programming, in my professional career I had to use many languages
> (Fortran, Forth ...) and now I use Java, Python and C/C++ and I am
> ready to try whatever interesting comes next and accept its syntax :)
> 
> When I started with Ada, I really had problem with statements like
> count: integer := 0; - well maybe for five seconds. Then I accepted
> that things are that way and that it is pretty logical:

> - you say that count is integer and it si zero
> - you see variables first and only if you need to know the type you
> read the second word on the line

I understand what it means. I just find it backward. Backward does not
mean wrong, just backward. I think an initialization statement should
look like an assignment statement, so

    integer: x = 1

looks like

    x = 1

but

    x: integer := 1;

does not look like

    x := 1;

> I think if someone is not able to grasp this simple thing will not be
> able understand more important parts of Ada and it is good for him/her
> not to try further.

OK, I give up.

> The other thing - elimitating keyword "end" - no way! When I program
> in Java, my code looks like:
> 
> public int someMethod() {
>        blahblahblah
>        ...
>        ...
> } // end someMethod

I find those kinds of comments tacky. I will say, however, that if you
are going to have end statements you might as well say what you are
ending, and Ada got that right. I agree that does add to readability.

> so I like Ada the way it is.
> 
> If you want indentation part of the language, just use command line
> switch in gnatmake and incorrect indentation will generate an style
> error - so you are forced to use the right style.

I didn't realize that. Why not go a step further and MANDATE the right
structure? It would be consistent with the general Ada philosophy of
mandating daily flossing and other good habits.

Russ



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

* Re: How to make Ada a dominant language
  2001-07-30 17:19               ` Pascal Obry
@ 2001-07-31  3:46                 ` Russ Paielli
  2001-07-31  5:08                   ` Warren W. Gay VE3WWG
                                     ` (2 more replies)
  0 siblings, 3 replies; 180+ messages in thread
From: Russ Paielli @ 2001-07-31  3:46 UTC (permalink / raw)


Pascal Obry wrote:
> 
> Russ Paielli <18k11tm001@sneakemail.com> writes:
> 
> > My proposal is deliberately designed to have a minimal effect on
> > stability. As I said, a relatively simple preprocessor would be able to
> > translate back and forth between Ada95 and the syntax I am proposing. If
> > you want to continue to use Ada95 syntax, you could do so with impunity.
> > What's the problem?
> >
> > In the meantime, the Ada community seems determined to rearrange the
> > chairs on the deck of the Titanic.
> >
> > I read recently that only one in ten new DoD WEAPONS programs is even
> > choosing Ada now that the DoD mandate has been dropped. Don't even ask
> > about DoD accounting and supply-chain management programs!
> 
> Yes and that's a chance for Ada. We have more and more non-DoD use of Ada.

Ya, and if DoD drops Ada completely we'll be in fabulous shape, eh?

> >
> > I am trying to sell Ada for a safety-critical program, and I am getting
> > little or no support from my organization. I get forwarded email
> > messages from full professors of CS at MIT claiming that Ada is being
> > replaced by Java even in their studies of software reliability.
> 
> > You Ada guys seem determined to let Ada slip into oblivion. I'll bet HAL
> > and Jovial programmers are proud of the stability of their languages
> > too.
> 
> Certainly not. But as all of us (stupid as we are :) seems to say "your
> proposal will solve just nothing". Ada low usage has certainly nothing to do
> with the syntax. Another way to see that is that if the syntax is the problem
> then we should certainly fix the programmers! We are talking about _software_
> here not some kind of hacking to produce yet another buggy software. Fact is
> Ada has been designed to be easier to read than to write. Why ? Because you
> read a program many time but you write it once. The current syntax has been
> _designed_ it is not the result of 1 hour work :)
> 
> > I am new to Ada, and I believe that gives me a certain perspective that
> > Ada veterans lack.
> 
> That show also that you have not grasped Ada philosophy yet! You just seems to
> try to apply to Ada some kind of general recipe that you have learn using
> C/C++ or Java. Please let the time give you a better understanding of Ada
> underlying concept.
> 
> > I am making a proposal that could save the best
> > programming language around, and all I get is a bunch of irrelevant
> > criticism.
> 
> :)
> 
> Are you serious ! You are "new to Ada", well you say so, and you are just
> trying to "make a proposal" to make it the best language ! So please learn Ada
> first then you'll be able to fix it.

I am not saying anything about Ada fundamentals. As far as I know, they
are great. That is, in fact, why I even care about the syntax. And I
don't think I need to be an expert to comment on the syntax. Ada is like
a modern car with a fabulous drivetrain and suspension, but an ugly
body. How well do you think such a car would sell? And you don't need to
be an expert to see that something is wrong.

Everyone on this thread seems to think that syntax is completely
superficial. Well, it is in a sense, but it is also the interfact that
the language presents to the programmer every working minute, and that
is important. all I am asking is, why not just get it right?

Russ



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

* Re: How to make Ada a dominant language
  2001-07-30 17:33               ` Brian Rogoff
@ 2001-07-31  4:01                 ` Russ Paielli
  2001-07-31 17:31                   ` Brian Rogoff
  0 siblings, 1 reply; 180+ messages in thread
From: Russ Paielli @ 2001-07-31  4:01 UTC (permalink / raw)


Brian Rogoff wrote:
> 
> On Mon, 30 Jul 2001, Russ Paielli wrote:
> > Larry Kilgallen wrote:
> > >
> > > One of the best things about Ada is stability. There have only been two
> > > versions of the standard, and vendor extensions are well under control.
> >
> > > There are many things that can be done to make Ada more popular outside
> > > the language definition.  Any changes to the language pale by comparison
> > > in their effect.  Making Ada more popular would not be desireable if it
> > > hurt the clarity and correctness advantages Ada has now.
> >
> > My proposal is deliberately designed to have a minimal effect on
> > stability. As I said, a relatively simple preprocessor would be able to
> > translate back and forth between Ada95 and the syntax I am proposing. If
> > you want to continue to use Ada95 syntax, you could do so with impunity.
> > What's the problem?
> 
> You'd split the Ada community into two camps (one of which I imagine would
> be very very small :) just to make Ada look like another relatively
> unpopular language.

If you're not careful, they may both become small :-)

> Personally, I much prefer ":=" to "=" for assignment. OTOH, getting rid of
> ":=" for constant declarations would be an (minor) improvement. More
> important would be to add the C influenced Icon operators like +:=, -:=,
> *:=, etc. Anyhow, assignment should stick out, and it is not symmetric.

I bet you'd really love "$=". And "#$%^&*=" probably really looks great
to you. ;')

> I proposed before that an Ada like language with superficial C like syntax
> wouldn't be so bad either (well, really I was just following through on
> Bob Duff's tongue-in-cheek proposal) and that would have the advantage of
> making Ada look like a popular (compared to Python) family of languages.
> I fully acknowledge that it was mostly a thought exercise for a new
> language. Ada syntax ain't gonna change that much!
> 
> > In the meantime, the Ada community seems determined to rearrange the
> > chairs on the deck of the Titanic.
> 
> I would consider your new surface syntax an activity of the same kind :-).

I figured you would, but I think you and just about everyone else on
this thread is missing an important point. Yes, syntax is superficial in
the sense that it doesn't affect the fundamental structure of the
language, but it is important in determining the elegance of the
language. Ever heard the expression, "the first impression is the most
important"? Well, the first impression people get of a programming
language is based largely on the syntax. I'll bet a lot of programmers
are unconsciously biased one way or the other about a programming
language based simply on their initial reaction to the syntax.

> I'd rather see some semantic enhancements (downward funargs, multiple
> interface inheritance, withing problem fixed, ...) and leave the
> syntax alone.
> 
> > I read recently that only one in ten new DoD WEAPONS programs is even
> > choosing Ada now that the DoD mandate has been dropped. Don't even ask
> > about DoD accounting and supply-chain management programs!
> 
> I have more faith in the open source community than in the DoD.

The DoD controls a huge arsenal of nuclear, biological, chemical, and
conventional weapons. We had better all hope they don't have buggy
software!

> > I am trying to sell Ada for a safety-critical program, and I am getting
> > little or no support from my organization. I get forwarded email
> > messages from full professors of CS at MIT claiming that Ada is being
> > replaced by Java even in their studies of software reliability.
> 
> Nothing against the tute (course 18, '86), but it has never been very Ada
> friendly.
> 
> Selling a particular language that is not "mainstream" is tough in a
> commercial environment. Changing the syntax of Ada would make that job
> harder.

I disagree.

> > You Ada guys seem determined to let Ada slip into oblivion. I'll bet HAL
> > and Jovial programmers are proud of the stability of their languages
> > too.
> 
> C programmers value the stability of C as well, thanks. And for those of
> us who can tolerate rapidly evolving languages, there are far more
> interesting contestants than Python (www.ocaml.org, www.haskell.org, ...).
> 
> > I am new to Ada, and I believe that gives me a certain perspective that
> > Ada veterans lack.
> 
> That's true. Do you also acknowledge that people with more experience may
> have a certain perspective that you lack?

Of course I do. I have no doubt they know more about Ada than I do, but
I also have no doubt that they have unwittingly conditioned themselves
to overlook the cosmetic warts of the language.

> > I am making a proposal that could save the best programming language
> > around, and all I get is a bunch of irrelevant criticism.
> 
> No such thing as "the best programming language". The criticism isn't
> really all irrelevant, either. IMO, if you want to make Ada more
> successful just write tools that you want (in Ada of course) and make the
> source available under some open source license. It's just a question of
> making the activation energy for choosing Ada low enough...

Good luck, but you may have even more of an uphill battle than I have.
:')

Russ



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

* Re: How to make Ada a dominant language
  2001-07-31  3:06                 ` Warren W. Gay VE3WWG
@ 2001-07-31  4:10                   ` Russ Paielli
  2001-07-31  5:05                     ` Warren W. Gay VE3WWG
  0 siblings, 1 reply; 180+ messages in thread
From: Russ Paielli @ 2001-07-31  4:10 UTC (permalink / raw)


"Warren W. Gay VE3WWG" wrote:
> 
> Larry Kilgallen wrote:
> > In article <3B657715.7EC592D9@sneakemail.com>, Russ Paielli <18k11tm001@sneakemail.com> writes:
> > > Larry Kilgallen wrote:
> ...snip...
> > > I am new to Ada, and I believe that gives me a certain perspective that
> > > Ada veterans lack. I am making a proposal that could save the best
> > > programming language around, and all I get is a bunch of irrelevant
> > > criticism.
> 
> I'm not sure the above properly attributes the correct authors.. I believe
> Russ wrote the "I am new to Ada..".
> 
> To the "I am new to Ada" person:

That's me.

> You are sadly deluded if you think that a "python enthused" change request
> to Ada is going to be accepted. Despite any reasoning that you might have,
> you are not going to have people with millions of Ada lines of code accept
> that now they must use new syntax. Creating a new language with the ideas
> that you've presented, only takes Ada back to some of the things it purposely
> steered clear of. And I'll add, that the indentation idea that Python uses,
> IMHO, is definitely "not a good thing" (tm).

Apparently you did not read my proposal very clearly. It would not
require a single line of Ada to be rewritten, nor would it require any
Ada programmer to stop using Ada95 syntax. I may be naive, but I am not
completely clueless.

Russ



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

* Re: How to make Ada a dominant language
  2001-07-31  2:41 ` Warren W. Gay VE3WWG
@ 2001-07-31  4:24   ` Russ Paielli
  2001-07-31  5:18     ` Warren W. Gay VE3WWG
  2001-07-31 10:53     ` Philip Anderson
  0 siblings, 2 replies; 180+ messages in thread
From: Russ Paielli @ 2001-07-31  4:24 UTC (permalink / raw)


"Warren W. Gay VE3WWG" wrote:
> 
> I can't leave this one alone... (but should)...

Yes, you should have. :)

> Russ wrote:
> >
> > The Ada programming language is based on an excellent fundamental
> > design, but it is much less popular than it could be because it has an
> > awkward, "klunky" syntax. I propose to clean up the syntax by
> > borrowing from Python. Python is very popular high level "scripting"
> > language with a reputation for promoting clean, clear code. The new
> > syntax could be translated into Ada95 syntax with a relatively simple
> > "preprocessor," so existing compilers could still be used, old code
> > would continue to work, and programmers could continue to use the old
> > syntax if they wish.
> >
> > Here are the syntax changes I propose:
> >
> > 1. Eliminate the "end" keyword and make the indentation structure an
> > inherent part of the syntax, as in Python.
> 
> Ahem: "end label;" helps to insure that the programmer knows who's
> "end" it is. It may be inconceivable that programmers have technical
> problems like this, but it happens.

That's a valid point.

> > 2. Eliminate the requirement for a semicolon after each executable
> > statement, but allow semicolons for combining multiple statements on a
> > line, as in Python.
> 
> Blech. What are you going to do for long statements -- make us use
> backslashes at the end of the line or something (I am Python
> illiterate, and hope to stay that way.)

Yes. Most statements take only one line, so you will have far fewer
"extensions" than single-line statements.

> > 3. Use "=" rather than ":=" for assignment, as in Python. (Use "=="
> > for equality testing if necessary to avoid confusion with assignment.)
> 
> I am already ambidextrous : I can use = for C/C++ and := for Ada.

I can too. I can also walk on all fours, but I would look like a fool if
I did it all the time, wouldn't I? So would you, I bet.

> > 4. Use "=" instead of "=>" for passing arguments by named association,
> > as in Python.
> 
> Blech. That'll make it look like IBM JCL ;-)

Not to me it won't, because I've never seen JCL.

> > 5. Reverse the backward declaration syntax. For example, use "integer:
> > count" instead of "count: integer", or use "integer in: count" instead
> > of "count: in integer".
> 
> Again, I am ambidextrous : I can declare the C/C++ way, or the Ada way.
> I see no need to change it.

I'll bet you can walk backwards too. Would you do it without complaining
if someone forced you to for the rest of your life?

> > 6. Eliminate the "is" keyword.
> 
> Depending upon how you format your code, I find it allows a nice
> line break at the right place if I want it ;-)
> 
> > 7. Let "use" imply "with" so the tops of files need not be cluttered
> > with both "with" and "use" for the same package.
> 
> You really don't understand the use of "use" do you?

I thought I did, but maybe not.

> > A flag on the first line of a source file (e.g., the string "Ada01"
> > anywhere within a comment) could be used to tell the compiler that the
> > file needs to be translated to Ada95 before compiling.
> 
> Eh? (I think "eh" was another language, wasn't it?)
> 
> > With these changes, I believe Ada would become much more popular and
> > could eventually become a dominant language. The resulting new
> > language could be called "Ada01," or something like that.
> 
> Surely you jest.

No, I don't. And please stop calling me Shirly.

> > Honestly now, which of the following two statements is cleaner and
> > clearer?
> >
> >     count: integer := 0;  -- old syntax
> >
> >     integer: count = 0  -- new syntax
> >
> > Russ Paielli
> > http://RussP.org
> 
> The former is already well established with many millions of lines of
> code written that way. I see no problem with it as it is.

I do.

> Don't quit your day job.

Quit yours.

Russ



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

* Re: How to make Ada a dominant language
  2001-07-31  4:10                   ` Russ Paielli
@ 2001-07-31  5:05                     ` Warren W. Gay VE3WWG
  0 siblings, 0 replies; 180+ messages in thread
From: Warren W. Gay VE3WWG @ 2001-07-31  5:05 UTC (permalink / raw)


Russ Paielli wrote:
> "Warren W. Gay VE3WWG" wrote:
> > Larry Kilgallen wrote:
> > > In article <3B657715.7EC592D9@sneakemail.com>, Russ Paielli <18k11tm001@sneakemail.com> writes:
> > > > Larry Kilgallen wrote:
> > ...snip...
> > > > I am new to Ada, and I believe that gives me a certain perspective that
> > > > Ada veterans lack. I am making a proposal that could save the best
> > > > programming language around, and all I get is a bunch of irrelevant
> > > > criticism.
> >
> > I'm not sure the above properly attributes the correct authors.. I believe
> > Russ wrote the "I am new to Ada..".
> >
> > To the "I am new to Ada" person:
> 
> That's me.
> 
> > You are sadly deluded if you think that a "python enthused" change request
> > to Ada is going to be accepted. Despite any reasoning that you might have,
> > you are not going to have people with millions of Ada lines of code accept
> > that now they must use new syntax. Creating a new language with the ideas
> > that you've presented, only takes Ada back to some of the things it purposely
> > steered clear of. And I'll add, that the indentation idea that Python uses,
> > IMHO, is definitely "not a good thing" (tm).
> 
> Apparently you did not read my proposal very clearly. It would not
> require a single line of Ada to be rewritten, nor would it require any
> Ada programmer to stop using Ada95 syntax. I may be naive, but I am not
> completely clueless.
> 
> Russ

Then you will have read my sentence that "Creating a new language with the ideas
that you've presented, only takes Ada back to some of the things it purposely
steered clear of."  But, you selectively chose not to address that issue.

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



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

* Re: How to make Ada a dominant language
  2001-07-31  3:46                 ` Russ Paielli
@ 2001-07-31  5:08                   ` Warren W. Gay VE3WWG
  2001-07-31  7:09                   ` Pascal Obry
  2001-07-31 14:17                   ` Marin David Condic
  2 siblings, 0 replies; 180+ messages in thread
From: Warren W. Gay VE3WWG @ 2001-07-31  5:08 UTC (permalink / raw)


Russ Paielli wrote:
> Pascal Obry wrote:
> > Russ Paielli <18k11tm001@sneakemail.com> writes:
> > Are you serious ! You are "new to Ada", well you say so, and you are just
> > trying to "make a proposal" to make it the best language ! So please learn Ada
> > first then you'll be able to fix it.
> 
> I am not saying anything about Ada fundamentals. As far as I know, they
> are great. That is, in fact, why I even care about the syntax. And I
> don't think I need to be an expert to comment on the syntax. Ada is like
> a modern car with a fabulous drivetrain and suspension, but an ugly
> body. How well do you think such a car would sell? And you don't need to
> be an expert to see that something is wrong.
> 
> Everyone on this thread seems to think that syntax is completely
> superficial. Well, it is in a sense, but it is also the interfact that
> the language presents to the programmer every working minute, and that
> is important. all I am asking is, why not just get it right?
> 
> Russ

Russ, the Jeep is a vehicle with excellent drive train, but is has an
ugly body (of course beauty is in the eye of...). Yet, Jeeps are very
popular now.... so much for that analogy. ;-)

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



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

* Re: How to make Ada a dominant language
  2001-07-31  4:24   ` Russ Paielli
@ 2001-07-31  5:18     ` Warren W. Gay VE3WWG
  2001-07-31 10:53     ` Philip Anderson
  1 sibling, 0 replies; 180+ messages in thread
From: Warren W. Gay VE3WWG @ 2001-07-31  5:18 UTC (permalink / raw)


Russ Paielli wrote:
> "Warren W. Gay VE3WWG" wrote:
> > I can't leave this one alone... (but should)...
> 
> Yes, you should have. :)

I can see that you are right on this one point.. 8-/

> > Russ wrote:
> > > 3. Use "=" rather than ":=" for assignment, as in Python. (Use "=="
> > > for equality testing if necessary to avoid confusion with assignment.)
> >
> > I am already ambidextrous : I can use = for C/C++ and := for Ada.
> 
> I can too. I can also walk on all fours, but I would look like a fool if
> I did it all the time, wouldn't I? So would you, I bet.

But we are not talking about walking on all fours are we? You've
mistaken that for "assembly language" and possibly "FORTRAN".

> > > 4. Use "=" instead of "=>" for passing arguments by named association,
> > > as in Python.
> >
> > Blech. That'll make it look like IBM JCL ;-)
> 
> Not to me it won't, because I've never seen JCL.

Lucky you.

> > > 5. Reverse the backward declaration syntax. For example, use "integer:
> > > count" instead of "count: integer", or use "integer in: count" instead
> > > of "count: in integer".
> >
> > Again, I am ambidextrous : I can declare the C/C++ way, or the Ada way.
> > I see no need to change it.
> 
> I'll bet you can walk backwards too. Would you do it without complaining
> if someone forced you to for the rest of your life?

Again, we're not talking about walking backwards, or on all fours. The difference
is as small as "yes" or "yep" or even, "yup".

> > > With these changes, I believe Ada would become much more popular and
> > > could eventually become a dominant language. The resulting new
> > > language could be called "Ada01," or something like that.
> >
> > Surely you jest.
> 
> No, I don't. And please stop calling me Shirly.

Surely, you didn't say that? ;-)

> > The former is already well established with many millions of lines of
> > code written that way. I see no problem with it as it is.
> 
> I do.
> 
> > Don't quit your day job.
> 
> Quit yours.

I'd love to!  Unfortunately, retirement is still a spec on the
horizon. ;-)

> Russ

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



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

* Re: How to make Ada a dominant language
  2001-07-30 15:02             ` Russ Paielli
                                 ` (4 preceding siblings ...)
  2001-07-30 17:51               ` file13
@ 2001-07-31  6:16               ` Gary Lisyansky
  5 siblings, 0 replies; 180+ messages in thread
From: Gary Lisyansky @ 2001-07-31  6:16 UTC (permalink / raw)



"Russ Paielli" <18k11tm001@sneakemail.com> wrote in message
news:3B657715.7EC592D9@sneakemail.com...
>
> I am trying to sell Ada for a safety-critical program, and I am getting
> little or no support from my organization. I get forwarded email
> messages from full professors of CS at MIT claiming that Ada is being
> replaced by Java even in their studies of software reliability.
>
They'll learn what software reliability is all about when they'll switch
from Ada to Java. But it'll be too late.

Gary





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

* Re: How to make Ada a dominant language
  2001-07-31  3:24       ` Russ Paielli
@ 2001-07-31  6:47         ` Martin Dowie
  2001-07-31  7:10           ` Russ Paielli
  2001-07-31 15:32           ` Ted Dennison
  2001-07-31 11:16         ` David Gillon
                           ` (2 subsequent siblings)
  3 siblings, 2 replies; 180+ messages in thread
From: Martin Dowie @ 2001-07-31  6:47 UTC (permalink / raw)


Russ Paielli <18k11tm001@sneakemail.com> wrote in message
news:3B6624E6.DF734E5C@sneakemail.com...
> But "x = 4" means that, immediately after the statement is executed, x
> indeed equals 4. I don't see a problem with using "=" for both

so what does "X = X + 1" mean? This was part of the reason
why ":=" has been used in many languages (before Ada was ever
conceived).






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

* Re: How to make Ada a dominant language
  2001-07-31  3:46                 ` Russ Paielli
  2001-07-31  5:08                   ` Warren W. Gay VE3WWG
@ 2001-07-31  7:09                   ` Pascal Obry
  2001-07-31 14:17                   ` Marin David Condic
  2 siblings, 0 replies; 180+ messages in thread
From: Pascal Obry @ 2001-07-31  7:09 UTC (permalink / raw)



Russ Paielli <18k11tm001@sneakemail.com> writes:

> Everyone on this thread seems to think that syntax is completely
> superficial. Well, it is in a sense, but it is also the interfact that
> the language presents to the programmer every working minute, and that
> is important. all I am asking is, why not just get it right?

Because we all (almost maybe) thinks in this NG that Ada is right. Ada is
a standard and well designed modern language. The important aspect of it is
not the syntax which is quite good as we all think. Be patient, try it one
more year, you'll will love the way it is designed: building blocks. Every
single piece of the language mix very well with any others and it has an
expressive power that not many language can offer you.

Again, bear in mind that Ada has been designed by very competent peoples so
before changing anything ask yourself: Well this seems wrong to me maybe I'm
missing something :)

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--|
--| "The best way to travel is by means of imagination"



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

* Re: How to make Ada a dominant language
  2001-07-31  6:47         ` Martin Dowie
@ 2001-07-31  7:10           ` Russ Paielli
  2001-07-31  7:22             ` Gary Lisyansky
                               ` (2 more replies)
  2001-07-31 15:32           ` Ted Dennison
  1 sibling, 3 replies; 180+ messages in thread
From: Russ Paielli @ 2001-07-31  7:10 UTC (permalink / raw)


Martin Dowie wrote:
> 
> Russ Paielli <18k11tm001@sneakemail.com> wrote in message
> news:3B6624E6.DF734E5C@sneakemail.com...
> > But "x = 4" means that, immediately after the statement is executed, x
> > indeed equals 4. I don't see a problem with using "=" for both
> 
> so what does "X = X + 1" mean? This was part of the reason
> why ":=" has been used in many languages (before Ada was ever
> conceived).

Actually, I like the C way of writing this: "x += 1". It's a minimal
form. It's much cleaner if the variable name is long. I think C got this
one right.

Russ



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

* Re: How to make Ada a dominant language
  2001-07-31  7:10           ` Russ Paielli
@ 2001-07-31  7:22             ` Gary Lisyansky
  2001-07-31  7:38             ` Keith Thompson
  2001-07-31  8:20             ` Martin Dowie
  2 siblings, 0 replies; 180+ messages in thread
From: Gary Lisyansky @ 2001-07-31  7:22 UTC (permalink / raw)



"Russ Paielli" <18k11tm001@sneakemail.com> wrote in message
news:3B665A01.54315D0C@sneakemail.com...
> Martin Dowie wrote:
> >
> > Russ Paielli <18k11tm001@sneakemail.com> wrote in message
> > news:3B6624E6.DF734E5C@sneakemail.com...
> > > But "x = 4" means that, immediately after the statement is executed, x
> > > indeed equals 4. I don't see a problem with using "=" for both
> >
> > so what does "X = X + 1" mean? This was part of the reason
> > why ":=" has been used in many languages (before Ada was ever
> > conceived).
>
> Actually, I like the C way of writing this: "x += 1". It's a minimal
> form. It's much cleaner if the variable name is long. I think C got this
> one right.
>
In Pascal, there's another convenient shortcut: INC(X, Y) is equivalent to X
:= X + Y and INC(X) to INC(X, 1). Both things can be implemented in Ada
using generics, so there's no real need to make them an element of syntax.

Gary

> Russ





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

* Re: How to make Ada a dominant language
  2001-07-30 17:19                 ` Darren New
@ 2001-07-31  7:35                   ` Preben Randhol
  2001-08-02  1:36                   ` David Starner
  1 sibling, 0 replies; 180+ messages in thread
From: Preben Randhol @ 2001-07-31  7:35 UTC (permalink / raw)


On Mon, 30 Jul 2001 17:19:32 GMT, Darren New wrote:
>> �Don't use C;  In my opinion,  C is a library programming language
>>  not an app programming language.�  - Owen Taylor (GTK+ developer)
> 
> C is a sucky library programming language as well. Less sucky than a lot
> of other things, but the lack of any sort of first-class non-primitive
> data really bites for library development. (I.e., the fact that you
> can't return a string is quite a hinderance to most of the libraries I
> tend to write.)

I agree fully with you, but I think there is more to gain for Ada if one
use it first to develop new apps, then later libraries/OSes :-)

Preben
-- 
�Don't use C;  In my opinion,  C is a library programming language
 not an app programming language.�  - Owen Taylor (GTK+ developer)

Use Ada 95, a free language. More info at http://www.adapower.com/



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

* Re: How to make Ada a dominant language
  2001-07-31  7:10           ` Russ Paielli
  2001-07-31  7:22             ` Gary Lisyansky
@ 2001-07-31  7:38             ` Keith Thompson
  2001-07-31  8:20             ` Martin Dowie
  2 siblings, 0 replies; 180+ messages in thread
From: Keith Thompson @ 2001-07-31  7:38 UTC (permalink / raw)


Russ Paielli <18k11tm001@sneakemail.com> writes:
> Martin Dowie wrote:
> > 
> > Russ Paielli <18k11tm001@sneakemail.com> wrote in message
> > news:3B6624E6.DF734E5C@sneakemail.com...
> > > But "x = 4" means that, immediately after the statement is executed, x
> > > indeed equals 4. I don't see a problem with using "=" for both
> > 
> > so what does "X = X + 1" mean? This was part of the reason
> > why ":=" has been used in many languages (before Ada was ever
> > conceived).
> 
> Actually, I like the C way of writing this: "x += 1". It's a minimal
> form. It's much cleaner if the variable name is long. I think C got this
> one right.

But "x = x + 1" is also perfectly valid C.

For that matter, "x = foo(x)" and "x = x->next" are also valid C, and
there are no corresponding compound assignment operators for these
operations.

-- 
Keith Thompson (The_Other_Keith) kst@cts.com  <http://www.ghoti.net/~kst>
San Diego Supercomputer Center           <*>  <http://www.sdsc.edu/~kst>
Cxiuj via bazo apartenas ni.



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

* Re: How to make Ada a dominant language
  2001-07-30  7:08 Russ
                   ` (4 preceding siblings ...)
  2001-07-31  2:41 ` Warren W. Gay VE3WWG
@ 2001-07-31  8:03 ` Keith Thompson
  2001-07-31 11:16   ` Philip Anderson
  2001-08-01  0:00 ` Stanley R. Allen
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 180+ messages in thread
From: Keith Thompson @ 2001-07-31  8:03 UTC (permalink / raw)


18k11tm001@sneakemail.com (Russ) writes:
[...]
> 1. Eliminate the "end" keyword and make the indentation structure an
> inherent part of the syntax, as in Python.

I personally don't mind Python's use of indentation to indicate
program structure, but a lot of programmers despise it.  You propose
to alienate those programmers for no good reason, while making it
far less clear where a construct ends.

> 2. Eliminate the requirement for a semicolon after each executable
> statement, but allow semicolons for combining multiple statements on a
> line, as in Python.

Ada is a free-form language.  Requiring a semicolon on each statement
eliminates the need for a special syntax for splitting a single
statement across multiple lines.

> 3. Use "=" rather than ":=" for assignment, as in Python. (Use "=="
> for equality testing if necessary to avoid confusion with assignment.)

Assignment and equality testing are two different things.  They should
look different.

> 4. Use "=" instead of "=>" for passing arguments by named association,
> as in Python.

"Proc(Foo = Bar)" is already a valid Ada procedure call; it passes the
value True if Foo and Bar are equal, False if they aren't.

> 5. Reverse the backward declaration syntax. For example, use "integer:
> count" instead of "count: integer", or use "integer in: count" instead
> of "count: in integer".

It's backward only if you're accustomed to declarations that put the
type first.  For anyone accustomed to Ada-style (or Pascal-style)
declarations, they look perfectly natural.  Anyone else should be able
to get used to it quickly enough.

> 6. Eliminate the "is" keyword.

Right.  Just imagine the man-years that have been wasted typing those
two letters.

How would you declare a derived type ("type Foo is new Bar;")?

> 7. Let "use" imply "with" so the tops of files need not be cluttered
> with both "with" and "use" for the same package.

"with" can be applied to any library unit.  "use" can be applied to
any package.  Not all library units are packges, and not all packages
are library units.

>     count: integer := 0;  -- old syntax
> 
>     integer: count = 0  -- new syntax

They're both about equally clear; the old syntax has the advantage of
being what we've been using in Ada for the past 20 years or so.

As someone else pointed out, all programming languages are artificial.
There are many choices to make in designing a programming language;
often neither possible choice is any more or less "natural" than the
other.

Seriously, how many programmers do you know who (1) dislike Ada
because of its syntax, *and* (2) would become Ada enthusiasts if it
were changed in accordance with your suggestions?  I suggest there are
far fewer than you think.

I would also suggest that accusing those who disagree with you of
being unintelligent is just about the worst possible way to convince
anyone that you're right.  After all, I'm always right, but there are
plenty of intelligent people who disagree with me.  8-)}

-- 
Keith Thompson (The_Other_Keith) kst@cts.com  <http://www.ghoti.net/~kst>
San Diego Supercomputer Center           <*>  <http://www.sdsc.edu/~kst>
Cxiuj via bazo apartenas ni.



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

* Re: How to make Ada a dominant language
  2001-07-31  7:10           ` Russ Paielli
  2001-07-31  7:22             ` Gary Lisyansky
  2001-07-31  7:38             ` Keith Thompson
@ 2001-07-31  8:20             ` Martin Dowie
  2 siblings, 0 replies; 180+ messages in thread
From: Martin Dowie @ 2001-07-31  8:20 UTC (permalink / raw)


Kind of missed the point (just a little :-), The '1' could
as easily be replaced by 'Y', my fault for not choosing a
clearer example.

"X = 4" has a specific mathematical meaning, "X == 4" does not
(or at least non that I'm aware of).

Ada (and others) uses "X = 4" in the same way as the mathematical
meaning, i.e. "is equivalent to" not "is assigned to".

I don't particularly like the "+=" style, it seem counter
intuitive that this aids readability.

Our job is to code, not encode.


Russ Paielli <18k11tm001@sneakemail.com> wrote in message
news:3B665A01.54315D0C@sneakemail.com...
> Martin Dowie wrote:
> >
> > Russ Paielli <18k11tm001@sneakemail.com> wrote in message
> > news:3B6624E6.DF734E5C@sneakemail.com...
> > > But "x = 4" means that, immediately after the statement is executed, x
> > > indeed equals 4. I don't see a problem with using "=" for both
> >
> > so what does "X = X + 1" mean? This was part of the reason
> > why ":=" has been used in many languages (before Ada was ever
> > conceived).
>
> Actually, I like the C way of writing this: "x += 1". It's a minimal
> form. It's much cleaner if the variable name is long. I think C got this
> one right.






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

* Re: How to make Ada a dominant language
  2001-07-30 12:41   ` Russ Paielli
                       ` (3 preceding siblings ...)
  2001-07-31  0:53     ` Adrian Hoe
@ 2001-07-31  8:29     ` Florian Weimer
  2001-07-31 20:34       ` Keith Thompson
  4 siblings, 1 reply; 180+ messages in thread
From: Florian Weimer @ 2001-07-31  8:29 UTC (permalink / raw)


Russ Paielli <18k11tm001@sneakemail.com> writes:

>> I prefer the old way, as it is easier to read.
> 
> I'll bet nine out of 10 non-Ada-programmers would disagree with you.

I don't think so.  A look up variable declarations by variable name,
and not their type, so I'm quite glad that the variable name appears
at the left.  I find it hard to believe that anybody disagrees with
that.  After all, there is a long tradition of organizing things that
way (think of phone books).

> And that's part of the reason that nine out of ten programmers (or
> whatever) are non-Ada-programmers.

Hmm, that's a strange non sequitur in any case.

>> Why is it so very important to use = to set a value and then == when you
>> check it? I have not understood this.
> 
> Because "=" is the simplest fricking symbol that could possibly be used
> for assignment.

For most people with a non-FORTRAN background, '=' implies symmetry,
but an assignment is not symmetric.

> Why is this so hard for Ada programmers to understand?

Using '=' to denote anything but equality is confusing because it
contradicts the established meaning of that symbol (that's why I don't
like the big-oh notation either).

> What's so great about ":="? Why not use "$=" or "%="?

':=' was already used to denote assignent even before programming
languages existed.

> What I am proposing would not make programs "less readable." It would
> make them MORE readable, especially for new Ada programmers.

I don't think readability is a concern to beginners.  Many people
learn C just for fun.



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

* Re: How to make Ada a dominant language
  2001-07-30 12:52     ` Preben Randhol
  2001-07-30 13:24       ` Russ Paielli
  2001-07-30 15:38       ` Darren New
@ 2001-07-31  8:31       ` Florian Weimer
  2 siblings, 0 replies; 180+ messages in thread
From: Florian Weimer @ 2001-07-31  8:31 UTC (permalink / raw)


randhol@kiuk0156.chembio.ntnu.no (Preben Randhol) writes:

>> Because "=" is the simplest fricking symbol that could possibly be used
> 
> If you think about it it is more important that your if statments are
> correct than your assignments. Just think about this C line:
> 
>    if (C = crap) then ...
> 
> and of course it will always be true and will compile. I would rather
> have = for this than assignments.

This problem isn't caused by the symbol '=' per se, but by the fact
assignments are expressions, not statements, in C.

Python (another language which uses '=' and '==') gives you a
diagnostic in such cases.



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

* Re: How to make Ada a dominant language
  2001-07-30 13:11       ` Russ Paielli
  2001-07-30 15:45         ` Darren New
@ 2001-07-31  8:51         ` Florian Weimer
  2001-07-31 16:16           ` Darren New
  1 sibling, 1 reply; 180+ messages in thread
From: Florian Weimer @ 2001-07-31  8:51 UTC (permalink / raw)


Russ Paielli <18k11tm001@sneakemail.com> writes:

>> Like it is in FORTRAN 77? No, it is not convenient only annoying and a
>> bug trap. Please explain why it is convenient.
> 
> It is more than "convenient." It FORCES the programmer to use proper
> indentation structure, and it assures the reader that the indentation
> structure is indeed consistent with the logical structure. It is
> completely in the Ada spirit of encouraging good structure and form. It
> will ELIMINATE an entire class of bugs.

That's why at least one Ada compiler optionally checks indentation and
refuses to compile code with confusing and inconsistent indentation.



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

* Re: How to make Ada a dominant language
  2001-07-30 16:26             ` Russ Paielli
  2001-07-30 16:50               ` Gerhard Häring
  2001-07-30 17:55               ` Larry Kilgallen
@ 2001-07-31  8:53               ` Florian Weimer
  2 siblings, 0 replies; 180+ messages in thread
From: Florian Weimer @ 2001-07-31  8:53 UTC (permalink / raw)


Russ Paielli <18k11tm001@sneakemail.com> writes:

>> So if you code in Ada and use propper identation (as I expect most do)
>> you should reduce bugs. :-)
> 
> That's like saying, "If you code in C++, check all array bounds yourself
> (as I expect most do) and you should reduce bugs."

No, it's not, because there are tools which statically check for
correct indentation of Ada code.  (There are no such tools for Python
because Python source code lacks the required redundancy for such
checks.)



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

* Re: How to make Ada a dominant language
  2001-07-30 17:23                 ` Darren New
@ 2001-07-31  8:55                   ` Florian Weimer
  2001-07-31  9:45                   ` Lutz Donnerhacke
  1 sibling, 0 replies; 180+ messages in thread
From: Florian Weimer @ 2001-07-31  8:55 UTC (permalink / raw)


Darren New <dnew@san.rr.com> writes:

>> And the difference is I can write a program to correct indentation.
>> But I will not, because others have already done it.
> 
> Do you run that program on every source file before you look at it?

I do (actually, it's part of the IDE in my environment), otherwise the
Ada compiler would choke on it.  Of course, this mode of GNAT is not
conforming to the Ada standard ;-), but I find it very, very helpful,
togehter with the other restrictions imposed by the GNAT style checks.



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

* Re: How to make Ada a dominant language
  2001-07-30 12:30   ` Russ Paielli
  2001-07-30 12:31     ` Gary Lisyansky
@ 2001-07-31  9:00     ` Florian Weimer
  1 sibling, 0 replies; 180+ messages in thread
From: Florian Weimer @ 2001-07-31  9:00 UTC (permalink / raw)


Russ Paielli <18k11tm001@sneakemail.com> writes:

> It is just unnatural and awkward, even if long-time Ada programmers
> are so used to it they think it is natural.

In a previous article, Russ Paielli <18k11tm001@sneakemail.com>
writes, in response to Preben's statement that he likes the
variable-first form better than the type-first form:

> I'll bet nine out of 10 non-Ada-programmers would disagree with you.

Maybe we can convert you completely if we post a few more
articles. ;-)



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

* Re: How to make Ada a dominant language
  2001-07-30 12:31     ` Gary Lisyansky
  2001-07-30 13:04       ` Russ Paielli
@ 2001-07-31  9:03       ` Florian Weimer
  1 sibling, 0 replies; 180+ messages in thread
From: Florian Weimer @ 2001-07-31  9:03 UTC (permalink / raw)


"Gary Lisyansky" <gary_the_fox@richmond.com> writes:

> Python as an application language?

Why not? The resulting code is not easy to maintain (a got bitten by
this quite a few times, but it will take years until I have an Ada
library which can compete with the Python run-time library in terms
of implemented features), but I've successfully written some small
applications using it (I mean 'small' not in the Ada sense, only a few
thousand lines each).



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

* Re: How to make Ada a dominant language
  2001-07-30 12:52     ` Gary Lisyansky
  2001-07-30 13:38       ` Russ Paielli
@ 2001-07-31  9:32       ` Philip Anderson
  2001-07-31 10:16         ` Lutz Donnerhacke
  2001-08-02 20:35       ` Barry Kelly
  2001-08-16  5:19       ` David Thompson
  3 siblings, 1 reply; 180+ messages in thread
From: Philip Anderson @ 2001-07-31  9:32 UTC (permalink / raw)


Gary Lisyansky wrote:
> 
<snip>
> Dubious. In reality, only C/C++/Java use this "type first" order in
> declarations. Pascal uses Ada- like syntax, VB uses even more verbose
> construct (Dim Count As Integer) and so on. I've never heard anyone complain
> about "var name first" declaration convention.

CORAL 66 had the type first, and I had to get used to the Ada syntax; I
must say that now I do prefer it, because it is easier to just pick out
the variable and constant names on a first reading, whereas the type is
more of an implementation detail.

It's not a big deal, Ada had to choose one way or the other, but it is
not worth changing Ada now; having two different forms of Ada, one
requiring pre-processing to convert it into the other, must be a
non-starter - in "Day : Date", which would be the type, without looking
for a pre-processor request?  (French keywords give no such ambiguity)


For myself, I don't think that syntax differences have much effect on
the ease of learning a new language; any two languages will be different
here, but there will also be much more significant differences - for
Ada, user-defined types, the procedure/function distinction, no need to
use pointers etc.

It's the same with natural languages; changing the syntax of French to
match English would not really encourage more English speakers to learn
French.


-- 
hwyl/cheers,
Philip Anderson
Alenia Marconi Systems
Cwmbr�n, Cymru/Wales



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

* Re: How to make Ada a dominant language
  2001-07-30 17:23                 ` Darren New
  2001-07-31  8:55                   ` Florian Weimer
@ 2001-07-31  9:45                   ` Lutz Donnerhacke
  1 sibling, 0 replies; 180+ messages in thread
From: Lutz Donnerhacke @ 2001-07-31  9:45 UTC (permalink / raw)


* Darren New wrote:
>> And the difference is I can write a program to correct indentation.
>> But I will not, because others have already done it.
>
>Do you run that program on every source file before you look at it?
>That's what you need to do in many languages, or you'll be misled by the
>incorrect indentation.

My editor does it for me. (adamode from ada.sl, which also shows the
limitations of S-Lang)



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

* Re: How to make Ada a dominant language
  2001-07-30 16:00           ` Preben Randhol
  2001-07-30 16:26             ` Russ Paielli
@ 2001-07-31 10:14             ` Philip Anderson
  1 sibling, 0 replies; 180+ messages in thread
From: Philip Anderson @ 2001-07-31 10:14 UTC (permalink / raw)


Preben Randhol wrote:
> 
> So if you code in Ada and use propper identation (as I expect most do)
> you should reduce bugs. :-)

It is certainly good practice; I would expect any coding standard to
include rules/guidelines for indentation, ideally with automatic
formatting by the development (Rational Apex is hopeless however).

But I would not expect this to be in the language definition; for one
thing, the appropriate size of indentation must depend upon the width of
display or printout.


-- 
hwyl/cheers,
Philip Anderson
Alenia Marconi Systems
Cwmbr�n, Cymru/Wales



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

* Re: How to make Ada a dominant language
  2001-07-31  9:32       ` Philip Anderson
@ 2001-07-31 10:16         ` Lutz Donnerhacke
  0 siblings, 0 replies; 180+ messages in thread
From: Lutz Donnerhacke @ 2001-07-31 10:16 UTC (permalink / raw)


* Philip Anderson wrote:
>requiring pre-processing to convert it into the other, must be a
>non-starter - in "Day : Date", which would be the type, without looking
>for a pre-processor request?  (French keywords give no such ambiguity)

What's more readable?

    arr : array (arg'Range) of arg'Base_Type :=
                    arg (arg'First + 1 .. arg'Last, Arg'First);

or 
    array (arg'Range) of arg'Base_Type : arr :=
                    arg (arg'First + 1 .. arg'Last, Arg'First);

?

How about

    struct {
      unsigned int i7 : 7;
      unsigned int i1 : 1;
      char str [77][33];
    } var [77];

vs.
    type uint_7 is range 0 .. 2**7-1;
    
    type var_type is record
       i1 : boolean;
       i7 : uint_7;
       str : array (0 .. 33) of array (0 .. 77) of character;
    end record;
    
    for var_type use record
       i1 at 0 range 0 .. 0;
       i7 at 0 range 1 .. 7;
    end record;
    for var_type'Bit_Order use High_Order_First;
    
    var : array (0 .. 77) of var_type;

?



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

* Re: How to make Ada a dominant language
  2001-07-31  4:24   ` Russ Paielli
  2001-07-31  5:18     ` Warren W. Gay VE3WWG
@ 2001-07-31 10:53     ` Philip Anderson
  1 sibling, 0 replies; 180+ messages in thread
From: Philip Anderson @ 2001-07-31 10:53 UTC (permalink / raw)


Russ Paielli wrote:
<snipped freely> 
> > Ahem: "end label;" helps to insure that the programmer knows who's
> > "end" it is. It may be inconceivable that programmers have technical
> > problems like this, but it happens.
> 
> That's a valid point.

Well, believe it or not a lot of thought did go into the design of Ada.


> Yes. Most statements take only one line, so you will have far fewer
> "extensions" than single-line statements.

I'm not actually convinced of that; eg a procedure call plus parameter
list is a statement which very rarely fits on one line (only with a
single parameter).


> > I am already ambidextrous : I can use = for C/C++ and := for Ada.
> 
> I can too. I can also walk on all fours, but I would look like a fool if
> I did it all the time, wouldn't I? So would you, I bet.

Look up "ambidextrous"; it means being equally capable, and I somehow
doubt whether you could walk as quickly or as far on four legs as two. 
Plenty of people here seem to have no problem being bilingual in Ada and
C, only you.


-- 
hwyl/cheers,
Philip Anderson
Alenia Marconi Systems
Cwmbr�n, Cymru/Wales



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

* Re: How to make Ada a dominant language
  2001-07-31  8:03 ` Keith Thompson
@ 2001-07-31 11:16   ` Philip Anderson
  0 siblings, 0 replies; 180+ messages in thread
From: Philip Anderson @ 2001-07-31 11:16 UTC (permalink / raw)


Keith Thompson wrote:
> 
> 18k11tm001@sneakemail.com (Russ) writes:
<snip>
> > 4. Use "=" instead of "=>" for passing arguments by named association,
> > as in Python.
> 
> "Proc(Foo = Bar)" is already a valid Ada procedure call; it passes the
> value True if Foo and Bar are equal, False if they aren't.

But Russ would replace that with "Proc(Foo == Bar)", so no ambiguity :-)


Consider the following (in NewAda, Ada in comments):

Integer : Foo  -- Foo : Integer;
Integer : Bar  -- Bar : Integer;

procedure Proc (Integer in : Foo)
-- procedure Proc (Foo : in Integer);

procedure Proc (Boolean in : A)
-- procedure Proc (A : in Boolean);


Proc (Foo = Bar)   -- Proc (Foo => Bar);
Proc (Foo == Bar)  -- Proc (Foo = Bar);
Proc (Foo >= Bar)  -- Proc (Foo >= Bar);


"Proc(Foo = Bar)" would certainly confuse existing Ada programmers, but
Ada is potentially confusing too.  I'd always write something like "Proc
(A => (Foo = Bar))" to show that the "Foo = Bar" is an expression


-- 
hwyl/cheers,
Philip Anderson
Alenia Marconi Systems
Cwmbr�n, Cymru/Wales



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

* Re: How to make Ada a dominant language
  2001-07-31  3:24       ` Russ Paielli
  2001-07-31  6:47         ` Martin Dowie
@ 2001-07-31 11:16         ` David Gillon
  2001-08-01  1:25         ` Adrian Hoe
  2001-08-01 10:08         ` AG
  3 siblings, 0 replies; 180+ messages in thread
From: David Gillon @ 2001-07-31 11:16 UTC (permalink / raw)




Russ Paielli wrote:

> I don't see a problem with using "=" for both
> assignment AND equality testing (am I missing something?). 

It would seem so. Assignment and Equality are not equivalent and Ada is
very specifically designed to be unambiguous when read, therefore
different symbols are required. If you're pushing Ada for safety
critical use then the features which enhance unambiguous readability
should be seen as co-equal in importance with the other safety-enhancing
features of the language.

> In Python,
> the classic C problem of using "=" when you mean "==" is avoided by
> simply not allowing assignment within an if test. Seems like a simple
> solution to me. In Ada, the compiler would tell you if you get it wrong.

Yes, but if you overload '=' for both assignment and equality then you
would still need to mentally disambiguate the operation every time you
read what was on the page. Ada's write-once, read-many philosophy means
this is 'a bad thing' (tm).

> > > What I am proposing would not make programs "less readable." It would
> > > make them MORE readable, especially for new Ada programmers.

I think that what concerns me most about this is the implication that
the average coder out there has had so little exposure to alternate
syntax that they're unable to cope with anything that isn't C/C++ like.
Every language has syntactic quirks, some shared with other related
languages. Arguably there are three big syntactic families-- Basics,
Ada/Pascal/Delphi/Modula and C/C++ -- along with a bunch of more
individualistic types (Prolog, Lisp, APL) and if comp sci degrees aren't
making sure their graduates can cope with even the most common
variations in syntax I find that a worrying development (hell, my degree
even had a lecture on APL's syntax...).

> Because I'd like to have a language that has both excellent fundamentals
> AND a clear, minimal syntax.

Ada's syntax was specifically designed to be unabmbiguous when read. In
certain circumstances that will mean it uses more characters to do the
job than other, less safe languages. This isn't a weakness, it's
recognised as a strength by the Ada community.

> And I'm a compulsive
> minimalist, I guess. It bothers me to see ":=" when "=" will do the job,
> because it's not minimal. 

If you're doing safety critical work then unambiguous should win over
minimalist every time.

-- 

David Gillon



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

* Re: How to make Ada a dominant language
  2001-07-31  3:46                 ` Russ Paielli
  2001-07-31  5:08                   ` Warren W. Gay VE3WWG
  2001-07-31  7:09                   ` Pascal Obry
@ 2001-07-31 14:17                   ` Marin David Condic
  2 siblings, 0 replies; 180+ messages in thread
From: Marin David Condic @ 2001-07-31 14:17 UTC (permalink / raw)


Why are you so convinced that Ada got it wrong? I've been using Ada since
way-back-when (I used to have standards for "Ada-80" on my shelf -
preliminary drafts before the final standard of Ada-83 came out.) and
thought it was an imense improvement in syntax over numerous other languages
I had used. It avoided lots of common syntax traps that existed in languages
like Cobol and Pascal and C - syntax traps you are proposing to put back in.
The syntax was aimed at making things as easy to read as possible so that
maintenance effort would be eased, and I think it succeeded at that very
well.

The syntax may not be what you are used to, but I really don't see that it
is in any way "broken". It achieves its goals of high readability and avoids
a number of pitfalls that would make it difficult for a parser to identify
where errors occur because of simple typos. I'd bet that by the time you've
written a couple of megabytes of Ada code, you'll be used to the syntax and
it will roll off your tongue very naturally. You won't find it nearly so
"broken" then as you may now - in fact you may even gain some insight into
*why* certain choices were made for syntax and how nicely "orthogonal" the
syntax is.

Or you can try writing a preprocessor to change the syntax and maybe you'll
come up with a language hugely more popular than Ada. I invite you to do so.
If Ada'Succ becomes hugely popular with a different syntax, I'll gladly
learn the different syntax and move on - just as I've done with dozens of
other languages. Syntax may be important to appearance, popularity,
readability, error avoidance, etc., but I don't think this is the big driver
as far as popularity goes. Semantics are much more an issue.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Russ Paielli" <18k11tm001@sneakemail.com> wrote in message
news:3B662A07.966963CF@sneakemail.com...
>
> Everyone on this thread seems to think that syntax is completely
> superficial. Well, it is in a sense, but it is also the interfact that
> the language presents to the programmer every working minute, and that
> is important. all I am asking is, why not just get it right?
>






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

* Re: How to make Ada a dominant language
  2001-07-30 21:26                     ` Milan Mancel
  2001-07-31  3:37                       ` Russ Paielli
@ 2001-07-31 14:37                       ` Ted Dennison
  2001-07-31 14:56                         ` Gary Lisyansky
                                           ` (3 more replies)
  1 sibling, 4 replies; 180+ messages in thread
From: Ted Dennison @ 2001-07-31 14:37 UTC (permalink / raw)


In article <a4c0053f.0107301326.1815330c@posting.google.com>, Milan Mancel
says...
>What really puts people off Ada is that they cannot hack code like in
>C. In Ada you have to think first. You have to think of correct types

I have heard this so much from Ada newbies over the years (ones that I'm pretty
sure have *not* heard it from the others), that I begin to think there is a
large amount of truth in it. But I have to admit that I can't hear that
statement without chuckling. 

I shouldn't laugh, because it is meant seriously. But complaining about being
forced to think while programming is like complaining about being forced to
immerse yourself while swimming; it is the very nature of the task. A real
developer can no more sit down at a keyboard and just "hack" out a good program
than a real writer can just sit down at a word-processor and hack out a good
novel. I know some writers who actually formally outline their *emails* before
starting to write them. But for some reason this level of forethought is not
appreciated by the masses where software development is concerned.

>What I really miss is good and short example code of every Ada concept
>and maybe more libraries and bindings.

You can find a bit of that in AdaPower's Source Code Treasury (
http://www.adapower.com/adacode.html )

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



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

* Re: How to make Ada a dominant language
  2001-07-30 17:51               ` file13
@ 2001-07-31 14:51                 ` Ted Dennison
  0 siblings, 0 replies; 180+ messages in thread
From: Ted Dennison @ 2001-07-31 14:51 UTC (permalink / raw)


In article <28d8936a.0107300951.5ae5cce@posting.google.com>, file13 says...
>finally, i think that we need to play up Ada's "bondage and
>discipline" reputation and start dressing Lovelace up in fetish gear
>if we want to draw a lot of people to Ada.....  ;)

:-)

An intersting idea...but I suspect the countess' heirs would grow to regret the
decision to allow the language to be named after her, were we to seriously
persue this course. :-)

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



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

* Re: How to make Ada a dominant language
  2001-07-31 14:37                       ` Ted Dennison
@ 2001-07-31 14:56                         ` Gary Lisyansky
  2001-07-31 15:07                         ` Marin David Condic
                                           ` (2 subsequent siblings)
  3 siblings, 0 replies; 180+ messages in thread
From: Gary Lisyansky @ 2001-07-31 14:56 UTC (permalink / raw)



"Ted Dennison" <dennison@telepath.com> wrote in message
news:Joz97.12578$ar1.38154@www.newsranger.com...
> In article <a4c0053f.0107301326.1815330c@posting.google.com>, Milan Mancel

> I have heard this so much from Ada newbies over the years (ones that I'm
pretty
> sure have *not* heard it from the others), that I begin to think there is
a
> large amount of truth in it. But I have to admit that I can't hear that
> statement without chuckling.
>
> I shouldn't laugh, because it is meant seriously. But complaining about
being
> forced to think while programming is like complaining about being forced
to
> immerse yourself while swimming; it is the very nature of the task. A real
> developer can no more sit down at a keyboard and just "hack" out a good
program
> than a real writer can just sit down at a word-processor and hack out a
good
> novel. I know some writers who actually formally outline their *emails*
before
> starting to write them. But for some reason this level of forethought is
not
> appreciated by the masses where software development is concerned.
>
> T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
>           home email - mailto:dennison@telepath.com

I think that good programming practices and languages designed to support
them (like Ada) don't go along well with the software process ideology
prevailing now in commercial development. Instead of comparatively
straitforward process (requirements -> specification -> design ->
implementation) it is centered around *frequent re- writing* of code and
early demonstrations of UI/features, followed by iterational re- design.
Quite frequently even the interdependancies of part of the project is
ignored, just to show something resembling a working application- usually a
part of functionality with no even error handling. To make things worse, the
customers/management tend to think that demonstrated features are *fully
implemented*, thus giving no time for clean- ups. In common, I would say
that parts of software process that don't produce user- visible results that
don't have PR value tend to be shunned.
Another trouble comes from RAD world. RAD tools created many "programmers"
who don't even understand how their applications actually work. They think
on the level of Forms and Event Handlers, i. e. have a heavily fragmented
vision of the program that doesn't allow them to see the system as a whole.
The "nec plus ultra" of this approach was one project where the schedule
listed only screen forms, with one month allocated per one, and totally no
mentioning of any application core.

Gary





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

* Re: How to make Ada a dominant language
  2001-07-31 14:37                       ` Ted Dennison
  2001-07-31 14:56                         ` Gary Lisyansky
@ 2001-07-31 15:07                         ` Marin David Condic
  2001-08-01  0:54                         ` David Bolen
  2001-08-01  9:11                         ` Milan Mancel
  3 siblings, 0 replies; 180+ messages in thread
From: Marin David Condic @ 2001-07-31 15:07 UTC (permalink / raw)


Well, there's something to be said for quickly hacking out some lines of
code in some settings. When I used to hack together DCL jobs to do some
basic file manipulations, etc., I didn't want to spend time considering data
types, flow of control, module structure, etc. So Ada could become a royal
pain-in-the-posterior if I was forced to use it for quick-and-dirty
command-line hacks.

But most software is larger and more serious. Someone complaining because
they are being forced to think before coding is obviously not doing their
job well. They are organically growing code rather than designing it. Not a
good thing when you get beyond - oh, what would you say? - a thousand SLOCs?
It doesn't take long before you'd better start thinking!

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/

"Ted Dennison" <dennison@telepath.com> wrote in message
news:Joz97.12578$ar1.38154@www.newsranger.com...
> In article <a4c0053f.0107301326.1815330c@posting.google.com>, Milan Mancel
> says...
> >What really puts people off Ada is that they cannot hack code like in
> >C. In Ada you have to think first. You have to think of correct types
>
> I have heard this so much from Ada newbies over the years (ones that I'm
pretty
> sure have *not* heard it from the others), that I begin to think there is
a
> large amount of truth in it. But I have to admit that I can't hear that
> statement without chuckling.
>
> I shouldn't laugh, because it is meant seriously. But complaining about
being
> forced to think while programming is like complaining about being forced
to
> immerse yourself while swimming; it is the very nature of the task. A real
> developer can no more sit down at a keyboard and just "hack" out a good
program
> than a real writer can just sit down at a word-processor and hack out a
good
> novel. I know some writers who actually formally outline their *emails*
before
> starting to write them. But for some reason this level of forethought is
not
> appreciated by the masses where software development is concerned.
>
> >What I really miss is good and short example code of every Ada concept
> >and maybe more libraries and bindings.
>
> You can find a bit of that in AdaPower's Source Code Treasury (
> http://www.adapower.com/adacode.html )
>
> ---
> T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
>           home email - mailto:dennison@telepath.com





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

* Re: How to make Ada a dominant language
  2001-07-31  6:47         ` Martin Dowie
  2001-07-31  7:10           ` Russ Paielli
@ 2001-07-31 15:32           ` Ted Dennison
  1 sibling, 0 replies; 180+ messages in thread
From: Ted Dennison @ 2001-07-31 15:32 UTC (permalink / raw)


In article <3b66520b@pull.gecm.com>, Martin Dowie says...
>
>Russ Paielli <18k11tm001@sneakemail.com> wrote in message
>news:3B6624E6.DF734E5C@sneakemail.com...
>> But "x = 4" means that, immediately after the statement is executed, x
>> indeed equals 4. I don't see a problem with using "=" for both
>
>so what does "X = X + 1" mean? This was part of the reason
>why ":=" has been used in many languages (before Ada was ever
>conceived).

This isn't an issue to gloss over either. It causes serious problems with people
who have a good foundation in math, but are just learning programming. The fact
of the matter is that an assignment is *not* a statement of assertion of
equality, as one would normally see "=" used for in any mathematical text. It is
a statement of a single replacement of value (often denoted with a left-pointing
arrow in math texts). Unless we can convince mathematicians to change the symbol
that they have been using for assertions of equality for the last 1000 years or
so (good luck over in sci.math on that one!), to aviod confusion we should
probably use it in our programming languages for the same purpose, and not for
other purposes (like assignment).

Note that Ada was perhaps the most carefully designed programming language ever.
Just about everything in the language has a good reason for the way it is, and
most of these reasons have been widely published. Thus any attempt to claim that
Ada syntax is somehow badly-thought out is quite liable to find you on the wrong
end of quite a lot of reasearch. C, for all its good qualities, was just not
carefully designed. You may be able to think up rationales to convince yourself
that C's syntax is better in some circumstances. But if you try to seriously
argue them *here*, you are bringing a knife to a gunfight. :-)

It is true that the syntax is not C's, and that may be a Bad Thing to those used
to C (and no other style of syntax), but that's pretty much where the complaint
has to stop.

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



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

* Re: How to make Ada a dominant language
  2001-07-31  8:51         ` Florian Weimer
@ 2001-07-31 16:16           ` Darren New
  2001-07-31 16:20             ` Florian Weimer
  0 siblings, 1 reply; 180+ messages in thread
From: Darren New @ 2001-07-31 16:16 UTC (permalink / raw)


> That's why at least one Ada compiler optionally checks indentation and
> refuses to compile code with confusing and inconsistent indentation.

So how does it deal with the tab/space problem? Why's that a problem for
Python and not for the Ada indentation-checking tools?

-- 
Darren New / Senior MTS & Free Radical / Invisible Worlds Inc.
San Diego, CA, USA (PST). Cryptokeys on demand. dnew@san.rr.com
          Only a WIMP puts wallpaper on his desktop.



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

* Re: How to make Ada a dominant language
  2001-07-31 16:16           ` Darren New
@ 2001-07-31 16:20             ` Florian Weimer
  2001-07-31 16:53               ` Darren New
  0 siblings, 1 reply; 180+ messages in thread
From: Florian Weimer @ 2001-07-31 16:20 UTC (permalink / raw)


Darren New <dnew@san.rr.com> writes:

> > That's why at least one Ada compiler optionally checks indentation and
> > refuses to compile code with confusing and inconsistent indentation.
> 
> So how does it deal with the tab/space problem? Why's that a problem for
> Python and not for the Ada indentation-checking tools?

Tab characters are not valid source code characters if this compiler
option is activated.



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

* Re: How to make Ada a dominant language
  2001-07-31 16:20             ` Florian Weimer
@ 2001-07-31 16:53               ` Darren New
  2001-07-31 17:10                 ` Preben Randhol
  2001-08-01  0:21                 ` David Bolen
  0 siblings, 2 replies; 180+ messages in thread
From: Darren New @ 2001-07-31 16:53 UTC (permalink / raw)


> > So how does it deal with the tab/space problem? Why's that a problem for
> > Python and not for the Ada indentation-checking tools?
 
> Tab characters are not valid source code characters if this compiler
> option is activated.

FWIW, Python's approach is to forbid mixing of tabs and spaces in the
same indent block. I.e., you can use some number of tabs per indent, or
some number of spaces per indent, but not both. ITabs vs spaces is
actually a pretty rare complaint, judging from the python newsgroup.

-- 
Darren New / Senior MTS & Free Radical / Invisible Worlds Inc.
San Diego, CA, USA (PST). Cryptokeys on demand. dnew@san.rr.com
          Only a WIMP puts wallpaper on his desktop.



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

* Re: How to make Ada a dominant language
  2001-07-31 16:53               ` Darren New
@ 2001-07-31 17:10                 ` Preben Randhol
  2001-07-31 17:28                   ` Darren New
  2001-08-01  0:21                 ` David Bolen
  1 sibling, 1 reply; 180+ messages in thread
From: Preben Randhol @ 2001-07-31 17:10 UTC (permalink / raw)


On Tue, 31 Jul 2001 16:53:43 GMT, Darren New wrote:
> FWIW, Python's approach is to forbid mixing of tabs and spaces in the
> same indent block. I.e., you can use some number of tabs per indent, or
> some number of spaces per indent, but not both. ITabs vs spaces is
> actually a pretty rare complaint, judging from the python newsgroup.

Sounds like a recipe for a big mess if the source code is edited by
several individuals with different editors. Say one use emacs and
another vim. The first uses tabs and the latter have turned on the
option to turn tabs into spaces for instance...

Preben
-- 
�Don't use C;  In my opinion,  C is a library programming language
 not an app programming language.�  - Owen Taylor (GTK+ developer)

Use Ada 95, a free language. More info at http://www.adapower.com/



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

* Re: How to make Ada a dominant language
  2001-07-31 17:10                 ` Preben Randhol
@ 2001-07-31 17:28                   ` Darren New
  2001-08-01 16:55                     ` Florian Weimer
  0 siblings, 1 reply; 180+ messages in thread
From: Darren New @ 2001-07-31 17:28 UTC (permalink / raw)


> Sounds like a recipe for a big mess if the source code is edited by
> several individuals with different editors. Say one use emacs and
> another vim. The first uses tabs and the latter have turned on the
> option to turn tabs into spaces for instance...

The same would be true of the Ada command switch, yes? "Doctor, doctor,
it hurts when I do this!"

Anyway, this *is* caught at compile time in Python, so it's probably not
that big a deal.

-- 
Darren New / Senior MTS & Free Radical / Invisible Worlds Inc.
San Diego, CA, USA (PST). Cryptokeys on demand. dnew@san.rr.com
          Only a WIMP puts wallpaper on his desktop.



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

* Re: How to make Ada a dominant language
  2001-07-31  4:01                 ` Russ Paielli
@ 2001-07-31 17:31                   ` Brian Rogoff
  0 siblings, 0 replies; 180+ messages in thread
From: Brian Rogoff @ 2001-07-31 17:31 UTC (permalink / raw)


On Mon, 30 Jul 2001, Russ Paielli wrote:
> Brian Rogoff wrote:
> > On Mon, 30 Jul 2001, Russ Paielli wrote:
> > > I am new to Ada, and I believe that gives me a certain perspective that
> > > Ada veterans lack.
> > 
> > That's true. Do you also acknowledge that people with more experience may
> > have a certain perspective that you lack?
> 
> Of course I do. I have no doubt they know more about Ada than I do, but
> I also have no doubt that they have unwittingly conditioned themselves
> to overlook the cosmetic warts of the language.

That's a profoundly stupid statement. Using a similar argument, any expert
opinion is now rendered inferior to that of a newbie!

I suspect I know Ada better than you do right now. Believe it ot not, I
also know several other languages, some of which I consider better than
Ada for certain tasks. The other languages have different syntaxes than 
Ada, some are popular, some not. I'm not hopelessly enamored of Ada
syntax, as you seem to think all Ada programmers are. Stop assuming other 
people are somehow broken, and *listen* to why they disagree with you. 

Python didn't get successful on account of its syntax, but mainly (IMO of 
course) because Perl is so especially ugly that a large group of script 
users was ready to jump on practically anything useful, and Python was 
there "firstest with the mostest". Icon was certainly before Python, but 
it lacked a really useful system interface. Ruby is also becoming popular; 
maybe it will pass Python one day. Who knows? 

> > No such thing as "the best programming language". The criticism isn't
> > really all irrelevant, either. IMO, if you want to make Ada more
> > successful just write tools that you want (in Ada of course) and make the
> > source available under some open source license. It's just a question of
> > making the activation energy for choosing Ada low enough...
> 
> Good luck, but you may have even more of an uphill battle than I have.
> :')

No, Ada is slowly becoming a bit more popular, and more code is open
sourced. So there is a very slight chance that in a few years (5-7?) 
Ada will achieve sufficient (for me :) popularity outside of the DoD. 

Yours quest is quixotic, to say the least. Have fun doing battle with
those giants! ;-)

-- Brian





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

* Re: How to make Ada a dominant language
  2001-07-31  8:29     ` Florian Weimer
@ 2001-07-31 20:34       ` Keith Thompson
  0 siblings, 0 replies; 180+ messages in thread
From: Keith Thompson @ 2001-07-31 20:34 UTC (permalink / raw)


Florian Weimer <fw@deneb.enyo.de> writes:
> Russ Paielli <18k11tm001@sneakemail.com> writes:
[...]
> > What's so great about ":="? Why not use "$=" or "%="?
> 
> ':=' was already used to denote assignent even before programming
> languages existed.

Is that true?  I would have assumed that the concept of assignment
didn't exist, or at least wasn't very widespread, before programming
languages existed.  Equality assertions using "=" are far more common
in mathematics.

I had thought that assignment was originally indicated with an arrow
(like "<-", but a single character), then changed to ":=" because
there was no arrow character in the character set being used at the
time (an ancestor of ASCII).  This probably goes back to Algol,
perhaps earlier.

(If I weren't so lazy, I'd look it up in my History of Programming
Languages book; perhaps I will later if this thread doesn't die out.)

-- 
Keith Thompson (The_Other_Keith) kst@cts.com  <http://www.ghoti.net/~kst>
San Diego Supercomputer Center           <*>  <http://www.sdsc.edu/~kst>
Cxiuj via bazo apartenas ni.



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

* Re: How to make Ada a dominant language
  2001-07-31  3:37                       ` Russ Paielli
@ 2001-07-31 20:36                         ` Milan Mancel
  0 siblings, 0 replies; 180+ messages in thread
From: Milan Mancel @ 2001-07-31 20:36 UTC (permalink / raw)


Russ Paielli <18k11tm001@sneakemail.com> wrote in message news:<3B6627F7.8B1CC237@sneakemail.com>...

> Milan Mancel wrote:

> 
>     integer: x = 1
> 
> looks like
> 
>     x = 1
> 
> but
> 
>     x: integer := 1;
> 
> does not look like
> 
>     x := 1;


Definitely it is matter of personal taste, some like it some not.
Truth is that sometimes after all day long spent in Java and C++ it is
hard to switch to this style :)

> 
> > I think if someone is not able to grasp this simple thing will not be
> > able understand more important parts of Ada and it is good for him/her
> > not to try further.
> 
> OK, I give up.
> 

I did not meant offense, just wanted to say that there are more
important things to focus on.

> > 
> > If you want indentation part of the language, just use command line
> > switch in gnatmake and incorrect indentation will generate an style
> > error - so you are forced to use the right style.
> 
> I didn't realize that. Why not go a step further and MANDATE the right
> structure? It would be consistent with the general Ada philosophy of
> mandating daily flossing and other good habits.
> 

Well, that is not that bad idea, but I am afraid that it will break
old code.  Maybe to make style checks as default and only for
compatibility with old code use switch
-backwards-compatibility-indentation. And I do not know if other
compilers can check indentation too.

The switch is:

  -gnaty    Enable all style checks
  -gnatyxxx Enable selected style checks xxx = list of parameters:
        1-9  check indentation
        b    check no blanks at end of lines
        c    check comment format
        e    check end labels present
        f    check no form feeds/vertical tabs in source
        h    check no horizontal tabs in source
        i    check if-then layout
        k    check casing rules for keywords, identifiers
        m    check line length <= 79 characters
        Mnnn check line length <= nnn characters
        r    check RM column layout
        s    check separate subprogram specs present
        t    check token separation rules


(I personnaly hate casing rules for identifiers)


   Milan



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

* Re: How to make Ada a dominant language
  2001-07-30  7:08 Russ
                   ` (5 preceding siblings ...)
  2001-07-31  8:03 ` Keith Thompson
@ 2001-08-01  0:00 ` Stanley R. Allen
  2001-08-01  2:29 ` Russ
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 180+ messages in thread
From: Stanley R. Allen @ 2001-08-01  0:00 UTC (permalink / raw)


Russ wrote:
> 
> The Ada programming language is based on an excellent fundamental
> design, but it is much less popular than it could be because it has an
> awkward, "klunky" syntax. I propose to clean up the syntax by
> borrowing from Python. Python is very popular high level "scripting"
> language with a reputation for promoting clean, clear code.
> 
> Here are the syntax changes I propose:
> 
> 1. 

Russ:

Your proposals lead me to believe that you have yet to spend much time
programming with Ada.  By your own admission, you are 'new to Ada'.
I recommend getting more familiar with the language, perhaps absorbing
the Rationale and/or one of the deeper textbooks, and working on some
medium-sized programming projects.  You may find that once you get deeper
with the language, you won't feel so disappointed with the syntax.

Also, it would help if you learn more about the history of Ada.  You will find
that multiple attempts have been made in a number of directions to try to
increase Ada's popularity.  Ada's been around for over 18 years, and better
reasons for its successes and setbacks have been repeatedly discussed in
this and other publicly available forums.

--
Stanley Allen
mailto:Stanley_R_Allen-NR@Raytheon.com



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

* Re: How to make Ada a dominant language
  2001-07-31 16:53               ` Darren New
  2001-07-31 17:10                 ` Preben Randhol
@ 2001-08-01  0:21                 ` David Bolen
  2001-08-01  3:33                   ` David Bolen
  1 sibling, 1 reply; 180+ messages in thread
From: David Bolen @ 2001-08-01  0:21 UTC (permalink / raw)


Darren New <dnew@san.rr.com> writes:

> > > So how does it deal with the tab/space problem? Why's that a problem for
> > > Python and not for the Ada indentation-checking tools?
>  
> > Tab characters are not valid source code characters if this compiler
> > option is activated.
> 
> FWIW, Python's approach is to forbid mixing of tabs and spaces in the
> same indent block. I.e., you can use some number of tabs per indent, or
> some number of spaces per indent, but not both. ITabs vs spaces is
> actually a pretty rare complaint, judging from the python newsgroup.

Actually, that's not technically Python's approach.  The compiler in
Python has well-defined rules for handling tabs and spaces.  The
parser treats a tab as aligning with the next multiple-of-8 boundary.

The problems tend to arise when people reprogram their editors to use
some non-parser-compliant spread for tab characters, then let the
literal tabs get inserted into the source, and then intermix tabs and
spaces.  The non-standard interval itself is fine if you stick with
tabs (since beyond the parser Python only cares that indentation is
consistent, not how much it is), but the mixture ends up with the
editor showing block structure that doesn't match how the parser will
see it.

In the end, the general concensus is to just stick with spaces (the
major Python editing environments handle this for you transparently).

Given that code written in other languages almost always tends to be
block oriented and formatted, even when the language itself doesn't
care about the block structure, it's really just formalizing something
that well written code exhibits anyway, and reduces the variations on
a theme that you can see in other language code.  By and large, it's
really a non-issue, albeit one that can cause vociferous arguments,
particularly among those just starting to look at Python.

But I would think there's plenty of better points of comparisons with
Python than indentation - and no, I don't personally think Ada would
be better off adopting a whole bunch of Pythonisms.  Both languages
are useful, and to be honest, could probably be quite synergistic in
many applications.  It's already quite common to have a mixture of
Python and C/C++ in applications, and there's no good reason why Ada
couldn't be in the mix instead.

--
-- David
-- 
/-----------------------------------------------------------------------\
 \               David Bolen            \   E-mail: db3l@fitlinxx.com  /
  |             FitLinxx, Inc.            \  Phone: (203) 708-5192    |
 /  860 Canal Street, Stamford, CT  06902   \  Fax: (203) 316-5150     \
\-----------------------------------------------------------------------/



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

* Re: How to make Ada a dominant language
  2001-07-31 14:37                       ` Ted Dennison
  2001-07-31 14:56                         ` Gary Lisyansky
  2001-07-31 15:07                         ` Marin David Condic
@ 2001-08-01  0:54                         ` David Bolen
  2001-08-01 13:17                           ` Ted Dennison
  2001-08-01  9:11                         ` Milan Mancel
  3 siblings, 1 reply; 180+ messages in thread
From: David Bolen @ 2001-08-01  0:54 UTC (permalink / raw)


Ted Dennison<dennison@telepath.com> writes:

> I shouldn't laugh, because it is meant seriously. But complaining
> about being forced to think while programming is like complaining
> about being forced to immerse yourself while swimming; it is the
> very nature of the task. A real developer can no more sit down at a
> keyboard and just "hack" out a good program than a real writer can
> just sit down at a word-processor and hack out a good novel. I know
> some writers who actually formally outline their *emails* before
> starting to write them. But for some reason this level of
> forethought is not appreciated by the masses where software
> development is concerned.

Of course, real writers certainly go through drafts and often write in
a stream-of-consciousness just to get down their thoughts, so that
might be a bit strained of an analogy.

I don't think it has to be an either/or situation - iterative,
evolutionary development (and even something like XP) has its merits
just as does a more classical, staged development (although I must
admit a bias in not being the biggest fan of strict waterfall).

I do cringe when I think of all those VB programmers (of which I am
not one, although I work with them) considering an application to be
nothing more than snippets of code associated with GUI elements, but
in some environments (hopefully small ones :-)), it can be both a
practical and efficient means to an end.  And good programs come in
all sizes, and "goodness" has many dimensions.

Note also that an evolutionary development strategy need not preclude
an overall architecture or system design, but can build on a framework
to flesh out that design over time while still producing measurable
and testable intermediate results.  Just because you're producing some
basic functionality sooner doesn't mean you aren't aiming at the same
overall design, and in fact the iterations can help prevent design
mistakes (or malformed requirements) from showing up very late in the
game.

Does that preclude a more formal approach in other cases?  Of course
not.  But I think it's crucial that a real developer today understand
more than just one approach to application design and development, and
more importantly, be able to weigh the pros and cons in the context of
any given situation.  Given the breadth of environments within which
software is used today, I don't think that one size fits all, nor that
one language fits all.  Then again, maybe that was never true :-)

--
-- David
-- 
/-----------------------------------------------------------------------\
 \               David Bolen            \   E-mail: db3l@fitlinxx.com  /
  |             FitLinxx, Inc.            \  Phone: (203) 708-5192    |
 /  860 Canal Street, Stamford, CT  06902   \  Fax: (203) 316-5150     \
\-----------------------------------------------------------------------/



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

* Re: How to make Ada a dominant language
  2001-07-31  3:24       ` Russ Paielli
  2001-07-31  6:47         ` Martin Dowie
  2001-07-31 11:16         ` David Gillon
@ 2001-08-01  1:25         ` Adrian Hoe
  2001-08-01  4:25           ` Russ
  2001-08-01 10:08         ` AG
  3 siblings, 1 reply; 180+ messages in thread
From: Adrian Hoe @ 2001-08-01  1:25 UTC (permalink / raw)


Russ Paielli <18k11tm001@sneakemail.com> wrote in message news:<3B6624E6.DF734E5C@sneakemail.com>...
> Adrian Hoe wrote:
> > 
> > Russ Paielli <18k11tm001@sneakemail.com> wrote in message news:<3B6555ED.9B0B0420@sneakemail.com>...
> > >
> > > Because "=" is the simplest fricking symbol that could possibly be used
> > > for assignment. Why is this so hard for Ada programmers to understand?
> > > What's so great about ":="? Why not use "$=" or "%="?
> > 
> > "=" means equal. "IF A = 0 THEN" reads as "if A equals 0 then" and
> > ":=" means assignment.
> 
> But "x = 4" means that, immediately after the statement is executed, x
> indeed equals 4. I don't see a problem with using "=" for both
> assignment AND equality testing (am I missing something?). In Python,
> the classic C problem of using "=" when you mean "==" is avoided by
> simply not allowing assignment within an if test. Seems like a simple
> solution to me. In Ada, the compiler would tell you if you get it wrong.

"=" and ":=" are used to differentiate a condition and assignment
respectively. Someone in the later post mentioned that "=" has
mathematical interpretation and "==" does not. The same goes to ":=".

Take a look at the code (proposed new Ada):

if A = 0 then
   A = 1;
end if;

rather than (the original Ada):

if A = 0 then
   A := 1;
end if;

Which is clearer? The use of ":=" has the purposeful meaning in
avoiding confusions in apes like us. Certainly, there is no big deal
with a compiler.



> > > What I am proposing would not make programs "less readable." It would
> > > make them MORE readable, especially for new Ada programmers. If
> > > long-time Ada programmers are unable to see that, I believe Ada will
> > > become an obscure niche language, like HAL or Jovial. That would be a
> > > terrible shame, because Ada has excellent fundamentals and could become
> > > a dominant language.
> > 
> > Honestly, if you think Ada already has excellent fundamentals, why
> > border a change?
> 
> Because I'd like to have a language that has both excellent fundamentals
> AND a clear, minimal syntax. I want it all. And I'm a compulsive
> minimalist, I guess. It bothers me to see ":=" when "=" will do the job,
> because it's not minimal. I'm also a fricking perfectionist--just ask my
> wife. :-)


I am a perfectionist myself and you don't have to ask my wife. You can
see the way I work (if you can see now). To achieve perfection, one
has to achieve and maintain balance. Too much preferences on one side
becomes extremist.

Can you have a safe and economic sports car capable of 0-100km/h in 2
seconds and a top speed of 1000km/h? You will have to risk your life
to be in the car if such car exists. (In fact, some prototypes have
already achieved Mach 1.)

If such car exists, it will be a technology breakthrough. A blink of
your eye or a jerk in your hand can bring disasters. The example above
illustrate this scenario. The compiler will just compile whatever you
feed but human is the major contributor of mistakes.

This analogy = your proposed Ada.

Adrian Hoe

> Russ



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

* Re: How to make Ada a dominant language
  2001-07-30  7:08 Russ
                   ` (6 preceding siblings ...)
  2001-08-01  0:00 ` Stanley R. Allen
@ 2001-08-01  2:29 ` Russ
  2001-08-01  7:10   ` Adrian Hoe
                     ` (6 more replies)
  2001-08-01  2:35 ` Mike Silva
  2001-08-01  4:23 ` raj
  9 siblings, 7 replies; 180+ messages in thread
From: Russ @ 2001-08-01  2:29 UTC (permalink / raw)


Well, I guess I touched some raw nerves with my proposal to clean up
Ada's syntax. I certainly appreciate the feedback.

I have come to the conclusion that my first item (eliminating the "end"
keyword and making the indentation structure an inherent part of the
syntax, as in Python) is NOT a good idea after all. The "end" lines
really do help with readability, particularly for long procedures that
end on a different page than they started.

However, I still stand by the other items in my proposal. I think
semicolons should be essentially eliminated, and I think "=" should be
used for assignment and named association. I also still think the
declaration syntax should be reversed. By the way, someone correctly
pointed out that what I am proposing has a lot in common with Fortran
95.

Furthermore, I think the idea of having another "dialect" of Ada is an
innovative concept with real potential. If you reject it out hand, you
simply have a closed mind.

Most of the replies I received on this thread were very reasonable. A
recurring theme, however, was that syntax is trivial and not worth
discussing. I understand that the syntax is not the most important
aspect of a language, but that doesn't mean it is not worth discussing
or improving.

I have a colleague who started programming in Fortran way back in the
sixties (maybe even the fifties). He is a master algorithm developer and
programmer. His code is meticulously correct, efficient, and minimal.
When I introduced him to C and C++ several years ago, he was amazed that
he had to clutter his code with all those semicolons and constantly put
up with the compiler's nagging when one is left out. He adapted, of
course, but his initial reaction was right. All those semicolons are
nothing more than a lot of noise. They are litter in your code, and if
you never minded them at all, then your code is probably filled with
lots of other litter too. If so, I hope it is not being used in any
safety-critical systems.

Russ Paielli



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

* Re: How to make Ada a dominant language
  2001-07-30  7:08 Russ
                   ` (7 preceding siblings ...)
  2001-08-01  2:29 ` Russ
@ 2001-08-01  2:35 ` Mike Silva
  2001-08-01  4:32   ` Russ
  2001-08-01  4:23 ` raj
  9 siblings, 1 reply; 180+ messages in thread
From: Mike Silva @ 2001-08-01  2:35 UTC (permalink / raw)


18k11tm001@sneakemail.com (Russ) wrote in message news:<bebbba07.0107292308.d1192fc@posting.google.com>...
> The Ada programming language is based on an excellent fundamental
> design, but it is much less popular than it could be because it has an
> awkward, "klunky" syntax. I propose to clean up the syntax by
> borrowing from Python. Python is very popular high level "scripting"
> language with a reputation for promoting clean, clear code. The new
> syntax could be translated into Ada95 syntax with a relatively simple
> "preprocessor," so existing compilers could still be used, old code
> would continue to work, and programmers could continue to use the old
> syntax if they wish.
> 
> Here are the syntax changes I propose:

<snipped...>

Alright, personal testimony time...

I discovered Ada a few years ago, coming from two decades of C and
later C++.  It never occurred to me that Ada should look like C (or
Python, or ???), and I don't understand why some people make such an
issue about it.  I don't find the syntax awkward or klunky at all.  I
find that I enjoy reading Ada source code, kind of like looking at the
innards of a fine machine.  Ada source has a nice flow to it -- it
doesn't cram too much symbolic information into too little space. 
When I go back to some well-packed C source I get annoyed that I have
to concentrate so much harder to pick apart the pieces.  In the end it
takes me more time to comprehend the fewer characters.  (OK, I do
still miss [], but it's a very small price indeed.)

All this concern about typing a few extra characters makes no sense to
me.  My guess is that it's just part of the larger "no time to think,
gotta start coding!" mentality of so many programmers (I know, I've
still not completely shaken the virus myself).  Sometimes I think we'd
have a great boost in software quality if we'd just force programmers
to type only with their index fingers.

Mike



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

* Re: How to make Ada a dominant language
  2001-08-01  0:21                 ` David Bolen
@ 2001-08-01  3:33                   ` David Bolen
  0 siblings, 0 replies; 180+ messages in thread
From: David Bolen @ 2001-08-01  3:33 UTC (permalink / raw)


A bit of bad form to follow up on my own posting, but I previously wrote:

> Given that code written in other languages almost always tends to be
> block oriented and formatted (...)

Before too many people pick on it, clearly there are also languages
which dictate a non-block format, so I shouldn't have phrased the
above so generally.

--
-- David
-- 
/-----------------------------------------------------------------------\
 \               David Bolen            \   E-mail: db3l@fitlinxx.com  /
  |             FitLinxx, Inc.            \  Phone: (203) 708-5192    |
 /  860 Canal Street, Stamford, CT  06902   \  Fax: (203) 316-5150     \
\-----------------------------------------------------------------------/



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

* Re: How to make Ada a dominant language
  2001-07-30  7:08 Russ
                   ` (8 preceding siblings ...)
  2001-08-01  2:35 ` Mike Silva
@ 2001-08-01  4:23 ` raj
  9 siblings, 0 replies; 180+ messages in thread
From: raj @ 2001-08-01  4:23 UTC (permalink / raw)


On 30 Jul 2001 00:08:56 -0700, 18k11tm001@sneakemail.com (Russ) wrote:

>The Ada programming language is based on an excellent fundamental
>design, but it is much less popular than it could be because it has an
>awkward, "klunky" syntax. I propose to clean up the syntax by
>borrowing from Python. Python is very popular high level "scripting"
>language with a reputation for promoting clean, clear code. The new
>syntax could be translated into Ada95 syntax with a relatively simple
>"preprocessor," so existing compilers could still be used, old code
>would continue to work, and programmers could continue to use the old
>syntax if they wish.
>
>Here are the syntax changes I propose:

Why not just use a modern language instead ?



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

* Re: How to make Ada a dominant language
  2001-08-01  1:25         ` Adrian Hoe
@ 2001-08-01  4:25           ` Russ
  2001-08-01  8:22             ` MALAISE Pascal
                               ` (2 more replies)
  0 siblings, 3 replies; 180+ messages in thread
From: Russ @ 2001-08-01  4:25 UTC (permalink / raw)


Adrian Hoe wrote:
> 
> Russ Paielli <18k11tm001@sneakemail.com> wrote in message news:<3B6624E6.DF734E5C@sneakemail.com>...
> > Adrian Hoe wrote:
> > >
> > > Russ Paielli <18k11tm001@sneakemail.com> wrote in message news:<3B6555ED.9B0B0420@sneakemail.com>...
> > > >
> > > > Because "=" is the simplest fricking symbol that could possibly be used
> > > > for assignment. Why is this so hard for Ada programmers to understand?
> > > > What's so great about ":="? Why not use "$=" or "%="?
> > >
> > > "=" means equal. "IF A = 0 THEN" reads as "if A equals 0 then" and
> > > ":=" means assignment.
> >
> > But "x = 4" means that, immediately after the statement is executed, x
> > indeed equals 4. I don't see a problem with using "=" for both
> > assignment AND equality testing (am I missing something?). In Python,
> > the classic C problem of using "=" when you mean "==" is avoided by
> > simply not allowing assignment within an if test. Seems like a simple
> > solution to me. In Ada, the compiler would tell you if you get it wrong.
> 
> "=" and ":=" are used to differentiate a condition and assignment
> respectively. Someone in the later post mentioned that "=" has
> mathematical interpretation and "==" does not. The same goes to ":=".
> 
> Take a look at the code (proposed new Ada):
> 
> if A = 0 then
>    A = 1;
> end if;
> 
> rather than (the original Ada):
> 
> if A = 0 then
>    A := 1;
> end if;

I think Python has an extremely simple solution to this so-called
"problem". Python simply disallows assignment inside an "if"
conditional. This whole "problem" is only a symptom of the
short-sightednes of C. (That should score me some points!)

> Which is clearer? The use of ":=" has the purposeful meaning in
> avoiding confusions in apes like us. Certainly, there is no big deal
> with a compiler.

Good. Then let the compiler warn you.

Russ



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

* Re: How to make Ada a dominant language
  2001-08-01  2:35 ` Mike Silva
@ 2001-08-01  4:32   ` Russ
  2001-08-01  4:56     ` Ed Falis
  0 siblings, 1 reply; 180+ messages in thread
From: Russ @ 2001-08-01  4:32 UTC (permalink / raw)


Mike Silva wrote:
> 
> 18k11tm001@sneakemail.com (Russ) wrote in message news:<bebbba07.0107292308.d1192fc@posting.google.com>...
> > The Ada programming language is based on an excellent fundamental
> > design, but it is much less popular than it could be because it has an
> > awkward, "klunky" syntax. I propose to clean up the syntax by
> > borrowing from Python. Python is very popular high level "scripting"
> > language with a reputation for promoting clean, clear code. The new
> > syntax could be translated into Ada95 syntax with a relatively simple
> > "preprocessor," so existing compilers could still be used, old code
> > would continue to work, and programmers could continue to use the old
> > syntax if they wish.
> >
> > Here are the syntax changes I propose:
> 
> <snipped...>
> 
> Alright, personal testimony time...
> 
> I discovered Ada a few years ago, coming from two decades of C and
> later C++.  It never occurred to me that Ada should look like C (or
> Python, or ???), and I don't understand why some people make such an
> issue about it.  I don't find the syntax awkward or klunky at all.  I
> find that I enjoy reading Ada source code, kind of like looking at the
> innards of a fine machine.  Ada source has a nice flow to it -- it
> doesn't cram too much symbolic information into too little space.
> When I go back to some well-packed C source I get annoyed that I have
> to concentrate so much harder to pick apart the pieces.  In the end it
> takes me more time to comprehend the fewer characters.  (OK, I do
> still miss [], but it's a very small price indeed.)
> 
> All this concern about typing a few extra characters makes no sense to
> me.  My guess is that it's just part of the larger "no time to think,
> gotta start coding!" mentality of so many programmers (I know, I've
> still not completely shaken the virus myself).  Sometimes I think we'd
> have a great boost in software quality if we'd just force programmers
> to type only with their index fingers.
> 
> Mike

Like so many of the other posters here, you are missing the point. I am
not suggesting for a minute that C has a better syntax. Nor am I
suggesting that the amount of typing is the issue. The issue is
extraneous clutter in the code. 99% of semicolons are extraneous
clutter. Many languages, such as Python and Fortran 95 manage just fine
without them. And, for Pete's sake, NO I am not suggesting that Fortran
95 is better overall than Ada!

Russ



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

* Re: How to make Ada a dominant language
  2001-08-01  4:32   ` Russ
@ 2001-08-01  4:56     ` Ed Falis
  2001-08-01 10:21       ` AG
  0 siblings, 1 reply; 180+ messages in thread
From: Ed Falis @ 2001-08-01  4:56 UTC (permalink / raw)


Russ wrote:

> Like so many of the other posters here, you are missing the point. I am
> not suggesting for a minute that C has a better syntax. Nor am I
> suggesting that the amount of typing is the issue. The issue is
> extraneous clutter in the code. 99% of semicolons are extraneous
> clutter. Many languages, such as Python and Fortran 95 manage just fine
> without them. And, for Pete's sake, NO I am not suggesting that Fortran
> 95 is better overall than Ada!
> 
> Russ

Actually, Eiffel takes some interesting middle ground between Ada and
what you propose syntactically.  Semicolons are optional except when
multiple statements appear on the same line.  The subprogram and "block"
syntax is somewhat more streamlined.

But it stills uses := for assignment, which you probably won't like ;-)

You might want to check it out.  It's my #2 language. 

As far as Ada goes, I think the syntax is one of its major features, and
one of the things that Ichbiah was rightly proud of.  Can't argue taste,
I suppose.

- Ed



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

* Re: How to make Ada a dominant language
  2001-08-01  2:29 ` Russ
@ 2001-08-01  7:10   ` Adrian Hoe
  2001-08-01  7:33     ` Russ
  2001-08-01  7:13   ` Adrian Hoe
                     ` (5 subsequent siblings)
  6 siblings, 1 reply; 180+ messages in thread
From: Adrian Hoe @ 2001-08-01  7:10 UTC (permalink / raw)


Russ <18k11tm001@sneakemail.com> wrote in message news:<3B676974.C80C72E5@sneakemail.com>...
> Well, I guess I touched some raw nerves with my proposal to clean up
> Ada's syntax. I certainly appreciate the feedback.
> 
> I have come to the conclusion that my first item (eliminating the "end"
> keyword and making the indentation structure an inherent part of the
> syntax, as in Python) is NOT a good idea after all. The "end" lines
> really do help with readability, particularly for long procedures that
> end on a different page than they started.
> 
> However, I still stand by the other items in my proposal. I think
> semicolons should be essentially eliminated, 

I still think a semicolon is nice It serves as a punctuation
indicating an end of the statement and the beginning of next How does
this paragraph looks like to you Taking away punctuations from written
text makes reading difficult Certainly people will likely to make
mistake while reading This is an analogy example to your proposition
to remove semicolon from Ada

I think punctuation is nice. It makes life easier! And so is emoticons
:)

Adrian Hoe

> Russ Paielli



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

* Re: How to make Ada a dominant language
  2001-08-01  2:29 ` Russ
  2001-08-01  7:10   ` Adrian Hoe
@ 2001-08-01  7:13   ` Adrian Hoe
  2001-08-01 14:09     ` Marin David Condic
  2001-08-01  7:19   ` Adrian Hoe
                     ` (4 subsequent siblings)
  6 siblings, 1 reply; 180+ messages in thread
From: Adrian Hoe @ 2001-08-01  7:13 UTC (permalink / raw)


Russ <18k11tm001@sneakemail.com> wrote in message news:<3B676974.C80C72E5@sneakemail.com>...
> 
> Furthermore, I think the idea of having another "dialect" of Ada is an
> innovative concept with real potential. If you reject it out hand, you
> simply have a closed mind.

Resistance is futile... (I can't remember which movies... Anyone?)

Adrian Hoe


> Russ Paielli



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

* Re: How to make Ada a dominant language
  2001-08-01  2:29 ` Russ
  2001-08-01  7:10   ` Adrian Hoe
  2001-08-01  7:13   ` Adrian Hoe
@ 2001-08-01  7:19   ` Adrian Hoe
  2001-08-01  9:51   ` Preben Randhol
                     ` (3 subsequent siblings)
  6 siblings, 0 replies; 180+ messages in thread
From: Adrian Hoe @ 2001-08-01  7:19 UTC (permalink / raw)


Russ <18k11tm001@sneakemail.com> wrote in message news:<3B676974.C80C72E5@sneakemail.com>...
> Most of the replies I received on this thread were very reasonable. A
> recurring theme, however, was that syntax is trivial and not worth
> discussing. I understand that the syntax is not the most important
> aspect of a language, but that doesn't mean it is not worth discussing
> or improving.

Errr. Mistake! Syntax and lexical are the fundamental building blocks
of any languages, natural or computer.

Adrian Hoe


> Russ Paielli



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

* Re: How to make Ada a dominant language
  2001-08-01  7:10   ` Adrian Hoe
@ 2001-08-01  7:33     ` Russ
  2001-08-01 15:00       ` Adrian Hoe
  0 siblings, 1 reply; 180+ messages in thread
From: Russ @ 2001-08-01  7:33 UTC (permalink / raw)


Adrian Hoe wrote:
> 
> Russ <18k11tm001@sneakemail.com> wrote in message news:<3B676974.C80C72E5@sneakemail.com>...
> > Well, I guess I touched some raw nerves with my proposal to clean up
> > Ada's syntax. I certainly appreciate the feedback.
> >
> > I have come to the conclusion that my first item (eliminating the "end"
> > keyword and making the indentation structure an inherent part of the
> > syntax, as in Python) is NOT a good idea after all. The "end" lines
> > really do help with readability, particularly for long procedures that
> > end on a different page than they started.
> >
> > However, I still stand by the other items in my proposal. I think
> > semicolons should be essentially eliminated,
> 
> I still think a semicolon is nice It serves as a punctuation
> indicating an end of the statement and the beginning of next How does
> this paragraph looks like to you Taking away punctuations from written
> text makes reading difficult Certainly people will likely to make
> mistake while reading This is an analogy example to your proposition
> to remove semicolon from Ada

But if almost every sentence were on a separate line, you wouldn't need
punctuation to mark their end. Besides that; I think; too many;
punctuation marks; make text; look cluttered; What; do; you; think?; ;')

Russ



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

* Re: How to make Ada a dominant language
  2001-08-01  4:25           ` Russ
@ 2001-08-01  8:22             ` MALAISE Pascal
  2001-08-01  9:34             ` Preben Randhol
  2001-08-01 13:48             ` Stefan Nobis
  2 siblings, 0 replies; 180+ messages in thread
From: MALAISE Pascal @ 2001-08-01  8:22 UTC (permalink / raw)


Russ wrote:

> I think Python has an extremely simple solution to this so-called
> "problem". Python simply disallows assignment inside an "if"
> conditional.
Does Python allow assignement in some other instructions, like a return
statement?
What about "return(A=5)"?
Does the reader (and the compiler) have to check the return type of the
function to know if the value is boolean (A = 5) or integer (5, also
assigned to A)?
This would be very ambiguous.
 
-- 
Pascal MALAISE      Thales ATM - PHIDIAS - MW    Tel: +33 5 62 14 56 26
(prof) mailto:Pascal_MALAISE@stna.dgac.fr        Fax: +33 5 62 14 57 23
(priv) mailto:malaise@magic.fr



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

* Re: How to make Ada a dominant language
  2001-07-31 14:37                       ` Ted Dennison
                                           ` (2 preceding siblings ...)
  2001-08-01  0:54                         ` David Bolen
@ 2001-08-01  9:11                         ` Milan Mancel
  2001-08-01 12:06                           ` Larry Hazel
                                             ` (2 more replies)
  3 siblings, 3 replies; 180+ messages in thread
From: Milan Mancel @ 2001-08-01  9:11 UTC (permalink / raw)


Ted Dennison<dennison@telepath.com> wrote in message news:<Joz97.12578$ar1.38154@www.newsranger.com>...
> In article <a4c0053f.0107301326.1815330c@posting.google.com>, Milan Mancel
> says...
> >What really puts people off Ada is that they cannot hack code like in
> >C. In Ada you have to think first. You have to think of correct types
> 
> I have heard this so much from Ada newbies over the years (ones that I'm pretty
> sure have *not* heard it from the others), that I begin to think there is a
> large amount of truth in it. But I have to admit that I can't hear that
> statement without chuckling. 
> 
> I shouldn't laugh, because it is meant seriously. But complaining about being
> forced to think while programming is like complaining about being forced to
> immerse yourself while swimming; it is the very nature of the task. A real
> developer can no more sit down at a keyboard and just "hack" out a good program
> than a real writer can just sit down at a word-processor and hack out a good
> novel. I know some writers who actually formally outline their *emails* before
> starting to write them. But for some reason this level of forethought is not
> appreciated by the masses where software development is concerned.

I did not complain about being forced to think first, I often try to
think as hard as my lazy brain allows it. What I meant was, that this
feature of Ada will put off "programmers" who know only one language
(C, C++, ....) and use it for all programming tasks (one language
suits all) -  prototyping, testing code, "small" and "big" apps and
often do not know that writing code is the one of the final stages of
app development. I know what I am talking about - I was the same 15
years ago - I used C for everything.

Often it is necessary to quick hack few lines of code, for example few
days ago I needed to fill database with testing data of 50000 random
user profiles (each user has something about 40 attributes), I would
not do it in Java and definitely not in Ada (even if I was not only
Ada newbie). Quick hack in Python did the job. And when I was writing
this script I managed to write few classes that I find so usefull that
I will rewrite them in Java and use in final application, so I think
that evolutionary principle is not that bad :)

I think that Ada is not good for this kind of disposable code or
scripts, and I am afraid that many newbie programmers with only "one
language experience"  try to switch to Ada and not to use the right
tool for the right job.

> 
> >What I really miss is good and short example code of every Ada concept
> >and maybe more libraries and bindings.
> 
> You can find a bit of that in AdaPower's Source Code Treasury (
> http://www.adapower.com/adacode.html )


Yes, I find it very valuable source of information!

     Milan



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

* Re: How to make Ada a dominant language
  2001-08-01  4:25           ` Russ
  2001-08-01  8:22             ` MALAISE Pascal
@ 2001-08-01  9:34             ` Preben Randhol
  2001-08-01 10:32               ` AG
  2001-08-01 15:52               ` Russ
  2001-08-01 13:48             ` Stefan Nobis
  2 siblings, 2 replies; 180+ messages in thread
From: Preben Randhol @ 2001-08-01  9:34 UTC (permalink / raw)


On Tue, 31 Jul 2001 21:25:42 -0700, Russ wrote:
> Adrian Hoe wrote:

>> Which is clearer? The use of ":=" has the purposeful meaning in
>> avoiding confusions in apes like us. Certainly, there is no big deal
>> with a compiler.
> 
> Good. Then let the compiler warn you.

That is not a good idea. 

   1. Programmers (read hackers) tend to ignore the warnings while developing

   2. Bogus or too many warnings will make the programmer stop paying
   attention to them, like a fire alarm that goes off often without
   there being any fire.

   3. I don't see any gain what so ever in removing _one_ character as
   it clearly reduces readability as seen in a previous post. If it is
   so hard to type :=, then make a macro and put it on a shortcut.

Just wait until you have coded a bit. Another feature of Ada that you
might not like in the beginning, but later love, is the strictness of
the language which subsequently will give you a lot more errors at
compile time, and very few at runtime. The compiler will usually also
help you understand your mistake with meaningful error messages. Whereas
when I tried C++ briefly, I managed to compile the program, but they
usually failed to run or a lot of runtime errors popped up. "Now why
is this an advantage" one might think, because one will spend a lot
of time debugging to track down a small error one made somewhere in
the code, which would probably be caugth by the compilor. You could have
fixed it in seconds. When you get more used to Ada you tend to make
fewer and fewer mistakes.


Preben

PS: I prefer that my Ada compiler says that I have an error in line XXX
because I might have written: A = 1; and tell me that it should be: A :=
1; than getting loads and loads of warnings about possible bugs, which
may or may not be real.

-- 
�Don't use C;  In my opinion,  C is a library programming language
 not an app programming language.�  - Owen Taylor (GTK+ developer)

Use Ada 95, a free language. More info at http://www.adapower.com/



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

* Re: How to make Ada a dominant language
  2001-08-01  2:29 ` Russ
                     ` (2 preceding siblings ...)
  2001-08-01  7:19   ` Adrian Hoe
@ 2001-08-01  9:51   ` Preben Randhol
  2001-08-01 11:18   ` David Gillon
                     ` (2 subsequent siblings)
  6 siblings, 0 replies; 180+ messages in thread
From: Preben Randhol @ 2001-08-01  9:51 UTC (permalink / raw)


On Tue, 31 Jul 2001 19:29:08 -0700, Russ wrote:

> I have a colleague who started programming in Fortran way back in the
> sixties (maybe even the fifties). He is a master algorithm developer and

[...]

> All those semicolons are
> nothing more than a lot of noise. They are litter in your code, and if
> you never minded them at all, then your code is probably filled with
> lots of other litter too. If so, I hope it is not being used in any
> safety-critical systems.

Clearly you don't know what you talk about.

Which is more readable (taken from a program I develop) :

Your proposal (note if one use an editor that has wrapping on one will
screw up the code as it will put this _one_ line on several)

    Button_Callback.Connect (Gui_Result.Practise_More_Button, "clicked", Button_Callback.To_Marshaller (On_Practise_More_Button_Clicked'Access))

As you can see it is almost impossible to fit it within the horisontal
viewport of the editor, and it is not an exception.

Ada way with ;

     Button_Callback.Connect (Gui_Result.Practise_More_Button, 
                              "clicked", 
                              Button_Callback.To_Marshaller 
                                 (On_Practise_More_Button_Clicked'Access));

Of course if you talk about Fortran 77 this cannot be coded and the
variable would have really meaningful names like:

   PRXMBTN -- Practise_More_Button

FORTRAN 77 is probably one of the worser languages (apart from Perl and
flavours) to make readable code in because of the limitations on the
number of characters one can use for a variable name and that hopelessly
idiotic automatic type casting which produces loads and loads of errors
that are very hard to find. I really hope that F77 isn't used in any
safety-critical systems.

Preben
-- 
�Don't use C;  In my opinion,  C is a library programming language
 not an app programming language.�  - Owen Taylor (GTK+ developer)

Use Ada 95, a free language. More info at http://www.adapower.com/



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

* Re: How to make Ada a dominant language
  2001-07-31  3:24       ` Russ Paielli
                           ` (2 preceding siblings ...)
  2001-08-01  1:25         ` Adrian Hoe
@ 2001-08-01 10:08         ` AG
  3 siblings, 0 replies; 180+ messages in thread
From: AG @ 2001-08-01 10:08 UTC (permalink / raw)



"Russ Paielli" <18k11tm001@sneakemail.com> wrote in message
news:3B6624E6.DF734E5C@sneakemail.com...
> Adrian Hoe wrote:
> >
> > Russ Paielli <18k11tm001@sneakemail.com> wrote in message
news:<3B6555ED.9B0B0420@sneakemail.com>...
> > >
> > > What's so great about ":="? Why not use "$=" or "%="?
> >
> > "=" means equal. "IF A = 0 THEN" reads as "if A equals 0 then" and
> > ":=" means assignment.
>
> But "x = 4" means that, immediately after the statement is executed, x
> indeed equals 4. I don't see a problem with using "=" for both
> assignment AND equality testing (am I missing something?).

I suspect you may be: you are trying to overload the meaning of an equality
mark. That means (if you really insist on that) that the mark itself pretty
much
looses it's unique meaning, becoming dependent on the context and requiring
an additional context/syntax scan around the place to deremine it's meaning.
That's not a very good thing as far as the readability is concerned - just
think
of possible typos which cannot be resolved without context check and are
sure
to mislead on the first read.
Also, the equality mark traditionally meant exactly that - equality, not
asignment.
Ever heard a professional math person wonder aloud how CAN x be equal to
x + 1 unless it is infinite? [That's your requirement I take it: to use
x=x+1?]

> Because I'd like to have a language that has both excellent fundamentals
> AND a clear, minimal syntax. I want it all. And I'm a compulsive
> minimalist, I guess. It bothers me to see ":=" when "=" will do the job

Whell, it doesn't seem like it would.





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

* Re: How to make Ada a dominant language
  2001-08-01  4:56     ` Ed Falis
@ 2001-08-01 10:21       ` AG
  0 siblings, 0 replies; 180+ messages in thread
From: AG @ 2001-08-01 10:21 UTC (permalink / raw)



"Ed Falis" <efalis@mediaone.net> wrote in message
news:3B678C55.6C06C6C4@mediaone.net...
> Russ wrote:
>
> > Like so many of the other posters here, you are missing the point. I am
> > not suggesting for a minute that C has a better syntax. Nor am I
> > suggesting that the amount of typing is the issue. The issue is
> > extraneous clutter in the code. 99% of semicolons are extraneous
> > clutter. Many languages, such as Python and Fortran 95 manage just fine
> > without them. And, for Pete's sake, NO I am not suggesting that Fortran
> > 95 is better overall than Ada!
> >
> > Russ

Just to point out the obvious: Do you realise that ALL the punctuation marks
in the above paragraph are a total "extraneous clutter"? To prove the point,
just remove all of the marks and see if you can still read it. I could. It
may be
[quite] a bit harder but possible. So, why do you personally use the style
you
argue against?





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

* Re: How to make Ada a dominant language
  2001-08-01  9:34             ` Preben Randhol
@ 2001-08-01 10:32               ` AG
  2001-08-01 15:55                 ` Russ
  2001-08-01 15:52               ` Russ
  1 sibling, 1 reply; 180+ messages in thread
From: AG @ 2001-08-01 10:32 UTC (permalink / raw)



"Preben Randhol" <randhol+abuse@pvv.org> wrote in message
news:slrn9mfk14.pbf.randhol+abuse@kiuk0156.chembio.ntnu.no...

>    3. I don't see any gain what so ever in removing _one_ character as
>    it clearly reduces readability as seen in a previous post. If it is
>    so hard to type :=, then make a macro and put it on a shortcut.

Or just take some typing courses and never again think of that one extra
key-stroke:)
Seriously, is it anyone's claim that a programmer's productivity is limited
by the typing speed?







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

* Re: How to make Ada a dominant language
  2001-07-30 22:58 ` Gary Scott
@ 2001-08-01 10:51   ` AG
  2001-08-01 17:10     ` Russ
  0 siblings, 1 reply; 180+ messages in thread
From: AG @ 2001-08-01 10:51 UTC (permalink / raw)



"> Russ wrote:

> > 2. Eliminate the requirement for a semicolon after each executable
> > statement, but allow semicolons for combining multiple statements on a
> > line, as in Python.

That's an obvious contradiction in requirements: Semicolons no longer
terminate
a statement but they still combine statements? So what does separate one
statement
from the next? To elaborate: if you have some other scheme to identify the
statements
you don't need the semicolon at all, if you rely on it to join the
statements why not use
it for separation too?






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

* Re: How to make Ada a dominant language
  2001-08-01  2:29 ` Russ
                     ` (3 preceding siblings ...)
  2001-08-01  9:51   ` Preben Randhol
@ 2001-08-01 11:18   ` David Gillon
  2001-08-01 16:05     ` Russ
  2001-08-01 17:12   ` Scott Ingram
  2001-08-07  2:55   ` Lao Xiao Hai
  6 siblings, 1 reply; 180+ messages in thread
From: David Gillon @ 2001-08-01 11:18 UTC (permalink / raw)




Russ wrote:
> Furthermore, I think the idea of having another "dialect" of Ada is an
> innovative concept with real potential. If you reject it out hand, you
> simply have a closed mind.

Allowing a dialect of Ada is directly contrary to one of Ada's
fundamental design concepts. Rejecting the idea isn't the knee-jerk idea
you seem to think. Look up the concepts behind the Ada Compiler
Validation suite.

> All those semicolons are
> nothing more than a lot of noise. They are litter in your code, and if
> you never minded them at all, then your code is probably filled with
> lots of other litter too. If so, I hope it is not being used in any
> safety-critical systems.

If you don't recognise the utility of semicolons then you may need to
rethink what is desirable in safety-critical code. One thing
safety-critical code can't afford is ambiguity as that may conceal an
error. The semicolon says emphatically 'I want to end this line here, it
is complete'. I'd much rather a syntactically significant semicolon than
syntactically significant white space....

-- 

David Gillon



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

* Re: How to make Ada a dominant language
  2001-08-01  9:11                         ` Milan Mancel
@ 2001-08-01 12:06                           ` Larry Hazel
  2001-08-01 13:41                             ` Marin David Condic
  2001-08-01 13:41                             ` Ted Dennison
  2001-08-01 13:28                           ` Ted Dennison
  2001-08-01 15:17                           ` Scott Ingram
  2 siblings, 2 replies; 180+ messages in thread
From: Larry Hazel @ 2001-08-01 12:06 UTC (permalink / raw)


Milan Mancel wrote:
> 
> Ted Dennison<dennison@telepath.com> wrote in message news:<Joz97.12578$ar1.38154@www.newsranger.com>...
> > In article <a4c0053f.0107301326.1815330c@posting.google.com>, Milan Mancel
> > says...
> > >What really puts people off Ada is that they cannot hack code like in
> > >C. In Ada you have to think first. You have to think of correct types
> >
> > I have heard this so much from Ada newbies over the years (ones that I'm pretty
> > sure have *not* heard it from the others), that I begin to think there is a
> > large amount of truth in it. But I have to admit that I can't hear that
> > statement without chuckling.
> >
<snip>
> 
> Often it is necessary to quick hack few lines of code, for example few
> days ago I needed to fill database with testing data of 50000 random
> user profiles (each user has something about 40 attributes), I would
> not do it in Java and definitely not in Ada (even if I was not only
> Ada newbie). Quick hack in Python did the job. And when I was writing
> this script I managed to write few classes that I find so usefull that
> I will rewrite them in Java and use in final application, so I think
> that evolutionary principle is not that bad :)
> 
> I think that Ada is not good for this kind of disposable code or
> scripts, and I am afraid that many newbie programmers with only "one
> language experience"  try to switch to Ada and not to use the right
> tool for the right job.
> 
Some programs are small enough to be designed in your head or a few diagrams on
a couple of sheets of paper.  Once I learned Ada, I never had any problem
writing such programs in Ada.  It's quick and easy and usually does exactly what
I want the first time.  I could never do that in C, but then I don't know C very
well.  I know just enough to know I don't want to use it.  Almost any language
can be used to quickly "hack" out a small program, but you have to know the
language.

Larry



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

* Re: How to make Ada a dominant language
  2001-08-01  0:54                         ` David Bolen
@ 2001-08-01 13:17                           ` Ted Dennison
  2001-08-01 22:15                             ` David Bolen
  0 siblings, 1 reply; 180+ messages in thread
From: Ted Dennison @ 2001-08-01 13:17 UTC (permalink / raw)


In article <uzo9ksipu.fsf@ctwd0143.fitlinxx.com>, David Bolen says...
>
>I do cringe when I think of all those VB programmers (of which I am
>not one, although I work with them) considering an application to be
>nothing more than snippets of code associated with GUI elements, but

In some environments that may be accurate. But even a GUI app needs to have the
GUI *designed* before someone starts working on it. I usually use a whiteboard
for this purpose, as its quickest for erasing and redrawing.

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



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

* Re: How to make Ada a dominant language
  2001-08-01  9:11                         ` Milan Mancel
  2001-08-01 12:06                           ` Larry Hazel
@ 2001-08-01 13:28                           ` Ted Dennison
  2001-08-01 15:17                           ` Scott Ingram
  2 siblings, 0 replies; 180+ messages in thread
From: Ted Dennison @ 2001-08-01 13:28 UTC (permalink / raw)


First off, I'm sorry if I implied that I thought *you* were complaining. It was
clear you were just relating how you saw others would feel.

In article <a4c0053f.0108010111.18860989@posting.google.com>, Milan Mancel
says...
>Often it is necessary to quick hack few lines of code, for example few
>days ago I needed to fill database with testing data of 50000 random
>user profiles (each user has something about 40 attributes), I would
>not do it in Java and definitely not in Ada (even if I was not only
>Ada newbie). Quick hack in Python did the job. And when I was writing
>this script I managed to write few classes that I find so usefull that
>I will rewrite them in Java and use in final application, so I think
>that evolutionary principle is not that bad :)
>
>I think that Ada is not good for this kind of disposable code or
>scripts, and I am afraid that many newbie programmers with only "one

Of course it would be silly to deny that there are some times Ada is *not* the
right tool. However, I think the example you quote is one that for me would not
be a good example. I would have no problem using Ada for something like that
(particularly if I already had the user profile data structure hanging around,
which would seem likely). I generally only use simpler tools for much simpler
tasks. For instance, it would be silly to write myself a specific file string
searching program when "grep", "find", and "xargs" are available to be used
together for that purpose. However, when I needed to write my own version of "cp
-r" due to file system problems I had to work around, Ada was where I went. When
you are comfortable enough with Ada, you will probably find yourself using it
for such tasks too. I think its really a matter of familiarity more than
anything else.

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



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

* Re: How to make Ada a dominant language
  2001-08-01 12:06                           ` Larry Hazel
@ 2001-08-01 13:41                             ` Marin David Condic
  2001-08-01 15:55                               ` Larry Hazel
  2001-08-01 13:41                             ` Ted Dennison
  1 sibling, 1 reply; 180+ messages in thread
From: Marin David Condic @ 2001-08-01 13:41 UTC (permalink / raw)


There is also a kind of design methodology wherein you might hammer out some
code, see how it looks, maybe test it a little, then restructure it again
and again as you are trying to a) figure out how certain features should be
used and/or b) get a vision in your head as to what the ultimate product
ought to look like. Its a kind of iterative prototyping that I find myself
going through from time to time in some cases. It certainly isn't the way to
develop a major system/subsystem, but it is often handy for some kinds of
development, simply because you don't have a good idea in your head as to
how something ought to look.

That sort of development might be less concerned with proper data types,
formal design, documentation, etc., but I tend to think of that as strictly
prototype development to gain understanding. The ultimate finished product
has to be better thought out & planned - but may still utilize the
prototyped code in some form.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Larry Hazel" <lhazel@mindspring.com> wrote in message
news:3B67F0DA.8D655109@mindspring.com...
> Milan Mancel wrote:
> >
> > Ted Dennison<dennison@telepath.com> wrote in message
news:<Joz97.12578$ar1.38154@www.newsranger.com>...
> > > In article <a4c0053f.0107301326.1815330c@posting.google.com>, Milan
Mancel
> > > says...
> > > >What really puts people off Ada is that they cannot hack code like in
> > > >C. In Ada you have to think first. You have to think of correct types
> > >
> > > I have heard this so much from Ada newbies over the years (ones that
I'm pretty
> > > sure have *not* heard it from the others), that I begin to think there
is a
> > > large amount of truth in it. But I have to admit that I can't hear
that
> > > statement without chuckling.
> > >
> <snip>
> >
> > Often it is necessary to quick hack few lines of code, for example few
> > days ago I needed to fill database with testing data of 50000 random
> > user profiles (each user has something about 40 attributes), I would
> > not do it in Java and definitely not in Ada (even if I was not only
> > Ada newbie). Quick hack in Python did the job. And when I was writing
> > this script I managed to write few classes that I find so usefull that
> > I will rewrite them in Java and use in final application, so I think
> > that evolutionary principle is not that bad :)
> >
> > I think that Ada is not good for this kind of disposable code or
> > scripts, and I am afraid that many newbie programmers with only "one
> > language experience"  try to switch to Ada and not to use the right
> > tool for the right job.
> >
> Some programs are small enough to be designed in your head or a few
diagrams on
> a couple of sheets of paper.  Once I learned Ada, I never had any problem
> writing such programs in Ada.  It's quick and easy and usually does
exactly what
> I want the first time.  I could never do that in C, but then I don't know
C very
> well.  I know just enough to know I don't want to use it.  Almost any
language
> can be used to quickly "hack" out a small program, but you have to know
the
> language.
>
> Larry





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

* Re: How to make Ada a dominant language
  2001-08-01 12:06                           ` Larry Hazel
  2001-08-01 13:41                             ` Marin David Condic
@ 2001-08-01 13:41                             ` Ted Dennison
  1 sibling, 0 replies; 180+ messages in thread
From: Ted Dennison @ 2001-08-01 13:41 UTC (permalink / raw)


In article <3B67F0DA.8D655109@mindspring.com>, Larry Hazel says...
>
>a couple of sheets of paper.  Once I learned Ada, I never had any problem
>writing such programs in Ada.  It's quick and easy and usually does exactly 
>what I want the first time.  I could never do that in C, but then I don't know 
>C very well.  I know just enough to know I don't want to use it.  Almost any 
>language can be used to quickly "hack" out a small program, but you have to 
>know the language.

I'd agree with the last sentece of that, but not the stuff in the middle. I've
found that C is actually quite servicable for very small programs (eg: a one
source file, < 2000 SLOC or so mini-compiler I had to write). Its real problem
is that it just doesn't scale well at all. For a similar but larger task (eg: a
>10,000SLOC multi-file programming language compiler for a grad course) it begins to become an absolute nightmare; a veritable cornucopia of core dumps, if you will. :-)

However, there really isn't any problem with Ada for very small programs either,
and it *does* scale well.

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



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

* Re: How to make Ada a dominant language
  2001-08-01  4:25           ` Russ
  2001-08-01  8:22             ` MALAISE Pascal
  2001-08-01  9:34             ` Preben Randhol
@ 2001-08-01 13:48             ` Stefan Nobis
  2001-08-02  8:32               ` Pascal Obry
  2 siblings, 1 reply; 180+ messages in thread
From: Stefan Nobis @ 2001-08-01 13:48 UTC (permalink / raw)


Russ <18k11tm001@sneakemail.com> writes:

> > Take a look at the code (proposed new Ada):
> > 
> > if A = 0 then
> >    A = 1;
> > end if;
> > 
> > rather than (the original Ada):
> > 
> > if A = 0 then
> >    A := 1;
> > end if;
> 
> I think Python has an extremely simple solution to this so-called
> "problem". Python simply disallows assignment inside an "if"

You missed the point: There is no problem with assignment versus equality but
a problem with the readabilty of the code! In the later case a human reader is
able to distinguish between assignment and equality very ease and at first
glance, in the first case he has to take a second look to see, if "=" is used
as assignment or as equality. That's the problem. And Ada is made for better
readabilty so the later version is the better one.

It has nothing to do with the problems in C(++)!

-- 
Until the next mail...,
Stefan.



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

* Re: How to make Ada a dominant language
  2001-08-01  7:13   ` Adrian Hoe
@ 2001-08-01 14:09     ` Marin David Condic
  2001-08-01 17:55       ` Russ
  0 siblings, 1 reply; 180+ messages in thread
From: Marin David Condic @ 2001-08-01 14:09 UTC (permalink / raw)


Maybe "The Borg" - Star Trek TNG?

In addition, to comment on Russ's comment about closed minds. I don't think
anybody has any objection to your developing any dialect of Ada you want to
and seeing if it has anything useful to offer. Others have done the same in
the past in order to get features into Ada that didn't exist. (I recall
someone had a version of Ada that included OOP features on top of Ada-83 -
anybody remember that?) It just won't find much traction here because there
are lots of good reasons why the syntax is what it is.

The problem is it will not likely gain much acceptance in the Ada community
because a) People like the fact that there is One-And-Only-One Ada, b) we
don't believe there is anything seriously "broke" about the syntax, c) we
perceive the complaints you have as probably coming from a perspective of
"This isn't what I'm used to, so I want to change it to look more like what
I know" rather than being some well founded criticism of the syntax based on
some kind of evidence of a real problem (Is there a real problem? Can you
point to some kind of evidence that programs are routinely bungled or
frequently contain syntax errors because of ":=" or ";" being parts of the
language? Anything beyond "It doesn't look comfortable to me?")  d) the
syntax of Ada was carefully designed by people with a high level of
experience and background in language design and the decisions were not made
lightly, on a whim or because of one individual's "preference" that it look
a certain way.

You should know that there is a *lot* of collective experience in this
group - especially with developing safety-critical systems. Being critical
of Ada is O.K., but if you start getting dozens of (expert) opinions here
about why something is generally a good/bad idea, you might want to give a
little credit to the sources.

    "Having an open mind is nothing. The object of opening the mind, as
    of opening the mouth, is to shut it again on something solid."
        --  G.K. Chesterton

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Adrian Hoe" <byhoe@greenlime.com> wrote in message
news:9ff447f2.0107312313.666dea54@posting.google.com...
> Russ <18k11tm001@sneakemail.com> wrote in message
news:<3B676974.C80C72E5@sneakemail.com>...
> >
> > Furthermore, I think the idea of having another "dialect" of Ada is an
> > innovative concept with real potential. If you reject it out hand, you
> > simply have a closed mind.
>
> Resistance is futile... (I can't remember which movies... Anyone?)
>
> Adrian Hoe
>
>
> > Russ Paielli





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

* Re: How to make Ada a dominant language
  2001-08-01  7:33     ` Russ
@ 2001-08-01 15:00       ` Adrian Hoe
  2001-08-01 15:58         ` Russ
  0 siblings, 1 reply; 180+ messages in thread
From: Adrian Hoe @ 2001-08-01 15:00 UTC (permalink / raw)


Russ <18k11tm001@sneakemail.com> wrote in message news:<3B67B0BC.F51C4CB4@sneakemail.com>...
> Adrian Hoe wrote:
> > 
> > Russ <18k11tm001@sneakemail.com> wrote in message news:<3B676974.C80C72E5@sneakemail.com>...
> > > Well, I guess I touched some raw nerves with my proposal to clean up
> > > Ada's syntax. I certainly appreciate the feedback.
> > >
> > > I have come to the conclusion that my first item (eliminating the "end"
> > > keyword and making the indentation structure an inherent part of the
> > > syntax, as in Python) is NOT a good idea after all. The "end" lines
> > > really do help with readability, particularly for long procedures that
> > > end on a different page than they started.
> > >
> > > However, I still stand by the other items in my proposal. I think
> > > semicolons should be essentially eliminated,
> > 
> > I still think a semicolon is nice It serves as a punctuation
> > indicating an end of the statement and the beginning of next How does
> > this paragraph looks like to you Taking away punctuations from written
> > text makes reading difficult Certainly people will likely to make
> > mistake while reading This is an analogy example to your proposition
> > to remove semicolon from Ada
> 
> But if almost every sentence were on a separate line, you wouldn't need
> punctuation to mark their end. Besides that; I think; too many;
> punctuation marks; make text; look cluttered; What; do; you; think?; ;')


Of course if you put semicolons like you did, they look cluttered.
Punctuation should be used correctly and purposefully at the right
place. In Ada, the purpose of semicolon is to mark the end of a
statement. Of course, it is illegal to put a semicolon immediately
after if ... then, not like C where it denotes null statement.

C:

if a == 0 then;   /* Is perfectly legal */

But in Ada:

if a = 0 then;    -- Illegal

According to your proposition:

if a = 0 then
   a = 1
   b = 2
   c = 3
end if

can lead to many errors, for instance:

if a = 0 then
   a = 1 b = 2
   c=3
end if

But with Ada:

if a = 0 then
   a = 1;
   b = 2;
   c = 3;
end if;

And this is much clearer because at a glance, you see the semicolons
and you see end of statements!

Adrian Hoe

> Russ



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

* Re: How to make Ada a dominant language
  2001-08-01  9:11                         ` Milan Mancel
  2001-08-01 12:06                           ` Larry Hazel
  2001-08-01 13:28                           ` Ted Dennison
@ 2001-08-01 15:17                           ` Scott Ingram
  2 siblings, 0 replies; 180+ messages in thread
From: Scott Ingram @ 2001-08-01 15:17 UTC (permalink / raw)


Milan Mancel wrote:
> 
> I did not complain about being forced to think first, I often try to
> think as hard as my lazy brain allows it. What I meant was, that this
> feature of Ada will put off "programmers" who know only one language
> (C, C++, ....) and use it for all programming tasks (one language
> suits all) -  prototyping, testing code, "small" and "big" apps and
> often do not know that writing code is the one of the final stages of
> app development. I know what I am talking about - I was the same 15
> years ago - I used C for everything.

Oddly, with the regex and spitbol child packages in GNAT, I find
myself using other languages less and less.

> 
> Often it is necessary to quick hack few lines of code, for example few
> days ago I needed to fill database with testing data of 50000 random
> user profiles (each user has something about 40 attributes), I would
> not do it in Java and definitely not in Ada (even if I was not only
> Ada newbie). Quick hack in Python did the job. And when I was writing
> this script I managed to write few classes that I find so usefull that
> I will rewrite them in Java and use in final application, so I think
> that evolutionary principle is not that bad :)
> 
> I think that Ada is not good for this kind of disposable code or
> scripts, and I am afraid that many newbie programmers with only "one
> language experience"  try to switch to Ada and not to use the right
> tool for the right job.

Not being an Ada "newbie," this is definitely something that I would
use Ada for.  But then I have chunks of code written for many different
quick and dirties that would make this basically a simple cut and paste
for me, and relieves me of remembering all kinds of gawk, sed, and bash
incantations.  Ed Falis's mention of ruby  here in cla intrigued
me...and
it looks very promising, but I haven't spent enough time with it to do
this kind of task.  Perl and python are definitely losers here for me--
takes too long to peruse the book to figure out how to do it...:)


-- 
Scott Ingram
Vice-Chair, Baltimore SIGAda
System Development and Operational Support Group
Johns Hopkins University Applied Physics Laboratory



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

* Re: How to make Ada a dominant language
  2001-08-01  9:34             ` Preben Randhol
  2001-08-01 10:32               ` AG
@ 2001-08-01 15:52               ` Russ
  1 sibling, 0 replies; 180+ messages in thread
From: Russ @ 2001-08-01 15:52 UTC (permalink / raw)


Preben Randhol wrote:
> 
> On Tue, 31 Jul 2001 21:25:42 -0700, Russ wrote:
> > Adrian Hoe wrote:
> 
> >> Which is clearer? The use of ":=" has the purposeful meaning in
> >> avoiding confusions in apes like us. Certainly, there is no big deal
> >> with a compiler.
> >
> > Good. Then let the compiler warn you.
> 
> That is not a good idea.
> 
>    1. Programmers (read hackers) tend to ignore the warnings while developing

I used the word "warn" in a loose sense. What I meant was to not let the
fricking program compile. This is really a trivial "problem" that
everyone seems to be determined to trip over.

>    2. Bogus or too many warnings will make the programmer stop paying
>    attention to them, like a fire alarm that goes off often without
>    there being any fire.

OK, then get rid of those useless semicolons that constantly nag you.

>    3. I don't see any gain what so ever in removing _one_ character as
>    it clearly reduces readability as seen in a previous post. If it is
>    so hard to type :=, then make a macro and put it on a shortcut.

You're missing the point again. The typing is not the issue. Clutter is
the issue.

> Just wait until you have coded a bit. Another feature of Ada that you
> might not like in the beginning, but later love, is the strictness of
> the language which subsequently will give you a lot more errors at
> compile time, and very few at runtime. The compiler will usually also
> help you understand your mistake with meaningful error messages. Whereas
> when I tried C++ briefly, I managed to compile the program, but they
> usually failed to run or a lot of runtime errors popped up. "Now why
> is this an advantage" one might think, because one will spend a lot
> of time debugging to track down a small error one made somewhere in
> the code, which would probably be caugth by the compilor. You could have
> fixed it in seconds. When you get more used to Ada you tend to make
> fewer and fewer mistakes.

I love the strictness of the language already. But there is a major
difference between strictness and unnecessary clutter, and too many Ada
programmers don't seem to be able to distinguish between the two.

Russ



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

* Re: How to make Ada a dominant language
  2001-08-01 13:41                             ` Marin David Condic
@ 2001-08-01 15:55                               ` Larry Hazel
  2001-08-01 16:56                                 ` Marin David Condic
  0 siblings, 1 reply; 180+ messages in thread
From: Larry Hazel @ 2001-08-01 15:55 UTC (permalink / raw)


Marin David Condic wrote:
> 
> There is also a kind of design methodology wherein you might hammer out some
> code, see how it looks, maybe test it a little, then restructure it again
> and again as you are trying to a) figure out how certain features should be
> used and/or b) get a vision in your head as to what the ultimate product
> ought to look like. Its a kind of iterative prototyping that I find myself
> going through from time to time in some cases. It certainly isn't the way to
> develop a major system/subsystem, but it is often handy for some kinds of
> development, simply because you don't have a good idea in your head as to
> how something ought to look.
> 
> That sort of development might be less concerned with proper data types,
> formal design, documentation, etc., but I tend to think of that as strictly
> prototype development to gain understanding. The ultimate finished product
> has to be better thought out & planned - but may still utilize the
> prototyped code in some form.

Using Ada to help think about the problem and develop a design approach.  I've
done that many times.

Larry



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

* Re: How to make Ada a dominant language
  2001-08-01 10:32               ` AG
@ 2001-08-01 15:55                 ` Russ
  2001-08-01 16:50                   ` chris.danx
  0 siblings, 1 reply; 180+ messages in thread
From: Russ @ 2001-08-01 15:55 UTC (permalink / raw)


AG wrote:
> 
> "Preben Randhol" <randhol+abuse@pvv.org> wrote in message
> news:slrn9mfk14.pbf.randhol+abuse@kiuk0156.chembio.ntnu.no...
> 
> >    3. I don't see any gain what so ever in removing _one_ character as
> >    it clearly reduces readability as seen in a previous post. If it is
> >    so hard to type :=, then make a macro and put it on a shortcut.
> 
> Or just take some typing courses and never again think of that one extra
> key-stroke:)
> Seriously, is it anyone's claim that a programmer's productivity is limited
> by the typing speed?

Another one misses the point. The issue is NOT typing. It's clutter.

Russ



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

* Re: How to make Ada a dominant language
  2001-08-01 15:00       ` Adrian Hoe
@ 2001-08-01 15:58         ` Russ
  2001-08-01 17:32           ` Gary Scott
  0 siblings, 1 reply; 180+ messages in thread
From: Russ @ 2001-08-01 15:58 UTC (permalink / raw)


Adrian Hoe wrote:
> 
> Russ <18k11tm001@sneakemail.com> wrote in message news:<3B67B0BC.F51C4CB4@sneakemail.com>...
> > Adrian Hoe wrote:
> > >
> > > Russ <18k11tm001@sneakemail.com> wrote in message news:<3B676974.C80C72E5@sneakemail.com>...
> > > > Well, I guess I touched some raw nerves with my proposal to clean up
> > > > Ada's syntax. I certainly appreciate the feedback.
> > > >
> > > > I have come to the conclusion that my first item (eliminating the "end"
> > > > keyword and making the indentation structure an inherent part of the
> > > > syntax, as in Python) is NOT a good idea after all. The "end" lines
> > > > really do help with readability, particularly for long procedures that
> > > > end on a different page than they started.
> > > >
> > > > However, I still stand by the other items in my proposal. I think
> > > > semicolons should be essentially eliminated,
> > >
> > > I still think a semicolon is nice It serves as a punctuation
> > > indicating an end of the statement and the beginning of next How does
> > > this paragraph looks like to you Taking away punctuations from written
> > > text makes reading difficult Certainly people will likely to make
> > > mistake while reading This is an analogy example to your proposition
> > > to remove semicolon from Ada
> >
> > But if almost every sentence were on a separate line, you wouldn't need
> > punctuation to mark their end. Besides that; I think; too many;
> > punctuation marks; make text; look cluttered; What; do; you; think?; ;')
> 
> Of course if you put semicolons like you did, they look cluttered.
> Punctuation should be used correctly and purposefully at the right
> place. In Ada, the purpose of semicolon is to mark the end of a
> statement. Of course, it is illegal to put a semicolon immediately
> after if ... then, not like C where it denotes null statement.
> 
> C:
> 
> if a == 0 then;   /* Is perfectly legal */
> 
> But in Ada:
> 
> if a = 0 then;    -- Illegal
> 
> According to your proposition:
> 
> if a = 0 then
>    a = 1
>    b = 2
>    c = 3
> end if
> 
> can lead to many errors, for instance:
> 
> if a = 0 then
>    a = 1 b = 2
>    c=3
> end if
> 
> But with Ada:
> 
> if a = 0 then
>    a = 1;
>    b = 2;
>    c = 3;
> end if;
> 
> And this is much clearer because at a glance, you see the semicolons
> and you see end of statements!

Check out how Fortran 95 does it. They don't seem to have the problem
you are referring to.

Russ



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

* Re: How to make Ada a dominant language
  2001-08-01 11:18   ` David Gillon
@ 2001-08-01 16:05     ` Russ
  2001-08-02  5:21       ` Warren W. Gay VE3WWG
  0 siblings, 1 reply; 180+ messages in thread
From: Russ @ 2001-08-01 16:05 UTC (permalink / raw)


David Gillon wrote:
> 
> Russ wrote:
> > Furthermore, I think the idea of having another "dialect" of Ada is an
> > innovative concept with real potential. If you reject it out hand, you
> > simply have a closed mind.
> 
> Allowing a dialect of Ada is directly contrary to one of Ada's
> fundamental design concepts. Rejecting the idea isn't the knee-jerk idea
> you seem to think. Look up the concepts behind the Ada Compiler
> Validation suite.

I would agree with that philosophy if the dialects were incompatible,
but the dialect I am proposing could be automatically translated back
and forth with standard Ada95.

Russ



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

* Re: How to make Ada a dominant language
  2001-08-01 15:55                 ` Russ
@ 2001-08-01 16:50                   ` chris.danx
  0 siblings, 0 replies; 180+ messages in thread
From: chris.danx @ 2001-08-01 16:50 UTC (permalink / raw)



"Russ" <18k11tm001@sneakemail.com> wrote in message
news:3B682668.4687D3CA@sneakemail.com...
> AG wrote:
> >
> > "Preben Randhol" <randhol+abuse@pvv.org> wrote in message
> > news:slrn9mfk14.pbf.randhol+abuse@kiuk0156.chembio.ntnu.no...
> >
> > >    3. I don't see any gain what so ever in removing _one_ character as
> > >    it clearly reduces readability as seen in a previous post. If it is
> > >    so hard to type :=, then make a macro and put it on a shortcut.
> >
> > Or just take some typing courses and never again think of that one extra
> > key-stroke:)
> > Seriously, is it anyone's claim that a programmer's productivity is
limited
> > by the typing speed?
>
> Another one misses the point. The issue is NOT typing. It's clutter.

It's not clutter at all; it's the difference between a value and a variable.

A variable can be changed through the use of := but a value is cannot be
changed, only defined.  This means that a value has no state, while a
variable does.

Overloading = to be equality and assignment would lead to confusion of state
and stateless, which isn't a good idea.

The two statements

f(x) := 2x+1
f(x)  = 2x+1

are entirely different, confusing the two by having one statement for both
leads to imprecision.  They are not the same and never will be!

Try an FPL like Clean, Haskell or OCaml and the difference will become
clear.





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

* Re: How to make Ada a dominant language
  2001-07-31 17:28                   ` Darren New
@ 2001-08-01 16:55                     ` Florian Weimer
  0 siblings, 0 replies; 180+ messages in thread
From: Florian Weimer @ 2001-08-01 16:55 UTC (permalink / raw)


Darren New <dnew@san.rr.com> writes:

> > Sounds like a recipe for a big mess if the source code is edited by
> > several individuals with different editors. Say one use emacs and
> > another vim. The first uses tabs and the latter have turned on the
> > option to turn tabs into spaces for instance...
> 
> The same would be true of the Ada command switch, 

It's a GNAT switch, and strictly speaking, GNAT is not conforming to
the Ada standard when it is activated.

> yes? "Doctor, doctor, it hurts when I do this!"

If you use CVS, you have to enforce a common policy regarding tabs
anyway, to keep the diffs clean.



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

* Re: How to make Ada a dominant language
  2001-08-01 15:55                               ` Larry Hazel
@ 2001-08-01 16:56                                 ` Marin David Condic
  2001-08-01 19:18                                   ` Ed Falis
  0 siblings, 1 reply; 180+ messages in thread
From: Marin David Condic @ 2001-08-01 16:56 UTC (permalink / raw)


I'll bet that using some version of this kind of iterative prototyping to
approaching an ultimate product is done a lot more often than many of us may
want to admit. It probably is also capable of producing good designs and
reliable products in less time than more formal methods for some classes of
problems. I doubt it is the sort of thing one would want to use to develop a
major banking network system or a complex rocket launch control system (I've
seen such things organically grown) but for some kinds of smaller, self
contained problems, this is probably a good design methodology for the
experienced developer. Lets face it - most of us think better in Ada than we
do in UML or Mil-Std-2167a documents. That, and we like to experiment with
different approaches to gain enlightment. (Think about it a little, hack a
little code, run some tests, fix some bugs, go back to step one...) We don't
generally want to draw a diagram, start writing the code, discover there is
a better way to do it and be forced to decide to either redraw the diagram
or stick with it and have a sub-optimal answer.

I'd consider the technique valid, but before declaring "Victory", I'd want
to review the prototype(s) and take a decision about using it "as is" or
using it as a model for a more robust design/implementation.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Larry Hazel" <lhazel@mindspring.com> wrote in message
news:3B682658.57BE8A24@mindspring.com...
>
> Using Ada to help think about the problem and develop a design approach.
I've
> done that many times.
>






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

* Re: How to make Ada a dominant language
  2001-08-01 10:51   ` AG
@ 2001-08-01 17:10     ` Russ
  0 siblings, 0 replies; 180+ messages in thread
From: Russ @ 2001-08-01 17:10 UTC (permalink / raw)


AG wrote:
> 
> "> Russ wrote:
> 
> > > 2. Eliminate the requirement for a semicolon after each executable
> > > statement, but allow semicolons for combining multiple statements on a
> > > line, as in Python.
> 
> That's an obvious contradiction in requirements: Semicolons no longer
> terminate
> a statement but they still combine statements? So what does separate one
> statement
> from the next? To elaborate: if you have some other scheme to identify the
> statements
> you don't need the semicolon at all, if you rely on it to join the
> statements why not use
> it for separation too?

Check out how Python and Fortran 95 do it. It is not a "contradiction in
requirements."

Russ



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

* Re: How to make Ada a dominant language
  2001-08-01  2:29 ` Russ
                     ` (4 preceding siblings ...)
  2001-08-01 11:18   ` David Gillon
@ 2001-08-01 17:12   ` Scott Ingram
  2001-08-01 18:10     ` Russ
  2001-08-07  2:55   ` Lao Xiao Hai
  6 siblings, 1 reply; 180+ messages in thread
From: Scott Ingram @ 2001-08-01 17:12 UTC (permalink / raw)


Russ wrote:
> 
> Well, I guess I touched some raw nerves with my proposal to clean up
> Ada's syntax. I certainly appreciate the feedback.
> 

I appreciate your enthusiasm for popularizing Ada, and I don't think
you touched any "raw nerves."  Most of your respondents in this thread
have been using Ada for some time, and understand the rationale behind
the syntax that Ada employs.  There are some very interesting and
valid criticisms that can be made with regard to the language, but
the syntax is way below the radar screen for most of us.

(snip)

> 
> However, I still stand by the other items in my proposal. I think
> semicolons should be essentially eliminated, and I think "=" should be
> used for assignment and named association. I also still think the
> declaration syntax should be reversed. By the way, someone correctly
> pointed out that what I am proposing has a lot in common with Fortran
> 95.

I personally find these suggestions abhorrent.  I find the current
syntax
a relief after working with other imperative languages.  It doesn't 
happen often, but I have used conditional tests that are sufficiently
complex that they are easier to read if broken into several lines, and
the semicolon marking the end of the statement is very handy for marking
the end of a collection of thoughts.  As for the declaration order and
assignment operator--they happen to match the way I think very closely,
changing them would twist my brain in knots! (Which is the state its in
most of the time...)

> 
> Furthermore, I think the idea of having another "dialect" of Ada is an
> innovative concept with real potential. If you reject it out hand, you
> simply have a closed mind.

There are two other "dialects" of Ada that have proven very successful
in their targeted markets. PL/SQL as an adjunct to Oracle in the
database market, and VHDL in programmable logic devices.  What's weird
is how many people fail to connect these with Ada.

> 
> Most of the replies I received on this thread were very reasonable. A
> recurring theme, however, was that syntax is trivial and not worth
> discussing. I understand that the syntax is not the most important
> aspect of a language, but that doesn't mean it is not worth discussing
> or improving.

Agreed, but this actually is not the proper forum.  As might be expected
for such a formal language, there are working groups and committees who
evaluate such proposals for inclusion in the standard.

> 
> I have a colleague who started programming in Fortran way back in the
> sixties (maybe even the fifties). He is a master algorithm developer and
> programmer. His code is meticulously correct, efficient, and minimal.
> When I introduced him to C and C++ several years ago, he was amazed that
> he had to clutter his code with all those semicolons and constantly put
> up with the compiler's nagging when one is left out. He adapted, of
> course, but his initial reaction was right. All those semicolons are
> nothing more than a lot of noise. They are litter in your code, and if
> you never minded them at all, then your code is probably filled with
> lots of other litter too. If so, I hope it is not being used in any
> safety-critical systems.
> 
> Russ Paielli

Major difference of opinion here:  those semicolons are not "litter,"
but rather like the firestops in the wall of your house they provide
an added margin of safety by compartmentalizing thoughts as the
firestops compartmentalize the spaces in the structure.

As far as Ada's "popularity" goes, I think it fair to argue that it
is more popular now than at any time in its history.  Although some
shops have moved away from its use now the dreaded mandate has been
rescinded, there is a lot more traffic on c.l.a from new users who
don't carry baggage from that era.

-- 
Scott Ingram
Vice-Chair, Baltimore SIGAda
System Development and Operational Support Group
Johns Hopkins University Applied Physics Laboratory



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

* Re: How to make Ada a dominant language
  2001-08-01 15:58         ` Russ
@ 2001-08-01 17:32           ` Gary Scott
  0 siblings, 0 replies; 180+ messages in thread
From: Gary Scott @ 2001-08-01 17:32 UTC (permalink / raw)




Russ wrote:
> 
> Adrian Hoe wrote:
> >
> > Russ <18k11tm001@sneakemail.com> wrote in message news:<3B67B0BC.F51C4CB4@sneakemail.com>...
> > > Adrian Hoe wrote:
> > > >
> > According to your proposition:
> >
> > if a = 0 then
> >    a = 1
> >    b = 2
> >    c = 3
> > end if
> >
> > can lead to many errors, for instance:
> >
> > if a = 0 then
> >    a = 1 b = 2
> >    c=3
> > end if
> >
> > But with Ada:
> >
> > if a = 0 then
> >    a = 1;
> >    b = 2;
> >    c = 3;
> > end if;
> >
> > And this is much clearer because at a glance, you see the semicolons
> > and you see end of statements!
> 
> Check out how Fortran 95 does it. They don't seem to have the problem
> you are referring to.
> 
Fortran 95 simply recognizes logical end of record as the same as end of
statement unless a special continuation character is used.  Consecutive
statements may be separated by ";".  I think that this method was
mentioned indirectly in several previous posts and was thought to be "a
bad thing" because it isn't "true" free-form format.
> Russ



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

* Re: How to make Ada a dominant language
  2001-08-01 14:09     ` Marin David Condic
@ 2001-08-01 17:55       ` Russ
  2001-08-01 18:26         ` Ted Dennison
                           ` (3 more replies)
  0 siblings, 4 replies; 180+ messages in thread
From: Russ @ 2001-08-01 17:55 UTC (permalink / raw)


Marin David Condic wrote:
> 
> Maybe "The Borg" - Star Trek TNG?
> 
> In addition, to comment on Russ's comment about closed minds. I don't think
> anybody has any objection to your developing any dialect of Ada you want to
> and seeing if it has anything useful to offer. Others have done the same in
> the past in order to get features into Ada that didn't exist. (I recall
> someone had a version of Ada that included OOP features on top of Ada-83 -
> anybody remember that?) It just won't find much traction here because there
> are lots of good reasons why the syntax is what it is.
> 
> The problem is it will not likely gain much acceptance in the Ada community
> because a) People like the fact that there is One-And-Only-One Ada, b) we
> don't believe there is anything seriously "broke" about the syntax, c) we
> perceive the complaints you have as probably coming from a perspective of
> "This isn't what I'm used to, so I want to change it to look more like what
> I know" rather than being some well founded criticism of the syntax based on
> some kind of evidence of a real problem (Is there a real problem? Can you

No, it's not that I want something I'm "used to." On the contrary, I
want to get RID of something I'm tired of: the semicolons in C/C++.

> point to some kind of evidence that programs are routinely bungled or
> frequently contain syntax errors because of ":=" or ";" being parts of the
> language? Anything beyond "It doesn't look comfortable to me?")  d) the
> syntax of Ada was carefully designed by people with a high level of
> experience and background in language design and the decisions were not made
> lightly, on a whim or because of one individual's "preference" that it look
> a certain way.

It would be interesting to add up all the time programmers spend going
back and putting in semicolons and recompiling after the compiler
catches their omission. I'll bet it's over a tenth of a percent of the
programming time (of C/C++ and Ada programmers). Not much, eh? Let's
see, if 100,000 programmers are using those languages, that's 100
man-years per year flushed right down the toilet.

But the issue is deeper than that. The unnecessary delays and annoyances
disturb a programmers continuity. Why do you think "scripting" languages
are so much better for rapid prototyping? The compile cycle is
eliminated. Eliminating semicolons will not eliminate the compile cycle,
but it will make it much less annoying, thereby making Ada more
convenient for another whole class of applications.

> You should know that there is a *lot* of collective experience in this
> group - especially with developing safety-critical systems. Being critical
> of Ada is O.K., but if you start getting dozens of (expert) opinions here
> about why something is generally a good/bad idea, you might want to give a
> little credit to the sources.

If the Ada community is unwilling to adapt, that is certainly their
perogative. With all due respect, however, I find most of the objections
to my proposal to be unconvincing. On the one hand, most people seem to
be saying that syntax is unimportant, but on the other hand it is
sacrosanct and not to be messed with. Then I get the folks telling me
that simple concepts used in Fortran 95 won't work or will cause some
kind of insidious problem. It's almost as if someone were standing at
the airport and explaining why airplanes can't possibly fly, and even if
they could they would be useless.

>     "Having an open mind is nothing. The object of opening the mind, as
>     of opening the mouth, is to shut it again on something solid."
>         --  G.K. Chesterton

I agree. Do you?

Russ



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

* Re: How to make Ada a dominant language
  2001-08-01 17:12   ` Scott Ingram
@ 2001-08-01 18:10     ` Russ
  2001-08-02 10:34       ` Leif Roar Moldskred
  0 siblings, 1 reply; 180+ messages in thread
From: Russ @ 2001-08-01 18:10 UTC (permalink / raw)


Scott Ingram wrote:
> 
<cut>

> > I have a colleague who started programming in Fortran way back in the
> > sixties (maybe even the fifties). He is a master algorithm developer and
> > programmer. His code is meticulously correct, efficient, and minimal.
> > When I introduced him to C and C++ several years ago, he was amazed that
> > he had to clutter his code with all those semicolons and constantly put
> > up with the compiler's nagging when one is left out. He adapted, of
> > course, but his initial reaction was right. All those semicolons are
> > nothing more than a lot of noise. They are litter in your code, and if
> > you never minded them at all, then your code is probably filled with
> > lots of other litter too. If so, I hope it is not being used in any
> > safety-critical systems.
> >
> > Russ Paielli
> 
> Major difference of opinion here:  those semicolons are not "litter,"
> but rather like the firestops in the wall of your house they provide
> an added margin of safety by compartmentalizing thoughts as the
> firestops compartmentalize the spaces in the structure.

Please take a look at how Fortran 95 handles source lines. Now, if you
don't like it, that is your perogative, but please don't give me any
garbage about how Ada's way is any better. It isn't. The two styles are
logically equivalent, but the Fortran style is cleaner and less likely
to generate annoying and useless compilation errors.

You'll probably be happy to know that I'm about ready to give up on this
thing (at least for now). I can't believe all the ridiculous
justifications I get for stupid syntax.

> As far as Ada's "popularity" goes, I think it fair to argue that it
> is more popular now than at any time in its history.  Although some
> shops have moved away from its use now the dreaded mandate has been
> rescinded, there is a lot more traffic on c.l.a from new users who
> don't carry baggage from that era.

Ya, right. It will be used for a good long time, just like HAL and
Jovial. Actually, I wish the best for Ada, but I am not encouraged.

Russ



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

* Re: How to make Ada a dominant language
  2001-08-01 17:55       ` Russ
@ 2001-08-01 18:26         ` Ted Dennison
  2001-08-02  8:53         ` Stefan Nobis
                           ` (2 subsequent siblings)
  3 siblings, 0 replies; 180+ messages in thread
From: Ted Dennison @ 2001-08-01 18:26 UTC (permalink / raw)


In article <3B6842AD.1C56ECBE@sneakemail.com>, Russ says...
>
>It would be interesting to add up all the time programmers spend going
>back and putting in semicolons and recompiling after the compiler
>catches their omission. I'll bet it's over a tenth of a percent of the
>programming time (of C/C++ and Ada programmers). Not much, eh? Let's

You'd get zippo out of me. I had lots of trouble with them in Pascal (which had
sillier rules for them, if I remember right). But I can't remember getting one
of those errors out of an Ada compiler in *years*. The closest I can think of is
the occasions that I accidently put an *extra* one in at the end of a parameter
spec list (more likely, when I delete the last paramter, and forget to remove
the semi on the previous line). But that is *really* rare.

If you have problems with this, I'd wadger you are just unused to the Algol
family of languages. That will pass with time.

But even if this *were* an issue (which its not), I don't think you'd get much
of a rise out of anyone here. Most of us Ada folk are way more concerned about
the time spent debugging our code than we are about the time we spend placating
the compiler (or typing it up, for that matter). There's just no comparison
between the two where effort expended is concerned. You'd have much more luck
saying something like, "here's a *new* check that Ada compilers should be forced
to do for all code". For instance, you almost have me with your "mandatory
indention checking" argument...

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



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

* Re: How to make Ada a dominant language
  2001-08-01 16:56                                 ` Marin David Condic
@ 2001-08-01 19:18                                   ` Ed Falis
  0 siblings, 0 replies; 180+ messages in thread
From: Ed Falis @ 2001-08-01 19:18 UTC (permalink / raw)


Marin David Condic wrote:
> 
> I'll bet that using some version of this kind of iterative prototyping to
> approaching an ultimate product is done a lot more often than many of us may
> want to admit. It probably is also capable of producing good designs and
> reliable products in less time than more formal methods for some classes of
> problems. I doubt it is the sort of thing one would want to use to develop a
> major banking network system or a complex rocket launch control system (I've
> seen such things organically grown) but for some kinds of smaller, self
> contained problems, this is probably a good design methodology for the
> experienced developer. Lets face it - most of us think better in Ada than we
> do in UML or Mil-Std-2167a documents. That, and we like to experiment with
> different approaches to gain enlightment. (Think about it a little, hack a
> little code, run some tests, fix some bugs, go back to step one...) We don't
> generally want to draw a diagram, start writing the code, discover there is
> a better way to do it and be forced to decide to either redraw the diagram
> or stick with it and have a sub-optimal answer.
> 
> I'd consider the technique valid, but before declaring "Victory", I'd want
> to review the prototype(s) and take a decision about using it "as is" or
> using it as a model for a more robust design/implementation.

You might want to check out "extreme programming".  It's a method that
tries to add discipline to such an iterative process by combining
various practices synergistically.  It's not intended for large programs
involving hundreds of programmers, but has been used successfully in
efforts involving 20 or less.  And AUnit, the GPL-ed unit test framework
for Ada (at adapower) supports one of the key practices of the method -
test first programming.  You can start at www.xprogramming.com

- Ed



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

* Re: How to make Ada a dominant language
  2001-08-01 13:17                           ` Ted Dennison
@ 2001-08-01 22:15                             ` David Bolen
  0 siblings, 0 replies; 180+ messages in thread
From: David Bolen @ 2001-08-01 22:15 UTC (permalink / raw)


Ted Dennison<dennison@telepath.com> writes:

> In article <uzo9ksipu.fsf@ctwd0143.fitlinxx.com>, David Bolen says...
> >
> >I do cringe when I think of all those VB programmers (of which I am
> >not one, although I work with them) considering an application to be
> >nothing more than snippets of code associated with GUI elements, but
> 
> In some environments that may be accurate. But even a GUI app needs
> to have the GUI *designed* before someone starts working on it. I
> usually use a whiteboard for this purpose, as its quickest for
> erasing and redrawing.

That's sort of the point about the RADs nowadays though - it's pretty
common _not_ to bother designing the GUI up front, but just start
dropping controls around and then re-arranging them in the editor
until it looks ok (or for a truly quick 'n dirty test app, just
leaving them where they fall), and then associating code with them
based on what they on-the-fly think that the button or widget should
be doing.

To be honest, for really rapid, throwaway utilities, it can vastly
streamline getting something running that actually has a reasonable
GUI.  Why draw/erase on a whiteboard, when you can just add/delete the
button on the screen.  But it risks very quickly getting messy as
something gets bigger, and/or that "throwaway" thing is realized not
to be so throwable.

It's not that you can't do design up front, and I'm sure many people
do, but that the environments actually make it enticingly easy not to
bother with it, while the negative impacts are less obvious to see
until later.

--
-- David
-- 
/-----------------------------------------------------------------------\
 \               David Bolen            \   E-mail: db3l@fitlinxx.com  /
  |             FitLinxx, Inc.            \  Phone: (203) 708-5192    |
 /  860 Canal Street, Stamford, CT  06902   \  Fax: (203) 316-5150     \
\-----------------------------------------------------------------------/



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

* Re: How to make Ada a dominant language
  2001-07-30 17:19                 ` Darren New
  2001-07-31  7:35                   ` Preben Randhol
@ 2001-08-02  1:36                   ` David Starner
  2001-08-02  8:01                     ` Larry Kilgallen
                                       ` (4 more replies)
  1 sibling, 5 replies; 180+ messages in thread
From: David Starner @ 2001-08-02  1:36 UTC (permalink / raw)


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

Darren New <dnew@san.rr.com> wrote in message
news:3B659726.33E301CA@san.rr.com...
>> �Don't use C;  In my opinion,  C is a library programming language
>>  not an app programming language.�  - Owen Taylor (GTK+ developer)
>
> C is a sucky library programming language as well. Less sucky than a lot
> of other things, but the lack of any sort of first-class non-primitive
> data really bites for library development. (I.e., the fact that you
> can't return a string is quite a hinderance to most of the libraries I
> tend to write.)

But it has the huge advantage of having the stablest, standardist binary API
on most systems, and being useable from almost every programming language in
active use. Often, the only safe way to connect to systems in the same
language compiled by different compilers is through a C interface.

--
David Starner - dstarner98@aasaa.ofe.org
"The pig -- belongs -- to _all_ mankind!" - Invader Zim






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

* Re: How to make Ada a dominant language
  2001-08-01 16:05     ` Russ
@ 2001-08-02  5:21       ` Warren W. Gay VE3WWG
  0 siblings, 0 replies; 180+ messages in thread
From: Warren W. Gay VE3WWG @ 2001-08-02  5:21 UTC (permalink / raw)


Russ wrote:
> David Gillon wrote:
> > Russ wrote:
> > > Furthermore, I think the idea of having another "dialect" of Ada is an
> > > innovative concept with real potential. If you reject it out hand, you
> > > simply have a closed mind.
> >
> > Allowing a dialect of Ada is directly contrary to one of Ada's
> > fundamental design concepts. Rejecting the idea isn't the knee-jerk idea
> > you seem to think. Look up the concepts behind the Ada Compiler
> > Validation suite.
> 
> I would agree with that philosophy if the dialects were incompatible,
> but the dialect I am proposing could be automatically translated back
> and forth with standard Ada95.
> 
> Russ

This means that you want to make Ada95 and intermediate language; I don't
think that would be received too well; This adds a software layer that
adds complexity; Complexity not only breeds bugs; It breeds contempt;

Just my $0.02 worth;

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



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

* Re: How to make Ada a dominant language
  2001-08-02  1:36                   ` David Starner
@ 2001-08-02  8:01                     ` Larry Kilgallen
  2001-08-02  8:11                       ` David Starner
  2001-08-02 14:47                     ` Ted Dennison
                                       ` (3 subsequent siblings)
  4 siblings, 1 reply; 180+ messages in thread
From: Larry Kilgallen @ 2001-08-02  8:01 UTC (permalink / raw)


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

In article <9kae23$38a$1@news-central.tiac.net>, "David Starner" <dstarner98@aasaa.ofe.org> writes:
> Darren New <dnew@san.rr.com> wrote in message
> news:3B659726.33E301CA@san.rr.com...
>>> �Don't use C;  In my opinion,  C is a library programming language
>>>  not an app programming language.�  - Owen Taylor (GTK+ developer)
>>
>> C is a sucky library programming language as well. Less sucky than a lot
>> of other things, but the lack of any sort of first-class non-primitive
>> data really bites for library development. (I.e., the fact that you
>> can't return a string is quite a hinderance to most of the libraries I
>> tend to write.)
> 
> But it has the huge advantage of having the stablest, standardist binary API

I am not at all convinced that most standard goes with most stable.
You should add some proof.

> on most systems, and being useable from almost every programming language in
> active use. Often, the only safe way to connect to systems in the same
> language compiled by different compilers is through a C interface.

And "often" operating systems come from Microsoft.  Ada also has
standardized interfaces to Fortran and Cobol.

But on VMS there is a common calling standard for all languages.
I don't mean to slight any other operating systems that are
language-neutral, but the idea that interfaces between languages
might use null-terminated strings is like passing the cup around
to make sure _everybody_ gets typhoid.

Pointer arithmetic is the wave of the past.



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

* Re: How to make Ada a dominant language
  2001-08-02  8:01                     ` Larry Kilgallen
@ 2001-08-02  8:11                       ` David Starner
  2001-08-02 12:11                         ` Larry Kilgallen
  0 siblings, 1 reply; 180+ messages in thread
From: David Starner @ 2001-08-02  8:11 UTC (permalink / raw)


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

> In article <9kae23$38a$1@news-central.tiac.net>, "David Starner"
<dstarner98@aasaa.ofe.org> writes:
> > Darren New <dnew@san.rr.com> wrote in message
> > news:3B659726.33E301CA@san.rr.com...
> >>> �Don't use C;  In my opinion,  C is a library programming language
> >>>  not an app programming language.�  - Owen Taylor (GTK+ developer)
> >>
[...]
> >
> > But it has the huge advantage of having the stablest, standardist binary
API
>
> I am not at all convinced that most standard goes with most stable.
> You should add some proof.

As a standard, there's the System V ABI, that was designed primarily for C,
and the IA64 ABI designed for C and C++.  C has standardized symbol name
mangling, something few other languages can claim.

> > on most systems, and being useable from almost every programming
language in
> > active use. Often, the only safe way to connect to systems in the same
> > language compiled by different compilers is through a C interface.
>
> And "often" operating systems come from Microsoft.  Ada also has
> standardized interfaces to Fortran and Cobol.

Ada does have standardized interfaces to Fortran and Cobol, both of which
are more or less irrelevant in the scope of Owen Taylor's work. (There's no
usable open-source Fortran 90/95 or Cobol compiler, and the number of
open-source  programs in Fortran 77 is small.) How about Objective C? How
about O'Caml? How about Perl and Python? How about Eiffel? How about
compiled (non-JVM) Java? How about Pascal? (Okay, that's little better than
Fortran.) GTK has bindings in 14 languages, including all the above but
Java.

> But on VMS there is a common calling standard for all languages.

(What does all languages mean? Surely you don't mean every language
created?)

Unfortunately, that's rare among operating systems. Pretty much every OS I'm
familiar of defines calling standards for one or two languages, and lets the
others fend for themselves.

> I don't mean to slight any other operating systems that are
> language-neutral, but the idea that interfaces between languages
> might use null-terminated strings is like passing the cup around
> to make sure _everybody_ gets typhoid.
>
> Pointer arithmetic is the wave of the past.

How do you go from null-terminated strings to pointer arithmetic? Pointer
arithmetic is orthogonal to the C calling convention. If your arrays don't
carry bounds information with them, then null-terminated strings seem a
reasonable way to go. I won't argue that the interface is wonderful, but I
could interface almost any two Ada functions through it, so it's fairly
complete and working.

--
David Starner - dstarner98@aasaa.ofe.org
"The pig -- belongs -- to _all_ mankind!" - Invader Zim





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

* Re: How to make Ada a dominant language
  2001-08-01 13:48             ` Stefan Nobis
@ 2001-08-02  8:32               ` Pascal Obry
  0 siblings, 0 replies; 180+ messages in thread
From: Pascal Obry @ 2001-08-02  8:32 UTC (permalink / raw)



Stefan Nobis <stefan@snobis.de> writes:

> Russ <18k11tm001@sneakemail.com> writes:
> 
> > > Take a look at the code (proposed new Ada):
> > > 
> > > if A = 0 then
> > >    A = 1;
> > > end if;
> > > 
> > > rather than (the original Ada):
> > > 
> > > if A = 0 then
> > >    A := 1;
> > > end if;
> > 
> > I think Python has an extremely simple solution to this so-called
> > "problem". Python simply disallows assignment inside an "if"
> 
> You missed the point: There is no problem with assignment versus equality but
> a problem with the readabilty of the code! In the later case a human reader is
> able to distinguish between assignment and equality very ease and at first
> glance, in the first case he has to take a second look to see, if "=" is used
> as assignment or as equality. That's the problem. And Ada is made for better
> readabilty so the later version is the better one.

I agree and what about:

C : Integer;
A : Boolean;

if A = True then
  A = C = 1;
end if;

Of course, the current implementation is quite clear:

if A = True then
  A := C = 1;
end if;

I really think that this whole thread serve to nothing. Russ, the best way to
have your proposal intregrated at some point is to propose it to the
ARG. Maybe they will understand better than us the added value!

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--|
--| "The best way to travel is by means of imagination"



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

* Re: How to make Ada a dominant language
  2001-08-01 17:55       ` Russ
  2001-08-01 18:26         ` Ted Dennison
@ 2001-08-02  8:53         ` Stefan Nobis
  2001-08-02 10:34         ` AG
  2001-08-02 20:35         ` Barry Kelly
  3 siblings, 0 replies; 180+ messages in thread
From: Stefan Nobis @ 2001-08-02  8:53 UTC (permalink / raw)


Russ <18k11tm001@sneakemail.com> writes:

> It would be interesting to add up all the time programmers spend going
> back and putting in semicolons and recompiling after the compiler

Just use a good editor. I never press return to go to the next line, but i
press ; instead. My editor then knows the line is complete and jumps to the
next line automagically. So to eliminate semikola out of the language makes me
type return instead of ;. Where is the difference -- in one case i press one
key and in the other case i press another key.

So if you have problems pressing one of the two keys, why should these
problems go away if you have to press another key? And if you have to press
both you should just use a better editor (that's what you asked others when
they complained about tabs/spaces).

> perogative. With all due respect, however, I find most of the objections
> to my proposal to be unconvincing. On the one hand, most people seem to

I find you complete proposal unconvincing. So what?

There are many decisions you have to make if you are designing a language. But
if a language is wide spread you should not mess around with fundamental
things like the syntax. That's why C++ is based on the syntax of C (Stroustrup
knew all the problems with C and it's syntax, but he also knew that his new
language would only be accepted by many developers, if the changed on
fundamental things like syntax and basic semantics are not too big).

The question if blockbuilding is done with whitespaces or explicit commands
and if the end of statements are denoted by a whitespace or another character
is a really minor problem. Both ways have their pros and cons.

-- 
Until the next mail...,
Stefan.



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

* Re: How to make Ada a dominant language
  2001-08-01 18:10     ` Russ
@ 2001-08-02 10:34       ` Leif Roar Moldskred
  0 siblings, 0 replies; 180+ messages in thread
From: Leif Roar Moldskred @ 2001-08-02 10:34 UTC (permalink / raw)


Russ <18k11tm001@sneakemail.com> wrote:

> Please take a look at how Fortran 95 handles source lines. Now, if you
> don't like it, that is your perogative, but please don't give me any
> garbage about how Ada's way is any better. It isn't. The two styles are
> logically equivalent, but the Fortran style is cleaner and less likely
> to generate annoying and useless compilation errors.

Err... He's not allowed to claim that Ada's way is the better, but
you're allowed to claim that Fortran95's way is better?

Really. It's one thing to be opinionated, but you're verging on
fanatical.

> You'll probably be happy to know that I'm about ready to give up on this
> thing (at least for now). I can't believe all the ridiculous
> justifications I get for stupid syntax.

I've followed all of this thread, and I can't see I've seen anyone
make justifications for the syntax. Some people have said "A
divergence of the Ada standard would be worse than any gain in
syntax.", and some have said "I don't agree with you that the syntax
is stupid." Neither point of view is a justification.


-- 
Leif Roar Moldskred
closet Adaphile



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

* Re: How to make Ada a dominant language
  2001-08-01 17:55       ` Russ
  2001-08-01 18:26         ` Ted Dennison
  2001-08-02  8:53         ` Stefan Nobis
@ 2001-08-02 10:34         ` AG
  2001-08-02 20:35         ` Barry Kelly
  3 siblings, 0 replies; 180+ messages in thread
From: AG @ 2001-08-02 10:34 UTC (permalink / raw)



"Russ" <18k11tm001@sneakemail.com> wrote in message
news:3B6842AD.1C56ECBE@sneakemail.com...

> No, it's not that I want something I'm "used to." On the contrary, I
> want to get RID of something I'm tired of: the semicolons in C/C++.

Assembler then? (Various Assemblers may use semicolons too but at
least not for that purpose). They also don't typically like the free-form
text arrangment...

> It would be interesting to add up all the time programmers spend going
> back and putting in semicolons and recompiling after the compiler
> catches their omission. I'll bet it's over a tenth of a percent of the
> programming time (of C/C++ and Ada programmers).

Someone else already posted that missing semicolons is extremely rare,
after all they are there to punctuate what should be punctuated in any case
so they come naturally. But, what about the time spent on going back and
*removing* the extra semicolons I put in in some other compiler that doesn't
like them? And to put the matter in perspective: 0.1% of a (say) 40 hour
working week means 144 seconds per week. I suggest you would have
a very hard time selling that as a major savings to management. And never
mind the phony trick of doing the nation-wide or world-wide totals - in that
case you would also need to convince the nation-wide or world-wide
congregation of managers. 144 seconds eh? What about a minute or two
you spend every time you reboot <<some OS>>?

> But the issue is deeper than that. The unnecessary delays and annoyances
> disturb a programmers continuity. Why do you think "scripting" languages
> are so much better for rapid prototyping?

One thing that often gets forgotten is the meaning of the word "prototype".
It sort of suggests that this isn't a real product - just some sort of a
preliminary
scetch to be thrown out and replaced with a *real* thing. You wouldn't
really
like to drive a prototype car would you? Or fly a prototype plane? Not
unless
that happens to be your job I suppose.

> Eliminating semicolons will not eliminate the compile cycle,
> but it will make it much less annoying, thereby making Ada more
> convenient for another whole class of applications.

It will just move some percentage of the "missing semicolon" errors to the
later
run-time/testing stages. Much more annoying, isn't it?






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

* Re: How to make Ada a dominant language
  2001-08-02  8:11                       ` David Starner
@ 2001-08-02 12:11                         ` Larry Kilgallen
  0 siblings, 0 replies; 180+ messages in thread
From: Larry Kilgallen @ 2001-08-02 12:11 UTC (permalink / raw)


In article <9kb56v$pjr$1@news-central.tiac.net>, "David Starner" <dstarner98@aasaa.ofe.org> writes:

>> But on VMS there is a common calling standard for all languages.
> 
> (What does all languages mean? Surely you don't mean every language
> created?)

I mean all compiled languages for which there is a compiler on VMS.
Nobody, no matter how academic, would presume to provide a VMS compiler
without using the calling standard.

> Unfortunately, that's rare among operating systems. Pretty much every OS I'm
> familiar of defines calling standards for one or two languages, and lets the
> others fend for themselves.

There are are descriptors for strings, arrays and non-continguous
arrays, all with bounds information, plus lots of atomic data types.
For records, you need to use compatible record declarations (such
as those created with the SDL tool), but there is a standard for how
to lay those records out (padding and the like) followed by the
languages.



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

* Re: How to make Ada a dominant language
  2001-08-02  1:36                   ` David Starner
  2001-08-02  8:01                     ` Larry Kilgallen
@ 2001-08-02 14:47                     ` Ted Dennison
  2001-08-02 16:10                       ` Darren New
  2001-08-02 16:09                     ` Darren New
                                       ` (2 subsequent siblings)
  4 siblings, 1 reply; 180+ messages in thread
From: Ted Dennison @ 2001-08-02 14:47 UTC (permalink / raw)


In article <9kae23$38a$1@news-central.tiac.net>, David Starner says...
>But it has the huge advantage of having the stablest, standardist binary API
>on most systems, and being useable from almost every programming language in
>active use. Often, the only safe way to connect to systems in the same
>language compiled by different compilers is through a C interface.

So what? Its just the *interface*. Its perfectly reasonable for an OS to have a
standard calling interface for os lib's (eg: Stdcall on Win32, C on Unix), and I
know of no Ada compiler that is unable to import and export routines using the
standard OS calling interface for its platform. 

To pick a nit as well, "most systems" are Win32, which does *not* use the C
calling interface as its standard interface for OS calls. Someone else pointed
out that VMS doesn't exactly work that way either. Unix is actually the odball
here, probably due to its C heritage. 

C coders like to view things the way you state, as it reaffirms their delusion
that the world revolves around them. In fact, often a bit of work has to be done
by header file authors to interface with OS libraries, but since users don't
often write those headers, they can ignore that fact. Don't take up their myopia
as your own.

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



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

* Re: How to make Ada a dominant language
  2001-08-02  1:36                   ` David Starner
  2001-08-02  8:01                     ` Larry Kilgallen
  2001-08-02 14:47                     ` Ted Dennison
@ 2001-08-02 16:09                     ` Darren New
  2001-08-02 23:39                     ` bruns
  2001-08-03  3:40                     ` Larry Kilgallen
  4 siblings, 0 replies; 180+ messages in thread
From: Darren New @ 2001-08-02 16:09 UTC (permalink / raw)


> But it has the huge advantage of having the stablest, standardist binary API
> on most systems,

Sorry, more stable than assembler? Fortunately, even C++ has a mechanism
for using the C calling convention. 

> and being useable from almost every programming language in
> active use.

That too would be assembler.

So apparently, the main benefit to using C for writing libraries is that
it's really close to assembler.

Of course, the other problem is mismatches between .h and .c files, the
fact that even in *source* code you generally don't have compatibility
of function declarations[1], and the fact that C is so primitive that
it's almost impossible to take a subsection of functionality from a
program and reuse it elsewhere[2].

[1] For example, how many times have you seen macros for K&R C inside an
extern "C" macro? How often have you seen "void" or "extern" defined as
a macro?

[2] Hint: Try to take the MIME parser out of a mime-compliant email
client and see how easy it is to incorporate into a new program that
doesn't operate on mailboxes, as an example.

I don't know how much Ada does to solve [2], but my experience with C is
that it takes significant forethought to library reusability *because* C
supplies so little in the way of language capabilities, even to the
point where you have to have special conventions for returning values
from functions.


-- 
Darren New / Senior MTS & Free Radical / Invisible Worlds Inc.
San Diego, CA, USA (PST). Cryptokeys on demand. dnew@san.rr.com
          Only a WIMP puts wallpaper on his desktop.



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

* Re: How to make Ada a dominant language
  2001-08-02 14:47                     ` Ted Dennison
@ 2001-08-02 16:10                       ` Darren New
  2001-08-02 19:30                         ` Larry Kilgallen
  2001-08-02 20:52                         ` Larry Kilgallen
  0 siblings, 2 replies; 180+ messages in thread
From: Darren New @ 2001-08-02 16:10 UTC (permalink / raw)


Ted Dennison wrote:
> Unix is actually the odball
> here, probably due to its C heritage.

And when you get right down to it, OS calls are never standard calls
unless your processor supports changing privledges as part of a "normal"
call. (Or unless your OS makes no such privledge distinction, of
course.)

I don't think I want to use a system trap for every function call.

-- 
Darren New / Senior MTS & Free Radical / Invisible Worlds Inc.
San Diego, CA, USA (PST). Cryptokeys on demand. dnew@san.rr.com
          Only a WIMP puts wallpaper on his desktop.



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

* Re: How to make Ada a dominant language
  2001-08-02 19:30                         ` Larry Kilgallen
@ 2001-08-02 19:04                           ` Darren New
  0 siblings, 0 replies; 180+ messages in thread
From: Darren New @ 2001-08-02 19:04 UTC (permalink / raw)


Larry Kilgallen wrote:
> 
> In article <3B697B8B.175A87D8@san.rr.com>, Darren New <dnew@san.rr.com> writes:
> > Ted Dennison wrote:
> >> Unix is actually the odball
> >> here, probably due to its C heritage.
> >
> > And when you get right down to it, OS calls are never standard calls
> > unless your processor supports changing privledges as part of a "normal"
> > call. (Or unless your OS makes no such privledge distinction, of
> > course.)
> 
> In VMS, the OS calls made by user mode programs are standard calls.
> A portion of the operating system then takes that call (in user mode)
> and does one of the following:
> 
>         traps to kernel mode
>         traps to executive mode
>         completes the work in user mode

Well, I'd argue that the first two aren't standard calls (they're traps)
and that the third is simply a library call. I.e., you could say the
same things about C and UNIX. "read()" is really a C call that just
happens to trap to the OS to do the work. My point was that there's a
non-standard non-C calling convention involved in OS calls even in UNIX.

That said, VMS is one of the cleanest processors for doing this sort of
stuff, which is why everyone uses the same calling convention. :-)

My point was that claiming it's easier to call the OS from C than from
(say) Ada is specious, since calling "read()" in C isn't calling the OS.
It's calling a C library function that isn't written in C and which then
calls the OS with a non-C calling convention.

> When discussing the universe of operating systems, it is best to
> avoid use of the word "never".

Or at least to be clear about what you're trying to express.

-- 
Darren New / Senior MTS & Free Radical / Invisible Worlds Inc.
San Diego, CA, USA (PST). Cryptokeys on demand. dnew@san.rr.com
          Only a WIMP puts wallpaper on his desktop.



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

* Re: How to make Ada a dominant language
  2001-08-02 16:10                       ` Darren New
@ 2001-08-02 19:30                         ` Larry Kilgallen
  2001-08-02 19:04                           ` Darren New
  2001-08-02 20:52                         ` Larry Kilgallen
  1 sibling, 1 reply; 180+ messages in thread
From: Larry Kilgallen @ 2001-08-02 19:30 UTC (permalink / raw)


In article <3B697B8B.175A87D8@san.rr.com>, Darren New <dnew@san.rr.com> writes:
> Ted Dennison wrote:
>> Unix is actually the odball
>> here, probably due to its C heritage.
> 
> And when you get right down to it, OS calls are never standard calls
> unless your processor supports changing privledges as part of a "normal"
> call. (Or unless your OS makes no such privledge distinction, of
> course.)

In VMS, the OS calls made by user mode programs are standard calls.
A portion of the operating system then takes that call (in user mode)
and does one of the following:

	traps to kernel mode
	traps to executive mode
	completes the work in user mode

after either of the first two, this user mode code may wait for
completion of the system service.  Since the waiting is done in
user mode, the user can interrupt it can request image rundown
or take a more innocuous action.

When discussing the universe of operating systems, it is best to
avoid use of the word "never".



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

* Re: How to make Ada a dominant language
  2001-07-30 12:52     ` Gary Lisyansky
  2001-07-30 13:38       ` Russ Paielli
  2001-07-31  9:32       ` Philip Anderson
@ 2001-08-02 20:35       ` Barry Kelly
  2001-08-03  0:07         ` Keith Thompson
  2001-08-03  6:35         ` Gary Lisyansky
  2001-08-16  5:19       ` David Thompson
  3 siblings, 2 replies; 180+ messages in thread
From: Barry Kelly @ 2001-08-02 20:35 UTC (permalink / raw)


In article <9k3l9r$10i2$1@pa.aaanet.ru>
	"Gary Lisyansky" <gary_the_fox@richmond.com> wrote:

> Pascal uses Ada- like syntax,

Wrong. Ada uses Pascal-like syntax.

> > > Why is it so very important to use = to set a value and then == when you
> > > check it? I have not understood this.
> >
> > Because "=" is the simplest fricking symbol that could possibly be used
> > for assignment. Why is this so hard for Ada programmers to understand?
> > What's so great about ":="? Why not use "$=" or "%="?
> 
> It's a change for the sake of change. It doesn't eliminate any serious
> verbosity. ":=" is simply traditional.

"=" for assignment is mathematically meaningless. What mathematician
in their right minds would write

 i = i + 1

?


-- Barry

-- 
  If you're not part of the solution, you're part of the precipitate.
Team JEDI: http://www.delphi-jedi.org
NNQ - Quoting Style in Newsgroup Postings
  http://web.infoave.net/~dcalhoun/nnq/nquote.html



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

* Re: How to make Ada a dominant language
  2001-08-01 17:55       ` Russ
                           ` (2 preceding siblings ...)
  2001-08-02 10:34         ` AG
@ 2001-08-02 20:35         ` Barry Kelly
  3 siblings, 0 replies; 180+ messages in thread
From: Barry Kelly @ 2001-08-02 20:35 UTC (permalink / raw)


In article <3B6842AD.1C56ECBE@sneakemail.com>
	Russ <18k11tm001@sneakemail.com> wrote:

> It would be interesting to add up all the time programmers spend going
> back and putting in semicolons and recompiling after the compiler
> catches their omission. I'll bet it's over a tenth of a percent of the
> programming time (of C/C++ and Ada programmers). Not much, eh?

You haven't done much Ada/Pascal/C/C++ programming, have you?

Happens about once a month. And that's pushing it.

-- Barry

-- 
  If you're not part of the solution, you're part of the precipitate.
Team JEDI: http://www.delphi-jedi.org
NNQ - Quoting Style in Newsgroup Postings
  http://web.infoave.net/~dcalhoun/nnq/nquote.html



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

* Re: How to make Ada a dominant language
  2001-08-02 16:10                       ` Darren New
  2001-08-02 19:30                         ` Larry Kilgallen
@ 2001-08-02 20:52                         ` Larry Kilgallen
  1 sibling, 0 replies; 180+ messages in thread
From: Larry Kilgallen @ 2001-08-02 20:52 UTC (permalink / raw)


In article <3B69A428.B31867A4@san.rr.com>, Darren New <dnew@san.rr.com> writes:
> Larry Kilgallen wrote:
>> 
>> In article <3B697B8B.175A87D8@san.rr.com>, Darren New <dnew@san.rr.com> writes:
>> > Ted Dennison wrote:
>> >> Unix is actually the odball
>> >> here, probably due to its C heritage.
>> >
>> > And when you get right down to it, OS calls are never standard calls
>> > unless your processor supports changing privledges as part of a "normal"
>> > call. (Or unless your OS makes no such privledge distinction, of
>> > course.)
>> 
>> In VMS, the OS calls made by user mode programs are standard calls.
>> A portion of the operating system then takes that call (in user mode)
>> and does one of the following:
>> 
>>         traps to kernel mode
>>         traps to executive mode
>>         completes the work in user mode
> 
> Well, I'd argue that the first two aren't standard calls (they're traps)
> and that the third is simply a library call.

The first two are genuine standard calls, that execute code in user
mode that happens to be part of the operating system.  _That_ code
then initiates a trap.  Thus, the only interface from the user's
program (which is what I thought we were talking about) is a standard
call.

The third is not a library call because it does not call a library.
It is a call to a routine in the operating system base code that could
be changed to use executive or kernel mode in a future version without
breaking user programs.



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

* Re: How to make Ada a dominant language
  2001-08-02  1:36                   ` David Starner
                                       ` (2 preceding siblings ...)
  2001-08-02 16:09                     ` Darren New
@ 2001-08-02 23:39                     ` bruns
  2001-08-03  7:28                       ` Pascal Obry
  2001-08-03 13:59                       ` Marin David Condic
  2001-08-03  3:40                     ` Larry Kilgallen
  4 siblings, 2 replies; 180+ messages in thread
From: bruns @ 2001-08-02 23:39 UTC (permalink / raw)


 Dear Ada community,

 Let me tell you what would trigger that I use Ada for my projects:
 In short: A Ada-C Compiler would bring me to that state.

 Although I use almost exclusively Fortran,
 my projects run on all machines that have a C-Compiler.
 If I have to port my projects to a machine where no Fortran compiler
 is available for, I use a Fortran to C translator (NAG-f90).

 C is portable assembler.
 So, eg. GNAT should target C.

 No, GNAT does not run on all systems that I target:
 
 Is there a GNAT for Linux on Alpha?
 Is there a GNAT for Cray T3E? 

 Okay, I am interested mainly in high performance computing,
 so I will continue to use Fortran for the compute intensive tasks,
 but I would immediately start using Ada for the rest, as soon
 as I can be shure that, for the rest of the millenium, there will
 be a tool to transform my Ada parts to object code.
 I am shure that C and Fortran will be available until the end of
 my life. I am quite shure that C++ compilers for many machines
 will be available. Other languages ...

 Why not a Ada to C ( portable assembler ) translator?

 Warner



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

* Re: How to make Ada a dominant language
  2001-08-02 20:35       ` Barry Kelly
@ 2001-08-03  0:07         ` Keith Thompson
  2001-08-03  6:35         ` Gary Lisyansky
  1 sibling, 0 replies; 180+ messages in thread
From: Keith Thompson @ 2001-08-03  0:07 UTC (permalink / raw)


Barry Kelly <dynagen@eircom.net> writes:
> In article <9k3l9r$10i2$1@pa.aaanet.ru>
> 	"Gary Lisyansky" <gary_the_fox@richmond.com> wrote:
> 
> > Pascal uses Ada- like syntax,
> 
> Wrong. Ada uses Pascal-like syntax.

Well, actually both statements are correct; the first doesn't
*necessarily* imply ordering.  Someone familiar with Ada encountering
Pascal for the first time would quite naturally say that Pascal uses
Ada-like syntax (but where did these crazy semicolon rules come
from??).

> "=" for assignment is mathematically meaningless. What mathematician
> in their right minds would write
> 
>  i = i + 1
> 
> ?

One who's writing a C or Fortran program.

-- 
Keith Thompson (The_Other_Keith) kst@cts.com  <http://www.ghoti.net/~kst>
San Diego Supercomputer Center           <*>  <http://www.sdsc.edu/~kst>
Cxiuj via bazo apartenas ni.



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

* Re: How to make Ada a dominant language
  2001-08-02  1:36                   ` David Starner
                                       ` (3 preceding siblings ...)
  2001-08-02 23:39                     ` bruns
@ 2001-08-03  3:40                     ` Larry Kilgallen
  4 siblings, 0 replies; 180+ messages in thread
From: Larry Kilgallen @ 2001-08-03  3:40 UTC (permalink / raw)


In article <9kcoc0$4ld$1@mamenchi.zrz.TU-Berlin.DE>, bruns@tetibm2.ee.TU-Berlin.DE () writes:
>  Dear Ada community,
> 
>  Let me tell you what would trigger that I use Ada for my projects:
>  In short: A Ada-C Compiler would bring me to that state.
> 
>  Although I use almost exclusively Fortran,
>  my projects run on all machines that have a C-Compiler.
>  If I have to port my projects to a machine where no Fortran compiler
>  is available for, I use a Fortran to C translator (NAG-f90).

The corresponding Ada product goes under the name AdaMagic (as do
some other products).  The company can be located under the name
Averstar on the www.adaic.org site (although I believe they are
changing the company name again).  The chief Ada honcho there is
Tucker Taft, who happens to have lead the Ada95 standardization
effort.  Tell him Larry Kilgallen sent you :-)



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

* Re: How to make Ada a dominant language
  2001-08-02 20:35       ` Barry Kelly
  2001-08-03  0:07         ` Keith Thompson
@ 2001-08-03  6:35         ` Gary Lisyansky
  1 sibling, 0 replies; 180+ messages in thread
From: Gary Lisyansky @ 2001-08-03  6:35 UTC (permalink / raw)



"Barry Kelly" <dynagen@eircom.net> wrote in message
news:3j6jmtchpgju4l9sj0qbi011nbahre2gbo@4ax.com...
> In article <9k3l9r$10i2$1@pa.aaanet.ru>
> "Gary Lisyansky" <gary_the_fox@richmond.com> wrote:
>
> > Pascal uses Ada- like syntax,
>
> Wrong. Ada uses Pascal-like syntax.
>
Wrong. Both two use Algol- like syntax.

Gary





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

* Re: How to make Ada a dominant language
  2001-08-02 23:39                     ` bruns
@ 2001-08-03  7:28                       ` Pascal Obry
  2001-08-03 18:53                         ` Lao Xiao Hai
  2001-08-03 13:59                       ` Marin David Condic
  1 sibling, 1 reply; 180+ messages in thread
From: Pascal Obry @ 2001-08-03  7:28 UTC (permalink / raw)



bruns@tetibm2.ee.TU-Berlin.DE () writes:

>  Dear Ada community,
> 
>  Let me tell you what would trigger that I use Ada for my projects:
>  In short: A Ada-C Compiler would bring me to that state.

No problem, this beast exist. Please contact AverStar if I'm not mistaken this
is the compagny which have an Ada to C compiler.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--|
--| "The best way to travel is by means of imagination"



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

* Re: How to make Ada a dominant language
  2001-08-02 23:39                     ` bruns
  2001-08-03  7:28                       ` Pascal Obry
@ 2001-08-03 13:59                       ` Marin David Condic
  1 sibling, 0 replies; 180+ messages in thread
From: Marin David Condic @ 2001-08-03 13:59 UTC (permalink / raw)


It would be nice if Ada (Gnat?) were available on every platform targeting
every processor, but unfortunately with limited resources, the developers
have to concentrate on the big-ticket items. Maybe one day Ada's
proliferation will be as widespread as that of C.

I believe Averstar http://www.averstar.com/ has an Ada compiler that
translates to C, but it may require some investment to get it ported to the
platforms you are interested in. I'd contact them and see what they say...

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


<bruns@tetibm2.ee.TU-Berlin.DE> wrote in message
news:9kcoc0$4ld$1@mamenchi.zrz.TU-Berlin.DE...
> Dear Ada community,
>
>  Let me tell you what would trigger that I use Ada for my projects:
>  In short: A Ada-C Compiler would bring me to that state.
>






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

* Re: How to make Ada a dominant language
  2001-08-03  7:28                       ` Pascal Obry
@ 2001-08-03 18:53                         ` Lao Xiao Hai
  0 siblings, 0 replies; 180+ messages in thread
From: Lao Xiao Hai @ 2001-08-03 18:53 UTC (permalink / raw)




Pascal Obry wrote:

> bruns@tetibm2.ee.TU-Berlin.DE () writes:
>
> >  Dear Ada community,
> >
> >  Let me tell you what would trigger that I use Ada for my projects:
> >  In short: A Ada-C Compiler would bring me to that state.
>
> No problem, this beast exist. Please contact AverStar if I'm not mistaken this
> is the compagny which have an Ada to C compiler.

Irvine Compiler Corporation also has a C-Path Ada compiler.

Richard Riehle




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

* Re: How to make Ada a dominant language
  2001-08-01  2:29 ` Russ
                     ` (5 preceding siblings ...)
  2001-08-01 17:12   ` Scott Ingram
@ 2001-08-07  2:55   ` Lao Xiao Hai
  2001-08-07  3:56     ` Darren New
  2001-08-07  7:34     ` Russ P.
  6 siblings, 2 replies; 180+ messages in thread
From: Lao Xiao Hai @ 2001-08-07  2:55 UTC (permalink / raw)


This has been an entertaining discussion.    There are several points that
Russ makes that deserve some careful response.    Some earlier messages
covered some of the points.   Most of those responses dealt with the
syntactic issues.   I choose to respond to his "with" / "use" observation
since this is at the heart of Ada's design.   As a prefatory
remark, we note that the default of every Ada construct intended to
be safe.  One can take a default of safe and relax it to a construct that
is less safe.  It is more difficult in a language where the default is
unsafe,
to promote a construct to one that is more safe.

Chapter Eight of the Ada Language Reference Manual has a set of
carefully delineated rules regarding the difference between scope and
visibility.   In my experience, more programmers have more difficulties
with Ada because of these rules than any other part of the language.   Yet,
we see that most programmers choose not to study this issue until their
frustration emboldens them to dash their mouse to the floor and smash it
in rage.

The language design for Ada is unique in its differentiation between scope
and visibility.   More recent language designs, for example the namespace
option of C++, have adopted a somewhat anemic version of this feature,
but Ada remains more powerful in this respect.

An #include statement in some popular languages has  the approximate
semantics of an Ada with/use combination.   I say approximate because
there are some additional rules that make Ada a tad more reliable.

Consider an electrician who decides to string some wire through your house.
It is typical that the wire will have insulation over most of its length and

some well-defined interfaces at other points, usually the terminal points.
A
similar kind of thing is done in many other engineering designs.   A
pipeline
is built with specific locations where one can open or close it for
extracting
the content, or for adding some content.

A "with" clause, in Ada, is somewhat analogous to stringing the wire through

the house.   We keep the insulation intact to reduce the probability of
burning
down the house.   All the electricity we want is streaming through that
wire,
but our access to it is carefully controlled.   If we want access to the
current,
we can cut a little piece from the insulation and tap into it with another
wire,
but we take care to replace the insulation for the splice when we are done.

An #include, as defined for most languages, does not have a concept of
insulation.
Every feature is directly exposed, all the time.  Some very interesting
errors can
occur in large-scale software.   Since an Ada context clause ("with") makes
nothing
directly visible, the software engineer has responsibility to identify where
to
remove the insulation, how to remove it, and precisely how much to remove.

A visibility clause ("use") makes everything visible.  This is the
equivalent of
removing all the insulation at one time.   Good Ada design suggests that
this
may be too much exposure, for a variety of reasons.   Consequently, we
employ
one of several mechanisms as alternatives to the global visibility clause.
As engineers, we should always be interested in techniques for reducing
risk.

The somewhat tedious technical discussion that follows is guaranteed to bore

experienced Ada programmers, but may be of some use to those new to the
language such as Mr. Paielli.

Given a package specification,

            package P1 is
                type T1 is ...
                type T2 is ...
                procedure Process (Q_Data : in out T1);
                procedure Process (R_Data : in out T2);
           private
               -- private declarations
           end P1;

we have several approaches available to controlling visibility and reducing
ambiguity.

The global visibility clause:

           with P1;
           use  P1;
           procedure Test_1 is
               X : T1;
               Y : T2;
               Z :  T2;
           begin
               if y = Z then
                  Process(X);
               end if;
           end Test_1;

For this little program, there is probably no difficulty.  However, one
might
want to further disambiguate by ensuring the right call is made.  For
example,

             Process (Q_Data => X);

would be a better choice for the parameter association.    As a point of
interest,
it is appropriate to use a different symbol than assignment for this since
the
semantics of association and assignment are quite different.

Another way to control visibility might be as follows:

           with P1;
           procedure Test_2 is
               use type P1.T2;
               X : P1.T1;
               Y : P1.T2;
               Z :  P1.T2;
           begin
               if Y = Z then
                  P1.Process(Q_Data => X);
               end if;
           end Test_2;

In this example, we have used the more restrictive version of the
visibility clause ("use type") so the equality operator will be
directly visible.   The problem with this is that, even though we
are now required to use dot notation for all operation calls, we
also make all the other infix operators visible.  For more rigorous
designs, we might want to avoid this approach.   Often, the
directly visibility of infix operators makes it easier to write some
code, but it also fails to restrict the writer to those options that,
from an engineering perspective, make sense.

Sometimes a programmer will localize the visibility clause.

           with P1;
           procedure Test_3 is
               X : P1.T1;
               Y : P1.T2;
               Z :  P1.T2;
           begin
               declare
                   use P1;  -- or better yet, use type P1.T2
               begin
                    if Y = Z then
                         P1.Process(Q_Data => X);
                    end if;
               end;
           end Test_3;

This does have the benefit of localizing the visibility clause.   However, a

well-crafted paper by Geoff Mendal once analyzed this option and found
it lacking in the rigor or disambiguity necessary for consistent
reliability.

Most Ada development organizations I deal with prefer the following:

           with P1;
           procedure Test_4 is
               X : P1.T1;
               Y : P1.T2;
               Z :  P1.T2;
               function "=" (L, R : P1.T2) return Boolean renames P1."="'
           begin
                    if Y = Z then
                         P1.Process(Q_Data => X);
                    end if;
           end Test_4;

In this example, we have made the equality operator directly visible through

renaming.   While this may seem somewhat bizzare to the newcomer, it
actually
has much to recommend it, from an engineering point-of-view.   This becomes
especially important when one wants to really restrict the set of operations

immediately available to a maintenance programmer in some distant time.

Another approach I have seen useful is a compromise.   I realize Tucker Taft

will leap all over me for continuing to suggest this alternative, but I find
some
organizations are using it with some success, and a minimum of risk.   This
is
the proactive approach of a nested infix operators package.  I personally
prefer
it to the "use type" clause.   I also prefer this to the creation of a child
library
unit, although that approach has much to recommend it.

           package P1 is
                type T1 is ...
                type T2 is ...
                procedure Process (Q_Data : in out T1);
                procedure Process (R_Data : in out T2);
                package Operators is
                    function "=" (L, R : P1.T2) return Boolean
                                                          renames P1."=");
                end Operators;
           private
               -- private declarations
           end P1;

Now we can have a use clause on the nested package only.

           with P1;
           procedure Test_5 is
               X : P1.T1;
               Y : P1.T2;
               Z :  P1.T2;
               use P1.Operators;
           begin
                    if Y = Z then
                         P1.Process(Q_Data => X);
                    end if;
           end Test_5;

In this case, the use clause applies only to the nested package.

I hope this clarifies a few issues related to the scope and visibility
features of Ada.   Certainly, there is more to be studied before one
can fully apprehend all of this topic.   However, it is, to my mind,
equally as important as the type safety that causes such a fuss.  This
aspect of Ada, along with type safety, is the foundation of the Ada
software engineering model.   We could change a lot of syntactic
rules, alter the reserved word list, and lots of other things, but we
would not want to relax the reliability of the language by abandoning
this important feature.

I hope this helps, Mr. Paielli.

Regards,

Richard Riehle

----------------------------------------------------------------------------------



Russ wrote:

> Well, I guess I touched some raw nerves with my proposal to clean up
> Ada's syntax. I certainly appreciate the feedback.
>
> I have come to the conclusion that my first item (eliminating the "end"
> keyword and making the indentation structure an inherent part of the
> syntax, as in Python) is NOT a good idea after all. The "end" lines
> really do help with readability, particularly for long procedures that
> end on a different page than they started.
>
> However, I still stand by the other items in my proposal. I think
> semicolons should be essentially eliminated, and I think "=" should be
> used for assignment and named association. I also still think the
> declaration syntax should be reversed. By the way, someone correctly
> pointed out that what I am proposing has a lot in common with Fortran
> 95.
>
> Furthermore, I think the idea of having another "dialect" of Ada is an
> innovative concept with real potential. If you reject it out hand, you
> simply have a closed mind.
>
> Most of the replies I received on this thread were very reasonable. A
> recurring theme, however, was that syntax is trivial and not worth
> discussing. I understand that the syntax is not the most important
> aspect of a language, but that doesn't mean it is not worth discussing
> or improving.
>
> I have a colleague who started programming in Fortran way back in the
> sixties (maybe even the fifties). He is a master algorithm developer and
> programmer. His code is meticulously correct, efficient, and minimal.
> When I introduced him to C and C++ several years ago, he was amazed that
> he had to clutter his code with all those semicolons and constantly put
> up with the compiler's nagging when one is left out. He adapted, of
> course, but his initial reaction was right. All those semicolons are
> nothing more than a lot of noise. They are litter in your code, and if
> you never minded them at all, then your code is probably filled with
> lots of other litter too. If so, I hope it is not being used in any
> safety-critical systems.
>
> Russ Paielli




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

* Re: How to make Ada a dominant language
  2001-08-07  2:55   ` Lao Xiao Hai
@ 2001-08-07  3:56     ` Darren New
  2001-08-07  7:34     ` Russ P.
  1 sibling, 0 replies; 180+ messages in thread
From: Darren New @ 2001-08-07  3:56 UTC (permalink / raw)


Wow. OK. That's way over the top, compared to the kinds of care I take,
and I'm more careful than most programmers I know. Where does one learn
such stuff? Or is it a matter of getting involved at the entry level in
a project where such things are necessary?

-- 
Darren New / Senior MTS & Free Radical / Invisible Worlds Inc.
San Diego, CA, USA (PST). Cryptokeys on demand. dnew@san.rr.com
"You probably noticed you can't breath underwater. Hence the tank."
   -- PADI instruction manual, page 107.



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

* Re: How to make Ada a dominant language
  2001-08-07  2:55   ` Lao Xiao Hai
  2001-08-07  3:56     ` Darren New
@ 2001-08-07  7:34     ` Russ P.
  2001-08-07 21:23       ` Lao Xiao Hai
  1 sibling, 1 reply; 180+ messages in thread
From: Russ P. @ 2001-08-07  7:34 UTC (permalink / raw)


Lao Xiao Hai wrote:
> 
> This has been an entertaining discussion.    There are several points that
> Russ makes that deserve some careful response.    Some earlier messages
> covered some of the points.   Most of those responses dealt with the
> syntactic issues.   I choose to respond to his "with" / "use" observation
> since this is at the heart of Ada's design.   As a prefatory
> remark, we note that the default of every Ada construct intended to
> be safe.  One can take a default of safe and relax it to a construct that
> is less safe.  It is more difficult in a language where the default is
> unsafe,
> to promote a construct to one that is more safe.

That's all very interesting, and I appreciate the explanation. However,
I did not make any statement whatsoever regarding the advisibility of
using "use" or the proper way to use it. The fact is that if you put
"use SomePackage" at the top of a file, it doesn't make sense unless you
have already put "with SomePackage" (or am I still missing something?).
All I am saying is that you shouldn't need the "with" statement if it is
already implied. Now, if that causes some logical problems, then I guess
it can't be done.

As for the other syntactical suggestions I made, I am still 100%
convinced that the Fortran/Python syntax for assignment, named
association, and lack of semicolons is better and cleaner than Ada
syntax. If you think that bad syntax should simply be left alone for the
sake of stability, than I disagree, but that's a judgment call. However,
if you've talked yourself into believing that the basic Ada syntax is
somehow safer or more precise, then you've talked yourself into
believing nonsense.

Ada is a great language for safety-critical systems--no doubt about it.
However, I think it could also be better than it is for rapid
prototyping if the syntax is cleaned up. Oh, I realize that other
languages will always be better than Ada for rapid prototyping, but that
is beside the point. What if I am doing rapid prototyping of algorithms
for a system that will eventually be safety-critical? For obvious
reasons, I may be better off doing the prototyping and the final design
in the same language. That's what I actually want to do, folks.

Russ P.
http://RussP.org



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

* Re: How to make Ada a dominant language
  2001-08-07  7:34     ` Russ P.
@ 2001-08-07 21:23       ` Lao Xiao Hai
  0 siblings, 0 replies; 180+ messages in thread
From: Lao Xiao Hai @ 2001-08-07 21:23 UTC (permalink / raw)




"Russ P." wrote:

> That's all very interesting, and I appreciate the explanation. However,
> I did not make any statement whatsoever regarding the advisibility of
> using "use" or the proper way to use it. The fact is that if you put
> "use SomePackage" at the top of a file, it doesn't make sense unless you
> have already put "with SomePackage" (or am I still missing something?).
> All I am saying is that you shouldn't need the "with" statement if it is
> already implied. Now, if that causes some logical problems, then I guess
> it can't be done.

Let me see if I can summarize.  A context clause, "with",  puts the services
of a library unit in scope.   A visibility clause, "use", makes all those
services directly visible.   In a sense, the visibility clause is similar to
the "import" clause in Java where the equivalent of a context clause is,
indeed, implied.

For production code, we discourage the visibility clause.  However, it is
still necessary to put selected library units in scope.   That selection is
enabled through the context clause, "with."   Ada never permits anything
to be implied.   Each construct is explicit and intentional.    There is a
very sound engineering principle in this model, but it does not always
jump to the eye.

As to your comments regarding syntatic changes, I did not respond to them
in my original post.   In my own programming practice, the current syntax
seems to work quite well so I have no complaint about it.   I do understand
that those who migrate to Ada from another language will sometimes find
the syntax unnatural.   When I migrated from Assembler to Fortran, all my
code looked as if I were coding Fortran in Assembler style.  When I had
to do some projects in COBOL, my COBOL code looked like Fortran.  When
I did my first project in C, my code looked like Assembler, and I actually found

C to be quite annoying.   As I gained more experience using a greater variety
of programming languages, I developed some preferences, but I also found
that I had little trouble simply adopting the syntax of each new language.

Adopting the structural differences of a new language was quite another matter.
On first encountering Ada, I found it confusing,  verbose, full of what I
thought
were unnecessary and extraneous constructs, and generally not my idea of a
great programming language.   Once I had some good experience with it, actually
writing code and designing programs, I changed my mind.  At present, I place
it quite high, syntax included, in my preference for programming languages. I
also like Eiffel, which has no C-family syntactic baggage, as well as Smalltalk.

These things are a matter of personal taste, as noted earlier by Mr. Falis.   So
far,
I have rarely encountered a programmer who was so set in the ways of one
language
that she/he found Ada syntax that annoying, after using it for a while.   I
respectfully
disagree with the proposition that language syntax has very much to do with
Ada's
lack of popularity.

Certainly the C-family syntax, borrowed heavily by Java, Python, C++, C#. Perl,
and Ruby, is more widely used.   That does not make it better.   The popularity
of this syntax does not originate in a search for better syntax.   It derives
from
a tendency to follow the "path of least resistance,"  common in human nature.

So I would consider changes in Ada syntax, at this juncture, to be a bad idea,
if
for no other reason than the many millions of lines of code, the many changes to

compiler design, and the many Ada programmers who are quite satisfied with it
as it is.   This is not to mention that some of the changes you have suggested
are
in the language to satisfy its underlying goal of reliability.   Many of those
syntactic
artifacts are in place to tip-off the compiler to a potential inconsistency in
design,
poor programming reasoning, or sloppy coding practice.   In some cases, they are

the key to the compiler's being able to detect unconfirmable constructs.

You may object to this line of reasoning, but I see no good reason to make
changes
in the language syntax unless those changes contribute to the underlying goal of

the language:  the ability to build more robust compilers that detect errors as
early
in the development process as possible.

I do appreciate your starting this dialogue since we all benefit from an
occasional
bit of criticism and questions about the rationale for the language design.

Thanks,

Richard Riehle




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

* Re: How to make Ada a dominant language
@ 2001-08-07 21:33 Gautier Write-only-address
  0 siblings, 0 replies; 180+ messages in thread
From: Gautier Write-only-address @ 2001-08-07 21:33 UTC (permalink / raw)
  To: comp.lang.ada

>For production code, we discourage the visibility clause.  However, it is
>still necessary to put selected library units in scope.   That selection is
>enabled through the context clause, "with."   Ada never permits anything
>to be implied.   Each construct is explicit and intentional.    There is a
>very sound engineering principle in this model, but it does not always
>jump to the eye.

This is why I'd suggest the "with and use Abcdef" that uses
only Ada keywords, BTW.

________________________________________________________
Gautier -- http://www.mysunrise.ch/users/gdm/gsoft.htm

NB: Do not answer to sender address, visit the Web site!
Ne r�pondez pas � l'exp�diteur, visitez le site ouaibe!



_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp




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

* Re: How to make Ada a dominant language
  2001-07-30 12:52     ` Gary Lisyansky
                         ` (2 preceding siblings ...)
  2001-08-02 20:35       ` Barry Kelly
@ 2001-08-16  5:19       ` David Thompson
  3 siblings, 0 replies; 180+ messages in thread
From: David Thompson @ 2001-08-16  5:19 UTC (permalink / raw)


Gary Lisyansky <gary_the_fox@richmond.com> wrote :
[ Ada vs C&friends declaration syntax ]
> Dubious. In reality, only C/C++/Java use this "type first" order in
> declarations. Pascal uses Ada- like syntax, VB uses even more verbose
> construct (Dim Count As Integer) and so on. I've never heard anyone complain
> about "var name first" declaration convention.
>
C declarations are actually "type outside" (identifier
"in the middle", aka "declaration follows use");
the canonical example is the Unix/POSIX "signal"
API, a function which takes an int and a pointer to
function of int returning void and returns a pointer
to function of int returning void:
  void (*signal(int, void (*)(int)))(int)
This reduces to "type first" only for types defined
entirely by specifiers and pointer (or C++ reference)
declarators (although mixing the latter is bugprone).
C++ is technically the same, but encourages
greater use of named and instantiated (template)
types, which fall into the "specifiers only" case
along with (in both languages) primitive types.
In C the contents of a struct (or union or enum)
follow the tag (if used) but precede the object
and/or typedef name(s); C++ is again technically
the same, with classes slightly modifying structs,
but encourages use of the tag only.

algol is the only language I know of which consistently
puts a complete type description before the identifier,
though it also allows alternative sugar for routines,
as do all(?) other languages that even have routine/
function/subprogram/etc. types to begin with.
Java allows either the C/C++ syntax or a swapped
(but not algolish) one for array, a syntax almost like
C++ for classes, no other data type derivation, and
method (routine) syntax like C/C++ prototypes.

Original FORTRAN split its limited type information
much like C; modern Fortran (F90,F95) moves more
of the type information to the left, except for structures
and subprogram "interface" declarations.
COBOL and PL/1 put all type information to the right
_except_ structure nesting "levels".  Ada and the
Pascal family (as stated) put full type information
to the right, and LISP does so if declarations are
used at all (they are (almost?) always optional).

Personally I prefer the Ada syntax, although I think
Fortran syntax can be fine for the sort of applications
that language is best suited to; and I agree that it
certainly shouldn't be a big deal either way.

--
- David.Thompson 1 now at worldnet.att.net






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

end of thread, other threads:[~2001-08-16  5:19 UTC | newest]

Thread overview: 180+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-30  7:34 How to make Ada a dominant language Gautier Write-only-address
2001-07-30 12:25 ` Russ Paielli
     [not found] ` <slrn9ma554.j7f.9-scott-9@anvil.ntc.nokia.com>
2001-07-30 12:30   ` Russ Paielli
2001-07-30 12:31     ` Gary Lisyansky
2001-07-30 13:04       ` Russ Paielli
2001-07-31  9:03       ` Florian Weimer
2001-07-31  9:00     ` Florian Weimer
  -- strict thread matches above, loose matches on Subject: below --
2001-08-07 21:33 Gautier Write-only-address
2001-07-30 14:29 Gautier Write-only-address
2001-07-30 12:51 Gautier Write-only-address
2001-07-30  7:08 Russ
2001-07-30  8:36 ` Preben Randhol
2001-07-30 12:41   ` Russ Paielli
2001-07-30 12:52     ` Preben Randhol
2001-07-30 13:24       ` Russ Paielli
2001-07-30 15:47         ` Preben Randhol
2001-07-30 23:13         ` Gary Scott
2001-07-31  1:07         ` Adrian Hoe
2001-07-30 15:38       ` Darren New
2001-07-31  8:31       ` Florian Weimer
2001-07-30 12:52     ` Gary Lisyansky
2001-07-30 13:38       ` Russ Paielli
2001-07-30 13:43         ` Gary Lisyansky
2001-07-30 15:08           ` Larry Kilgallen
2001-07-30 15:02             ` Russ Paielli
2001-07-30 15:52               ` Preben Randhol
2001-07-30 17:19                 ` Darren New
2001-07-31  7:35                   ` Preben Randhol
2001-08-02  1:36                   ` David Starner
2001-08-02  8:01                     ` Larry Kilgallen
2001-08-02  8:11                       ` David Starner
2001-08-02 12:11                         ` Larry Kilgallen
2001-08-02 14:47                     ` Ted Dennison
2001-08-02 16:10                       ` Darren New
2001-08-02 19:30                         ` Larry Kilgallen
2001-08-02 19:04                           ` Darren New
2001-08-02 20:52                         ` Larry Kilgallen
2001-08-02 16:09                     ` Darren New
2001-08-02 23:39                     ` bruns
2001-08-03  7:28                       ` Pascal Obry
2001-08-03 18:53                         ` Lao Xiao Hai
2001-08-03 13:59                       ` Marin David Condic
2001-08-03  3:40                     ` Larry Kilgallen
2001-07-30 16:21               ` Larry Kilgallen
2001-07-30 16:19                 ` Russ Paielli
2001-07-30 16:33                   ` Marin David Condic
2001-07-30 18:33                   ` Stefan Nobis
2001-07-30 21:26                     ` Milan Mancel
2001-07-31  3:37                       ` Russ Paielli
2001-07-31 20:36                         ` Milan Mancel
2001-07-31 14:37                       ` Ted Dennison
2001-07-31 14:56                         ` Gary Lisyansky
2001-07-31 15:07                         ` Marin David Condic
2001-08-01  0:54                         ` David Bolen
2001-08-01 13:17                           ` Ted Dennison
2001-08-01 22:15                             ` David Bolen
2001-08-01  9:11                         ` Milan Mancel
2001-08-01 12:06                           ` Larry Hazel
2001-08-01 13:41                             ` Marin David Condic
2001-08-01 15:55                               ` Larry Hazel
2001-08-01 16:56                                 ` Marin David Condic
2001-08-01 19:18                                   ` Ed Falis
2001-08-01 13:41                             ` Ted Dennison
2001-08-01 13:28                           ` Ted Dennison
2001-08-01 15:17                           ` Scott Ingram
2001-07-31  3:06                 ` Warren W. Gay VE3WWG
2001-07-31  4:10                   ` Russ Paielli
2001-07-31  5:05                     ` Warren W. Gay VE3WWG
2001-07-30 17:19               ` Pascal Obry
2001-07-31  3:46                 ` Russ Paielli
2001-07-31  5:08                   ` Warren W. Gay VE3WWG
2001-07-31  7:09                   ` Pascal Obry
2001-07-31 14:17                   ` Marin David Condic
2001-07-30 17:33               ` Brian Rogoff
2001-07-31  4:01                 ` Russ Paielli
2001-07-31 17:31                   ` Brian Rogoff
2001-07-30 17:51               ` file13
2001-07-31 14:51                 ` Ted Dennison
2001-07-31  6:16               ` Gary Lisyansky
2001-07-31  9:32       ` Philip Anderson
2001-07-31 10:16         ` Lutz Donnerhacke
2001-08-02 20:35       ` Barry Kelly
2001-08-03  0:07         ` Keith Thompson
2001-08-03  6:35         ` Gary Lisyansky
2001-08-16  5:19       ` David Thompson
2001-07-30 18:22     ` Stefan Nobis
2001-07-31  0:53     ` Adrian Hoe
2001-07-31  3:24       ` Russ Paielli
2001-07-31  6:47         ` Martin Dowie
2001-07-31  7:10           ` Russ Paielli
2001-07-31  7:22             ` Gary Lisyansky
2001-07-31  7:38             ` Keith Thompson
2001-07-31  8:20             ` Martin Dowie
2001-07-31 15:32           ` Ted Dennison
2001-07-31 11:16         ` David Gillon
2001-08-01  1:25         ` Adrian Hoe
2001-08-01  4:25           ` Russ
2001-08-01  8:22             ` MALAISE Pascal
2001-08-01  9:34             ` Preben Randhol
2001-08-01 10:32               ` AG
2001-08-01 15:55                 ` Russ
2001-08-01 16:50                   ` chris.danx
2001-08-01 15:52               ` Russ
2001-08-01 13:48             ` Stefan Nobis
2001-08-02  8:32               ` Pascal Obry
2001-08-01 10:08         ` AG
2001-07-31  8:29     ` Florian Weimer
2001-07-31 20:34       ` Keith Thompson
2001-07-30  8:36 ` Gary Lisyansky
2001-07-30 11:18   ` Gerhard Häring
2001-07-30 12:01     ` Gary Lisyansky
2001-07-30 12:56       ` Russ Paielli
2001-07-31  3:17         ` Warren W. Gay VE3WWG
2001-07-30 12:29     ` Preben Randhol
2001-07-30 13:11       ` Russ Paielli
2001-07-30 15:45         ` Darren New
2001-07-30 16:00           ` Preben Randhol
2001-07-30 16:26             ` Russ Paielli
2001-07-30 16:50               ` Gerhard Häring
2001-07-30 17:55               ` Larry Kilgallen
2001-07-30 17:23                 ` Darren New
2001-07-31  8:55                   ` Florian Weimer
2001-07-31  9:45                   ` Lutz Donnerhacke
2001-07-31  8:53               ` Florian Weimer
2001-07-31 10:14             ` Philip Anderson
2001-07-31  8:51         ` Florian Weimer
2001-07-31 16:16           ` Darren New
2001-07-31 16:20             ` Florian Weimer
2001-07-31 16:53               ` Darren New
2001-07-31 17:10                 ` Preben Randhol
2001-07-31 17:28                   ` Darren New
2001-08-01 16:55                     ` Florian Weimer
2001-08-01  0:21                 ` David Bolen
2001-08-01  3:33                   ` David Bolen
2001-07-30 12:49   ` Russ Paielli
2001-07-30 13:13     ` Gary Lisyansky
2001-07-30 13:49       ` Russ Paielli
2001-07-31  1:10         ` Adrian Hoe
2001-07-31  3:28     ` Warren W. Gay VE3WWG
2001-07-30 15:36 ` Gerhard Häring
2001-07-30 22:58 ` Gary Scott
2001-08-01 10:51   ` AG
2001-08-01 17:10     ` Russ
2001-07-31  2:41 ` Warren W. Gay VE3WWG
2001-07-31  4:24   ` Russ Paielli
2001-07-31  5:18     ` Warren W. Gay VE3WWG
2001-07-31 10:53     ` Philip Anderson
2001-07-31  8:03 ` Keith Thompson
2001-07-31 11:16   ` Philip Anderson
2001-08-01  0:00 ` Stanley R. Allen
2001-08-01  2:29 ` Russ
2001-08-01  7:10   ` Adrian Hoe
2001-08-01  7:33     ` Russ
2001-08-01 15:00       ` Adrian Hoe
2001-08-01 15:58         ` Russ
2001-08-01 17:32           ` Gary Scott
2001-08-01  7:13   ` Adrian Hoe
2001-08-01 14:09     ` Marin David Condic
2001-08-01 17:55       ` Russ
2001-08-01 18:26         ` Ted Dennison
2001-08-02  8:53         ` Stefan Nobis
2001-08-02 10:34         ` AG
2001-08-02 20:35         ` Barry Kelly
2001-08-01  7:19   ` Adrian Hoe
2001-08-01  9:51   ` Preben Randhol
2001-08-01 11:18   ` David Gillon
2001-08-01 16:05     ` Russ
2001-08-02  5:21       ` Warren W. Gay VE3WWG
2001-08-01 17:12   ` Scott Ingram
2001-08-01 18:10     ` Russ
2001-08-02 10:34       ` Leif Roar Moldskred
2001-08-07  2:55   ` Lao Xiao Hai
2001-08-07  3:56     ` Darren New
2001-08-07  7:34     ` Russ P.
2001-08-07 21:23       ` Lao Xiao Hai
2001-08-01  2:35 ` Mike Silva
2001-08-01  4:32   ` Russ
2001-08-01  4:56     ` Ed Falis
2001-08-01 10:21       ` AG
2001-08-01  4:23 ` raj

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