comp.lang.ada
 help / color / mirror / Atom feed
* Why not combine Ada and C++?
@ 2001-10-15  8:21 Mike Meng
  2001-10-15 10:29 ` Larry Kilgallen
                   ` (4 more replies)
  0 siblings, 5 replies; 88+ messages in thread
From: Mike Meng @ 2001-10-15  8:21 UTC (permalink / raw)


Hi, I am a proficient C++ programmer, who also admire Ada's
reliability and power. After tasted a little Ada, I must admit that I
like it. I alway say to my friends, though C++ is a great language,
it's population is just because it's *C*++. If the most pop PL in
mid-1990s was Ada, the whole life would be much easier.

But the history is history. Though I know Ada's syntax is much clearer
and readable than C++'s, nowadays, most of programmers are familiar
with C-family languages' syntax. Some of my friends don't like Ada
just because it's not case-sensitive!

I'm an SCJP (Sun's Certificated Java Programmer), I clearly remember
what the teacher said, "Java is created with C++'s syntax and
Smalltalk's semantic". I always thought, if there is a language with
C++ syntax and Ada95's semantic, it must be very pop!

I don't know much about Ada, so I can't figure out how is the
feasibility. Please comment it.



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

* Re: Why not combine Ada and C++?
  2001-10-15  8:21 Why not combine Ada and C++? Mike Meng
@ 2001-10-15 10:29 ` Larry Kilgallen
  2001-10-15 10:36 ` Robert*
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 88+ messages in thread
From: Larry Kilgallen @ 2001-10-15 10:29 UTC (permalink / raw)


In article <3105e154.0110150021.32ff5426@posting.google.com>, mengyana@legend.com (Mike Meng) writes:

> Hi, I am a proficient C++ programmer, who also admire Ada's
> reliability and power. After tasted a little Ada, I must admit that I
> like it. I alway say to my friends, though C++ is a great language,
> it's population is just because it's *C*++. If the most pop PL in
> mid-1990s was Ada, the whole life would be much easier.
> 
> But the history is history. Though I know Ada's syntax is much clearer
> and readable than C++'s, nowadays, most of programmers are familiar
> with C-family languages' syntax. Some of my friends don't like Ada
> just because it's not case-sensitive!
> 
> I'm an SCJP (Sun's Certificated Java Programmer), I clearly remember
> what the teacher said, "Java is created with C++'s syntax and
> Smalltalk's semantic". I always thought, if there is a language with
> C++ syntax and Ada95's semantic, it must be very pop!

If that were a method of making Ada more widely adopted (my presumption
of what you mean by "pop"), it would defeat certain advantages some of
us see in Ada (e.g., using clear words rather than short abbreviations).
Ada is intended to be a reader's language, rather than a writer's language,
among other reasons to facilitate maintenance 20 years later.  (I have
some code of my own that is 13 years old that I have been maintaining
this month.)

Popularity is not sufficiently important to give up strengths of the
language.



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

* Re: Why not combine Ada and C++?
  2001-10-15  8:21 Why not combine Ada and C++? Mike Meng
  2001-10-15 10:29 ` Larry Kilgallen
@ 2001-10-15 10:36 ` Robert*
  2001-10-15 11:15 ` Stephen Cole
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 88+ messages in thread
From: Robert* @ 2001-10-15 10:36 UTC (permalink / raw)


 
You can write Ada using many of C/C++ synatx.

Use a C preprocessor.

1. create a .h file, and do this:
#define {  BEGIN
#define }  END
#define [  (
#define ]  )
#define =  :=
#define == =
etc...

then, in your .c file, the following code:

if( a==0 )
{
   b = 0;
   d[2] = 4;
}

when run via the preprocessor only, will come out as

if( a = 0 )
BEGIN
   b := 0;
   d(2) := 4;
END

Then use the above as input to Ada compiler.

(I am missing a THEN in the above, but you get the idea, tweek the .h
file more to get it in :)

btw, the above practise is not a good idea to do of course.

   




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

* Re: Why not combine Ada and C++?
  2001-10-15  8:21 Why not combine Ada and C++? Mike Meng
  2001-10-15 10:29 ` Larry Kilgallen
  2001-10-15 10:36 ` Robert*
@ 2001-10-15 11:15 ` Stephen Cole
  2001-10-15 12:06   ` The caselessness is one of the things I like best! Petter Fryklund
                     ` (4 more replies)
  2001-10-15 19:28 ` Baugereau
       [not found] ` <01c155a0$7dd31b80$1b7af2c3@akzvbymr>
  4 siblings, 5 replies; 88+ messages in thread
From: Stephen Cole @ 2001-10-15 11:15 UTC (permalink / raw)


I think the idea is a good one. I don't like the caselessness of Ada either.
It makes feel MSDOSish rather than a modern language. Why is caselessness
still concidered important in this day and age when memory is so cheap. Ada
seems to suffer from rules that seem to be relevant to implementation
difficulties rather than giving the programmer a consistent/simple view of
the program implementation space. But I am just a beginner in Ada so maybe I
am wrong. But I don't think so.

But there is a lot about Ada to like. I think the combination of Ada & C++
would be a 80/20 split in favour of Ada. One of the things I DO NOT want to
see lost is its extremely strong type checking. Thats beautifully
implemented.

And popularity is important. If people are being switched off Ada for some
reason, you have to wonder why! Maybe an Ada2001 is needed which panders to
user whims rather than completeness. You get the high integrity bunch
imposing limitations on the language as it is (like Sparc Ada), so the need
for high integrity from the start could be softened.

Just make a language which can be tighted of loosened depending upon user
needs. Using parsers or maybe even built in pragmas. Thinking about C++ as a
Users language and Ada Problem solving complete language could maybe provide
a road forward for a language which *seems* to be loosing the popularity
stakes.

The sooner the problem is recognised (especially by the Ada hard heads) the
sooner a future can be built that tries to stem the sloppiness that
languages like C++ unintentionally may be allowing. If C++ were combined
with Ada and/or #pragma allowed, just think of the interest the then C++
hard heads would have in leaning about tightening up their coding skills to
produce high integrity software! At the moment Ada (to them) is just out
there and of no relevance.

At the moment the jump from C++ to Ada is too much to bother with for a lot
of people. I was one of them until I was given time and told to learn it. If
this gap was bridged more, it would be healthy for everyone I think.




"Mike Meng" <mengyana@legend.com> wrote in message
news:3105e154.0110150021.32ff5426@posting.google.com...
> Hi, I am a proficient C++ programmer, who also admire Ada's
> reliability and power. After tasted a little Ada, I must admit that I
> like it. I alway say to my friends, though C++ is a great language,
> it's population is just because it's *C*++. If the most pop PL in
> mid-1990s was Ada, the whole life would be much easier.
>
> But the history is history. Though I know Ada's syntax is much clearer
> and readable than C++'s, nowadays, most of programmers are familiar
> with C-family languages' syntax. Some of my friends don't like Ada
> just because it's not case-sensitive!
>
> I'm an SCJP (Sun's Certificated Java Programmer), I clearly remember
> what the teacher said, "Java is created with C++'s syntax and
> Smalltalk's semantic". I always thought, if there is a language with
> C++ syntax and Ada95's semantic, it must be very pop!
>
> I don't know much about Ada, so I can't figure out how is the
> feasibility. Please comment it.





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

* The caselessness is one of the things I like best!
  2001-10-15 11:15 ` Stephen Cole
@ 2001-10-15 12:06   ` Petter Fryklund
  2001-10-15 12:21     ` Gerhard Häring
                       ` (2 more replies)
  2001-10-15 14:39   ` Why not combine Ada and C++? Marin David Condic
                     ` (3 subsequent siblings)
  4 siblings, 3 replies; 88+ messages in thread
From: Petter Fryklund @ 2001-10-15 12:06 UTC (permalink / raw)


If the only difference between two entities is the case,  I think the
program will be very hard to maintain. In fact I like lower-case reserved
words and others capitalized, leaving no case for caselessness ;-)





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

* Re: The caselessness is one of the things I like best!
  2001-10-15 12:06   ` The caselessness is one of the things I like best! Petter Fryklund
@ 2001-10-15 12:21     ` Gerhard Häring
  2001-10-15 12:48       ` UPPERCASE is the typgraphical equivalent of shouting ;-) Petter Fryklund
                         ` (4 more replies)
  2001-10-15 13:03     ` Alfred Hilscher
  2001-10-22 20:27     ` Kenneth Almquist
  2 siblings, 5 replies; 88+ messages in thread
From: Gerhard Häring @ 2001-10-15 12:21 UTC (permalink / raw)


On Mon, 15 Oct 2001 14:06:18 +0200, Petter Fryklund <qsbpefr@esavionics.se> wrote:
> If the only difference between two entities is the case,  I think the
> program will be very hard to maintain.

True. The compiler probably should show a warning in this case. But
Ada's case insensitivity is so stupid it hurts. Don't tell me it's
needed for your weird 7 bit processor with EBDIC (sp?) character set.
Cross-compile if you need to support such broken processors.

I want inconsistent casing to be a syntax error in a language. Oh yes.
And the keywords be either lower or upper case, too (I'd prefer upper
case as in MODULA-2/3).

Gerhard
-- 
mail:   gerhard <at> bigfoot <dot> de       registered Linux user #64239
web:    http://www.cs.fhm.edu/~ifw00065/    OpenPGP public key id 86AB43C0
public key fingerprint: DEC1 1D02 5743 1159 CD20  A4B6 7B22 6575 86AB 43C0
reduce(lambda x,y:x+y,map(lambda x:chr(ord(x)^42),tuple('zS^BED\nX_FOY\x0b')))



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

* UPPERCASE is the typgraphical equivalent of shouting ;-)
  2001-10-15 12:21     ` Gerhard Häring
@ 2001-10-15 12:48       ` Petter Fryklund
  2001-10-15 12:54       ` The caselessness is one of the things I like best! James Rogers
                         ` (3 subsequent siblings)
  4 siblings, 0 replies; 88+ messages in thread
From: Petter Fryklund @ 2001-10-15 12:48 UTC (permalink / raw)



...





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

* Re: The caselessness is one of the things I like best!
  2001-10-15 12:21     ` Gerhard Häring
  2001-10-15 12:48       ` UPPERCASE is the typgraphical equivalent of shouting ;-) Petter Fryklund
@ 2001-10-15 12:54       ` James Rogers
  2001-10-15 13:11       ` Larry Kilgallen
                         ` (2 subsequent siblings)
  4 siblings, 0 replies; 88+ messages in thread
From: James Rogers @ 2001-10-15 12:54 UTC (permalink / raw)


Gerhard H�ring wrote:
> 
> On Mon, 15 Oct 2001 14:06:18 +0200, Petter Fryklund <qsbpefr@esavionics.se> wrote:
> > If the only difference between two entities is the case,  I think the
> > program will be very hard to maintain.
> 
> True. The compiler probably should show a warning in this case. But
> Ada's case insensitivity is so stupid it hurts. Don't tell me it's
> needed for your weird 7 bit processor with EBDIC (sp?) character set.
> Cross-compile if you need to support such broken processors.
> 
> I want inconsistent casing to be a syntax error in a language. Oh yes.
> And the keywords be either lower or upper case, too (I'd prefer upper
> case as in MODULA-2/3).

Ada intentionally left out case sensitivity because of its emphasis
on human readability. There was no processor-based reason as you have
implied. In fact, it takes less code to parse a string with case
sensitivity than with case insensitivity.

Case sensitivity as found in C, C++, and Java leads to people using
several identifiers such as "Count", "count", and "COUNT" in the
same code. Human brains have been trained to ignore such differences
in text. The use of such similar identifiers can cause serious
confusion for humans reading your code.

Note that the C family of languages provides case sensitivity
without enforcing consistent casing. It merely identifies 
instances of improperly defined identifiers. Your proposal to make
Ada case sensitive and enforce consistent case usage would be just
as repulsive to C programmers as is case insensitivity.

When you make the claim that Ada would be popular if it jus looked
like C, you imply that C programmers do not want to learn another
language. It is like saying that Swedish would be more popular if
it just looked like French. 

Look at the reaction of C "hard heads". They find both C++ and Java
revolting. Making Ada look like C++ or Java would reduce Ada's
readability without making it one bit more popular. There would be
nothing to gain from such a move.

Jim Rogers
Colorado Springs, Colorado USA



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

* Re: The caselessness is one of the things I like best!
  2001-10-15 12:06   ` The caselessness is one of the things I like best! Petter Fryklund
  2001-10-15 12:21     ` Gerhard Häring
@ 2001-10-15 13:03     ` Alfred Hilscher
  2001-10-22 20:27     ` Kenneth Almquist
  2 siblings, 0 replies; 88+ messages in thread
From: Alfred Hilscher @ 2001-10-15 13:03 UTC (permalink / raw)




Petter Fryklund wrote:
> 
> If the only difference between two entities is the case,  I think the
> program will be very hard to maintain. In fact I like lower-case reserved
> words and others capitalized, leaving no case for caselessness ;-)

I totally disagree. I made Modula-2 for over ten years. The
casesensitivity was a great plus.



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

* Re: The caselessness is one of the things I like best!
  2001-10-15 12:21     ` Gerhard Häring
  2001-10-15 12:48       ` UPPERCASE is the typgraphical equivalent of shouting ;-) Petter Fryklund
  2001-10-15 12:54       ` The caselessness is one of the things I like best! James Rogers
@ 2001-10-15 13:11       ` Larry Kilgallen
  2001-10-15 15:12         ` Arthur Evans Jr
  2001-10-15 15:13       ` Marin David Condic
  2001-10-15 17:00       ` tmoran
  4 siblings, 1 reply; 88+ messages in thread
From: Larry Kilgallen @ 2001-10-15 13:11 UTC (permalink / raw)


In article <slrn9sle58.gs.gerhard.nospam@lilith.hqd-internal>, gerhard.nospam@bigfoot.de (Gerhard =?iso-8859-1?Q?H=E4ring?=) writes:

> I want inconsistent casing to be a syntax error in a language. Oh yes.
> And the keywords be either lower or upper case, too (I'd prefer upper
> case as in MODULA-2/3).

Whereas I think case-sensitivity in a computer programming language
is a severe limitation, causing people to pay attention to the wrong
thing.  Any program that has different meanings for "item" and "Item"
is very poorly written.



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

* Re: Why not combine Ada and C++?
  2001-10-15 11:15 ` Stephen Cole
  2001-10-15 12:06   ` The caselessness is one of the things I like best! Petter Fryklund
@ 2001-10-15 14:39   ` Marin David Condic
  2001-10-15 16:17     ` Alfred Hilscher
  2001-10-24 14:48     ` A UNISYS story Petter Fryklund
  2001-10-15 17:41   ` Why not combine Ada and C++? Stephen Cole
                     ` (2 subsequent siblings)
  4 siblings, 2 replies; 88+ messages in thread
From: Marin David Condic @ 2001-10-15 14:39 UTC (permalink / raw)


Case sensitivity is one of those debates that is never going to be settled
simply because people have their own irrational preferences and there are
plusses and minuses on either side to justify them. The case sensitivity
issue has been argued here many times before.

Personally, I like case insensitivity since the meaning of a word is not
(generally) changed by the character case in which it is represented. Hence,
to introduce case sensitivity would be to make it far easier to make stupid
errors in coding or in reading of code. Something like "This_Object" versus
"This_object" could far too easily be tripped over in code. (Fortunately,
the compiler would complain if one tried to declare two such objects in the
same scope, but with case sensitivity, someone could easily get away with
it.)

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/


"Stephen Cole" <s_k_cole@yahoo.com> wrote in message
news:9qeg5r$266$1@trog.dera.gov.uk...
> I think the idea is a good one. I don't like the caselessness of Ada
either.
> It makes feel MSDOSish rather than a modern language. Why is caselessness
> still concidered important in this day and age when memory is so cheap.
Ada
> seems to suffer from rules that seem to be relevant to implementation
> difficulties rather than giving the programmer a consistent/simple view of
> the program implementation space. But I am just a beginner in Ada so maybe
I
> am wrong. But I don't think so.






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

* Re: The caselessness is one of the things I like best!
  2001-10-15 13:11       ` Larry Kilgallen
@ 2001-10-15 15:12         ` Arthur Evans Jr
  2001-10-15 16:00           ` Larry Kilgallen
  2001-10-16  8:48           ` John English
  0 siblings, 2 replies; 88+ messages in thread
From: Arthur Evans Jr @ 2001-10-15 15:12 UTC (permalink / raw)


Larry Kilgallen wrote:

>         Any program that has different meanings for "item" and "Item"
> is very poorly written.

and several others made similar comments.

I agree.

OTOH, I don't think it should be the goal of language design to
legislate against such usage -- it can't succeed in doing so.  For
example, nothing in Ada's specification legislates against using
OO00OO0O00O00 and OO00O00O00O00 as identifiers, or
lll11l1l1lll1l1ll1 and lll11l1l1l1l1l1ll1, or mmmmmmmmmmmmmmmmmmmm
and mmmmmmmmmmmmmmmmmmmmm.  I think use of such identifiers is
fully as bad practice as using 'item' and 'Item'.

Case sensitivity of identifiers, like many other parts of the
language, would be a feature that could either be used to advantage
or be abused.  In DR meetings I made this point and pushed for case
sensitivity; I lost the argument.  It's clearly a dead issue now
for Ada, as there's no possibility that an Ada revision could
incorporate such a non upward compatible change.  Oh well...

Note, BTW, that Ada does forbid use of O__________________ and
O_________________ as identifiers.  "You can't read the listing
without a ruler.

Art Evans

Make the obvious change to my email address to reply to me.



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

* Re: The caselessness is one of the things I like best!
  2001-10-15 12:21     ` Gerhard Häring
                         ` (2 preceding siblings ...)
  2001-10-15 13:11       ` Larry Kilgallen
@ 2001-10-15 15:13       ` Marin David Condic
  2001-10-15 17:00       ` tmoran
  4 siblings, 0 replies; 88+ messages in thread
From: Marin David Condic @ 2001-10-15 15:13 UTC (permalink / raw)


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

Many (including myself) would argue it is NOT stupid, but rather a safety
feature. I don't think that decision was made to save space or support wierd
character sets.

This debate will never be settled and no matter which decision the designers
made, someone would have been unhappy with it. I believe they opted for
reliability, eliminating one common source of errors at the expense of
ticking-off a bunch of C users.

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/


"Gerhard H�ring" <gerhard.nospam@bigfoot.de> wrote in message
news:slrn9sle58.gs.gerhard.nospam@lilith.hqd-internal...
>
> True. The compiler probably should show a warning in this case. But
> Ada's case insensitivity is so stupid it hurts. Don't tell me it's
> needed for your weird 7 bit processor with EBDIC (sp?) character set.
> Cross-compile if you need to support such broken processors.
>
> I want inconsistent casing to be a syntax error in a language. Oh yes.
> And the keywords be either lower or upper case, too (I'd prefer upper
> case as in MODULA-2/3).






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

* Re: The caselessness is one of the things I like best!
  2001-10-15 15:12         ` Arthur Evans Jr
@ 2001-10-15 16:00           ` Larry Kilgallen
  2001-10-18 19:48             ` Simon Wright
  2001-10-16  8:48           ` John English
  1 sibling, 1 reply; 88+ messages in thread
From: Larry Kilgallen @ 2001-10-15 16:00 UTC (permalink / raw)


In article <ev_remove_this_ans-1510011113000001@192.168.1.254>, ev_remove_this_ans@evans.pgh.pa.us (Arthur Evans Jr) writes:
> Larry Kilgallen wrote:
> 
>>         Any program that has different meanings for "item" and "Item"
>> is very poorly written.
> 
> and several others made similar comments.
> 
> I agree.
> 
> OTOH, I don't think it should be the goal of language design to
> legislate against such usage -- it can't succeed in doing so.  For
> example, nothing in Ada's specification legislates against using
> OO00OO0O00O00 and OO00O00O00O00 as identifiers, or
> lll11l1l1lll1l1ll1 and lll11l1l1l1l1l1ll1, or mmmmmmmmmmmmmmmmmmmm
> and mmmmmmmmmmmmmmmmmmmmm.  I think use of such identifiers is
> fully as bad practice as using 'item' and 'Item'.

But Ada does legislate against My_Name and My__Name in the same,
by prohibiting double underscores.  At some point, local standards
must take ove.r

> Case sensitivity of identifiers, like many other parts of the
> language, would be a feature that could either be used to advantage
> or be abused.

I disagree that it would be a feature.  I see absolutely no benefit.

If you want your programs to provide a standard casing for each
identifier, you can do that with a utility program, perhaps by
calling ASIS.  But when you find a deviation, fix it.  Don't
hassle the programmer about it.



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

* Re: Why not combine Ada and C++?
  2001-10-15 14:39   ` Why not combine Ada and C++? Marin David Condic
@ 2001-10-15 16:17     ` Alfred Hilscher
  2001-10-15 16:35       ` Marin David Condic
  2001-10-24 14:48     ` A UNISYS story Petter Fryklund
  1 sibling, 1 reply; 88+ messages in thread
From: Alfred Hilscher @ 2001-10-15 16:17 UTC (permalink / raw)




Marin David Condic wrote:
> 
> Case sensitivity is one of those debates that is never going to be settled
> simply because people have their own irrational preferences and there are
> plusses and minuses on either side to justify them. 

Yes.

> Personally, I like case insensitivity since the meaning of a word is not
> (generally) changed by the character case in which it is represented. Hence,
> to introduce case sensitivity would be to make it far easier to make stupid
> errors in coding or in reading of code. Something like "This_Object" versus
> "This_object" could far too easily be tripped over in code. (Fortunately,
> the compiler would complain if one tried to declare two such objects in the
> same scope, but with case sensitivity, someone could easily get away with
> it.)

Is it different to the problems you can get with (for example)
"Caselessness" and "Caseless_ness" ?

I think every programmer should have the possibility to do his work in
his own way.



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

* Re: Why not combine Ada and C++?
  2001-10-15 16:17     ` Alfred Hilscher
@ 2001-10-15 16:35       ` Marin David Condic
  2001-10-15 20:15         ` Robert*
  0 siblings, 1 reply; 88+ messages in thread
From: Marin David Condic @ 2001-10-15 16:35 UTC (permalink / raw)


Nothing in Ada stops you from using Upper and Lower case characters in
identifiers, reserved words, etc. Whatever style you like is just fine.
(*pretend* that its case sensitive if you like :-) Its just that character
case won't have any impact on meaning. If you're depending on character case
having an impact on meaning, then this is inherently risky. It means you
want to be able to use identifiers like This_Object and This_object in the
same scope and have them mean different things. Or have "begin" and "Begin"
with one being the reserved word and one being some other identifier. (risky
and confusing in my mind...) If you say "No, I'd never want to have two
identifiers distinguished only by character case", then what's the problem?
Type them in any case you like.

To make the language case sensitive would be, in some ways, a restriction on
every programmer to do it some specific way. If, for example, you like your
reserved words to be in UPPER CASE, you wouldn't be able to do so if they
were mandated to be in lower case. As it is now, you can do it any way that
suits your personal style.

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/


"Alfred Hilscher" <Alfred.Hilscher@icn.siemens.de> wrote in message
news:3BCB0C10.636D110E@icn.siemens.de...
>
> I think every programmer should have the possibility to do his work in
> his own way.





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

* Re: The caselessness is one of the things I like best!
  2001-10-15 12:21     ` Gerhard Häring
                         ` (3 preceding siblings ...)
  2001-10-15 15:13       ` Marin David Condic
@ 2001-10-15 17:00       ` tmoran
  2001-10-15 17:29         ` Gerhard Häring
  2001-10-15 17:35         ` Marin David Condic
  4 siblings, 2 replies; 88+ messages in thread
From: tmoran @ 2001-10-15 17:00 UTC (permalink / raw)


> > If the only difference between two entities is the case,  I think the
> > program will be very hard to maintain.
>
> True. The compiler probably should show a warning in this case.
  In fact you can write a case sensitive Ada program, and the compiler
will in fact complain if you try to declare two entities where the only
difference is case.  The only difference with C is that the compiler
doesn't warn you, but silently creates two separate entities.  :)

> Don't tell me it's needed for your weird 7 bit processor with
> EBDIC (sp?) character set.
  Wouldn't think of telling you something untrue.



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

* Re: The caselessness is one of the things I like best!
  2001-10-15 17:00       ` tmoran
@ 2001-10-15 17:29         ` Gerhard Häring
  2001-10-15 17:38           ` Larry Kilgallen
  2001-10-15 18:15           ` David Starner
  2001-10-15 17:35         ` Marin David Condic
  1 sibling, 2 replies; 88+ messages in thread
From: Gerhard Häring @ 2001-10-15 17:29 UTC (permalink / raw)


On Mon, 15 Oct 2001 17:00:03 GMT, tmoran@acm.org <tmoran@acm.org> wrote:
>> > If the only difference between two entities is the case,  I think the
>> > program will be very hard to maintain.
>>
>> True. The compiler probably should show a warning in this case.
>  In fact you can write a case sensitive Ada program, and the compiler
>will in fact complain if you try to declare two entities where the only
>difference is case.  The only difference with C is that the compiler
>doesn't warn you, but silently creates two separate entities.  :)

It's probably best described by an example what I mean with inconsistent
casing.

    VAR n: Integer;
    BEGIN
        N := 5;

I'd want to get a syntax error here. IIRC I can get GNAT to warn me
about this and you will perhaps think that this is only a matter of
style and best handled by tools apart from the compiler.

Perhaps I'm irrational but Ada's behaviour here reminds me too much of
BASIC.

This is one of the rare points where Ada allows the programmer to do
something stupid.

Gerhard
-- 
mail:   gerhard <at> bigfoot <dot> de       registered Linux user #64239
web:    http://www.cs.fhm.edu/~ifw00065/    OpenPGP public key id 86AB43C0
public key fingerprint: DEC1 1D02 5743 1159 CD20  A4B6 7B22 6575 86AB 43C0
I happen to like strict languages wrt to s
reduce(lambda x,y:x+y,map(lambda x:chr(ord(x)^42),tuple('zS^BED\nX_FOY\x0b')))



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

* Re: The caselessness is one of the things I like best!
  2001-10-15 17:00       ` tmoran
  2001-10-15 17:29         ` Gerhard Häring
@ 2001-10-15 17:35         ` Marin David Condic
  2001-10-15 18:18           ` Pascal Obry
  2001-10-15 22:46           ` Jeffrey Carter
  1 sibling, 2 replies; 88+ messages in thread
From: Marin David Condic @ 2001-10-15 17:35 UTC (permalink / raw)


Hmmmmmm..... Just tried this with gcc:

 ui32     Event_Code   = k_pmsg_Display_Start ;
 ....and then.....
 event_code =     k_pmsg_Display_Start ;

Got the following complaint:

msgeas/Msg_Display.cpp: In function `void dis_Show_Window(struct
Msg_Display_Type &)':
msgeas/Msg_Display.cpp:359: `event_code' undeclared (first use this
function)


There may be conditions under which differences in character case go
undetected, but its not quite the case where undeclared variables just get
created.

Not that I want to defend C or anything like that. Just not fair to
criticize it without justification...

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/


<tmoran@acm.org> wrote in message
news:nCEy7.18794$gT6.11921760@news1.rdc1.sfba.home.com...
>   In fact you can write a case sensitive Ada program, and the compiler
> will in fact complain if you try to declare two entities where the only
> difference is case.  The only difference with C is that the compiler
> doesn't warn you, but silently creates two separate entities.  :)
>






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

* Re: The caselessness is one of the things I like best!
  2001-10-15 17:29         ` Gerhard Häring
@ 2001-10-15 17:38           ` Larry Kilgallen
  2001-10-15 18:01             ` Gerhard Häring
  2001-10-15 18:15           ` David Starner
  1 sibling, 1 reply; 88+ messages in thread
From: Larry Kilgallen @ 2001-10-15 17:38 UTC (permalink / raw)


In article <slrn9sm77l.8go.gerhard.nospam@lilith.hqd-internal>, gerhard.nospam@bigfoot.de (Gerhard =?iso-8859-1?Q?H=E4ring?=) writes:
> On Mon, 15 Oct 2001 17:00:03 GMT, tmoran@acm.org <tmoran@acm.org> wrote:
>>> > If the only difference between two entities is the case,  I think the
>>> > program will be very hard to maintain.
>>>
>>> True. The compiler probably should show a warning in this case.
>>  In fact you can write a case sensitive Ada program, and the compiler
>>will in fact complain if you try to declare two entities where the only
>>difference is case.  The only difference with C is that the compiler
>>doesn't warn you, but silently creates two separate entities.  :)
> 
> It's probably best described by an example what I mean with inconsistent
> casing.
> 
>     VAR n: Integer;
>     BEGIN
>         N := 5;
> 
> I'd want to get a syntax error here. IIRC I can get GNAT to warn me
> about this and you will perhaps think that this is only a matter of
> style and best handled by tools apart from the compiler.
> 
> Perhaps I'm irrational but Ada's behaviour here reminds me too much of
> BASIC.
> 
> This is one of the rare points where Ada allows the programmer to do
> something stupid.

Aside from someone brought up on C, how would it seem "stupid" ?

if i should choose to Capitalize thINGs Irregularly, it may seem
STrange to your eyes, but you do understand what i am saying.

Many people feel a given program should use consistent casing,
but that is just for the humans, not for the compiler.  It is
similar to the presence of comments in the source.



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

* Re: Why not combine Ada and C++?
  2001-10-15 11:15 ` Stephen Cole
  2001-10-15 12:06   ` The caselessness is one of the things I like best! Petter Fryklund
  2001-10-15 14:39   ` Why not combine Ada and C++? Marin David Condic
@ 2001-10-15 17:41   ` Stephen Cole
  2001-10-15 18:27     ` tmoran
  2001-10-15 20:03     ` Wes Groleau
  2001-10-15 18:42   ` Modern languages are case sensitive? Jeffrey Carter
  2001-10-15 19:47   ` Why not combine Ada and C++? Wes Groleau
  4 siblings, 2 replies; 88+ messages in thread
From: Stephen Cole @ 2001-10-15 17:41 UTC (permalink / raw)


Much as I hate to admit it, you are probably right. Case sensitivity is
dangerous. I just *FEEL* limited by it for some reason. I like the Ada
behaviour of being case insensitive but allowing you to write your source in
any case. So Ada wins again over C++. I am not an obsessive Ada fan (I guess
I like supporting underdogs), but it DOES have a lot of things right.

As for combining C++ with Ada....I still think the idea of maybe providing a
stepping stone between the two would be a good idea. Ada IS loosing
popularity because it SEEMS expensive, clumsy and difficult. Its not! It
just feels a bit cryptic when you start. It just demands what is right! But
Ada is still losing the popularity game!

It is down to PR and FEELINGS. I am convinced of it. Because once you've
learnt it, you find C/C++ very loose and flabby and not tight and efficient.
This issue needs to be addressed otherwise Ada will go the way of Betamax
and all the other good guys in the engineering world.

To sum it up, Ada feels "dictatorial" as a language, whereas C/C++ are
"free". And even if Ada is a "good dictator" it is still a "dictator" and
does not allow looseness which will allow people to feel the language and so
use the language as a way of getting to grips with a problem which needs to
be solved.

After all, a language is *supposed* to be a human to machine interface, and
if it doesn't take into account feelings (which is a natural human trait)
then it is not going to succeed.

Even if feelings are a bad thing to have when programming. We still cart
them with us.

A bit more psycology in program development/design and less logic. We are
human. We may have a HAL9000 (off 2001 the space odyssea) in the end! And
not just clunky windows and WYSIWYGs!

Just dreaming.....

"Stephen Cole" <s_k_cole@yahoo.com> wrote in message
news:9qeg5r$266$1@trog.dera.gov.uk...
> I think the idea is a good one. I don't like the caselessness of Ada
either.
> It makes feel MSDOSish rather than a modern language. Why is caselessness
> still concidered important in this day and age when memory is so cheap.
Ada
> seems to suffer from rules that seem to be relevant to implementation
> difficulties rather than giving the programmer a consistent/simple view of
> the program implementation space. But I am just a beginner in Ada so maybe
I
> am wrong. But I don't think so.
>
> But there is a lot about Ada to like. I think the combination of Ada & C++
> would be a 80/20 split in favour of Ada. One of the things I DO NOT want
to
> see lost is its extremely strong type checking. Thats beautifully
> implemented.
>
> And popularity is important. If people are being switched off Ada for some
> reason, you have to wonder why! Maybe an Ada2001 is needed which panders
to
> user whims rather than completeness. You get the high integrity bunch
> imposing limitations on the language as it is (like Sparc Ada), so the
need
> for high integrity from the start could be softened.
>
> Just make a language which can be tighted of loosened depending upon user
> needs. Using parsers or maybe even built in pragmas. Thinking about C++ as
a
> Users language and Ada Problem solving complete language could maybe
provide
> a road forward for a language which *seems* to be loosing the popularity
> stakes.
>
> The sooner the problem is recognised (especially by the Ada hard heads)
the
> sooner a future can be built that tries to stem the sloppiness that
> languages like C++ unintentionally may be allowing. If C++ were combined
> with Ada and/or #pragma allowed, just think of the interest the then C++
> hard heads would have in leaning about tightening up their coding skills
to
> produce high integrity software! At the moment Ada (to them) is just out
> there and of no relevance.
>
> At the moment the jump from C++ to Ada is too much to bother with for a
lot
> of people. I was one of them until I was given time and told to learn it.
If
> this gap was bridged more, it would be healthy for everyone I think.
>






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

* Re: The caselessness is one of the things I like best!
  2001-10-15 17:38           ` Larry Kilgallen
@ 2001-10-15 18:01             ` Gerhard Häring
  2001-10-15 19:04               ` David Starner
  0 siblings, 1 reply; 88+ messages in thread
From: Gerhard Häring @ 2001-10-15 18:01 UTC (permalink / raw)


On 15 Oct 2001 12:38:55 -0500, Larry Kilgallen <Kilgallen@SpamCop.net> wrote:
>> It's probably best described by an example what I mean with inconsistent
>> casing.
>> 
>>     VAR n: Integer;
>>     BEGIN
>>         N := 5;
>> 
>> I'd want to get a syntax error here. IIRC I can get GNAT to warn me
>> about this and you will perhaps think that this is only a matter of
>> style and best handled by tools apart from the compiler.
>> 
>> Perhaps I'm irrational but Ada's behaviour here reminds me too much of
>> BASIC.
>> 
>> This is one of the rare points where Ada allows the programmer to do
>> something stupid.
>
>Aside from someone brought up on C, how would it seem "stupid" ?

I don't like C'ish languages very much and my cultural imprint was in
MODULA-2 and Python land, though I got my share of C, C++ and Java. I
encountered case insensitivity only in toy languages like BASIC and
(Standard) Pascal.

>if i should choose to Capitalize thINGs Irregularly, it may seem
>STrange to your eyes, but you do understand what i am saying.

You're making it harder for the reader, therefore you should get syntax
warnings from the compiler and if you continue to ignore them, the
compiler should delete the source file ;-)

>Many people feel a given program should use consistent casing,
>but that is just for the humans, not for the compiler.  It is
>similar to the presence of comments in the source.

Natural written language is case sensitive (in the few languages I know,
maybe Hebrew isn't). Therefore I believe artificial languages that
describe algorithms should be, too.

You don't mix capitalisation in your mathematic works, right? n or |N,
that matters. Programming languages are just a special form of maths,
anyway.

Gerhard
-- 
mail:   gerhard <at> bigfoot <dot> de       registered Linux user #64239
web:    http://www.cs.fhm.edu/~ifw00065/    OpenPGP public key id 86AB43C0
public key fingerprint: DEC1 1D02 5743 1159 CD20  A4B6 7B22 6575 86AB 43C0
reduce(lambda x,y:x+y,map(lambda x:chr(ord(x)^42),tuple('zS^BED\nX_FOY\x0b')))



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

* Re: The caselessness is one of the things I like best!
  2001-10-15 17:29         ` Gerhard Häring
  2001-10-15 17:38           ` Larry Kilgallen
@ 2001-10-15 18:15           ` David Starner
  1 sibling, 0 replies; 88+ messages in thread
From: David Starner @ 2001-10-15 18:15 UTC (permalink / raw)


On Mon, 15 Oct 2001 19:29:26 +0200, Gerhard =?iso-8859-1?Q?H=E4ring?= <gerhard.nospam@bigfoot.de> wrote:
> It's probably best described by an example what I mean with inconsistent
> casing.
> 
>     VAR n: Integer;
>     BEGIN
>         N := 5;
> 
> I'd want to get a syntax error here.

But what if the code looks like

VAR N: Integer;
BEGIN
    [489 lines omitted]
    VAR n: Integer;
    BEGIN
        N := 5;
[...]

Then your code will silently do the wrong thing.

-- 
David Starner - dstarner98@aasaa.ofe.org
Pointless website: http://dvdeug.dhis.org
"I saw a daemon stare into my face, and an angel touch my breast; each 
one softly calls my name . . . the daemon scares me less."
- "Disciple", Stuart Davis



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

* Re: The caselessness is one of the things I like best!
  2001-10-15 17:35         ` Marin David Condic
@ 2001-10-15 18:18           ` Pascal Obry
  2001-10-15 18:57             ` Marin David Condic
  2001-10-15 22:46           ` Jeffrey Carter
  1 sibling, 1 reply; 88+ messages in thread
From: Pascal Obry @ 2001-10-15 18:18 UTC (permalink / raw)



"Marin David Condic" <dont.bother.mcondic.auntie.spam@[acm.org> writes:

> Hmmmmmm..... Just tried this with gcc:
> 
>  ui32     Event_Code   = k_pmsg_Display_Start ;
>  ....and then.....
>  event_code =     k_pmsg_Display_Start ;
> 
> Got the following complaint:
> 
> msgeas/Msg_Display.cpp: In function `void dis_Show_Window(struct
> Msg_Display_Type &)':
> msgeas/Msg_Display.cpp:359: `event_code' undeclared (first use this
> function)

Of course.

> 
> 
> There may be conditions under which differences in character case go
> undetected, but its not quite the case where undeclared variables just get
> created.
> 
> Not that I want to defend C or anything like that. Just not fair to
> criticize it without justification...

I think the point was more like:

        int PdvBg;
        int PdVBg;

        PdvBg = 8;
        PdVBg = 2;

Are you sure you want to play with that !

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] 88+ messages in thread

* Re: Why not combine Ada and C++?
  2001-10-15 17:41   ` Why not combine Ada and C++? Stephen Cole
@ 2001-10-15 18:27     ` tmoran
  2001-10-15 20:24       ` Wes Groleau
  2001-10-15 20:03     ` Wes Groleau
  1 sibling, 1 reply; 88+ messages in thread
From: tmoran @ 2001-10-15 18:27 UTC (permalink / raw)


> To sum it up, Ada feels "dictatorial" as a language, whereas C/C++ are
> "free". And even if Ada is a "good dictator" it is still a "dictator" and
  I feel C is like my third grade teacher.  She accepted anything I wrote
with praise and encouragment, and did her best to understand what the
heck I meant.  Ada is more like fourth grade.  She wanted writing
that is clear, unambiguous, and can be understood by any reader.
  Another metaphor is that a C compiler is a relatively dumb tool, like a
hanger.  You can hang your shirt on it, or you could bend it and use it
to roast marshmallows.  An Ada compiler is like a gentleman's valet.  He
will give you a shirt, but his real value is that he can suggest "that
shirt doesn't work with that outfit, you ought to try a different one"
when you didn't even notice there was a problem.
> A bit more psycology in program development/design
  Where's the "human factors" research on what is good/bad for various
aspects of a programming languages?  Where's the market research on
how to sell a programming language?  :(



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

* Re: Modern languages are case sensitive?
  2001-10-15 11:15 ` Stephen Cole
                     ` (2 preceding siblings ...)
  2001-10-15 17:41   ` Why not combine Ada and C++? Stephen Cole
@ 2001-10-15 18:42   ` Jeffrey Carter
  2001-10-15 19:20     ` Larry Kilgallen
                       ` (2 more replies)
  2001-10-15 19:47   ` Why not combine Ada and C++? Wes Groleau
  4 siblings, 3 replies; 88+ messages in thread
From: Jeffrey Carter @ 2001-10-15 18:42 UTC (permalink / raw)


Stephen Cole wrote:
> 
> I don't like the caselessness of Ada either.
> It makes feel MSDOSish rather than a modern language.

Well designed, modern languages (Ada) and operating systems (sorry,
there aren't any) are case insensitive. 30-year-old, poorly designed
languages (C) and operating systems (UNIX) are case sensitive.

-- 
Jeffrey Carter



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

* Re: The caselessness is one of the things I like best!
  2001-10-15 18:18           ` Pascal Obry
@ 2001-10-15 18:57             ` Marin David Condic
  0 siblings, 0 replies; 88+ messages in thread
From: Marin David Condic @ 2001-10-15 18:57 UTC (permalink / raw)


O.K. That would clearly be a case of creating variables you might not know
about. Arguably, the programmer *meant* to do that as opposed to the old
Fortran problem of just creating misspelled variables on the fly.

In either case, I would prefer that the language prevented it by being case
insensitive. Arguing in favor of case sensitivity is to argue that one wants
the ability to create variables distinguished only be character case. The
circumstance where one might want it to find improperly capitalized
variables IMHO is a bit unwarranted. It only catches stylistic problems, not
semantic problems. Having the compiler spank me for not adhering to naming
conventions is less helpful than having it refuse to do the truly stupid
things - like declaring two objectes differentiated only by character case.

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/


"Pascal Obry" <p.obry@wanadoo.fr> wrote in message
news:uadyskbrm.fsf@wanadoo.fr...
>
> I think the point was more like:
>
>         int PdvBg;
>         int PdVBg;
>
>         PdvBg = 8;
>         PdVBg = 2;
>






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

* Re: The caselessness is one of the things I like best!
  2001-10-15 18:01             ` Gerhard Häring
@ 2001-10-15 19:04               ` David Starner
  0 siblings, 0 replies; 88+ messages in thread
From: David Starner @ 2001-10-15 19:04 UTC (permalink / raw)


On Mon, 15 Oct 2001 20:01:17 +0200, Gerhard =?iso-8859-1?Q?H=E4ring?= <gerhard.nospam@bigfoot.de> wrote:
> Natural written language is case sensitive (in the few languages I know,
> maybe Hebrew isn't). 

Only the Latin, Greek and Cyrillic scripts (and to a limited sense
Georgian) have cases. Even in those scripts, I read English text that is
all uppercase or all lowercase all the time without problem; that is,
case rarely carries important meaning in English.

> You don't mix capitalisation in your mathematic works, right? n or |N,
> that matters. Programming languages are just a special form of maths,
> anyway.

You want APL, then. For most other languages, mathematical form is left
behind in a lot of places for the purpose of clarity. This is a feature,
not a bug.

-- 
David Starner - dstarner98@aasaa.ofe.org
Pointless website: http://dvdeug.dhis.org
"I saw a daemon stare into my face, and an angel touch my breast; each 
one softly calls my name . . . the daemon scares me less."
- "Disciple", Stuart Davis



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

* Re: Modern languages are case sensitive?
  2001-10-15 18:42   ` Modern languages are case sensitive? Jeffrey Carter
@ 2001-10-15 19:20     ` Larry Kilgallen
  2001-10-15 22:54       ` Jeffrey Carter
  2001-10-16 11:42     ` Robert Dewar
  2001-10-18  0:00     ` Will
  2 siblings, 1 reply; 88+ messages in thread
From: Larry Kilgallen @ 2001-10-15 19:20 UTC (permalink / raw)


In article <3BCB2E0B.5D7894CD@boeing.com>, Jeffrey Carter <jeffrey.carter@boeing.com> writes:
> Stephen Cole wrote:
>> 
>> I don't like the caselessness of Ada either.
>> It makes feel MSDOSish rather than a modern language.
> 
> Well designed, modern languages (Ada) and operating systems (sorry,
> there aren't any) are case insensitive. 30-year-old, poorly designed
> languages (C) and operating systems (UNIX) are case sensitive.

Well, VMS is only 23 years old, and it is case insensitive !



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

* Re: Why not combine Ada and C++?
  2001-10-15  8:21 Why not combine Ada and C++? Mike Meng
                   ` (2 preceding siblings ...)
  2001-10-15 11:15 ` Stephen Cole
@ 2001-10-15 19:28 ` Baugereau
  2001-10-15 20:05   ` Ted Dennison
       [not found] ` <01c155a0$7dd31b80$1b7af2c3@akzvbymr>
  4 siblings, 1 reply; 88+ messages in thread
From: Baugereau @ 2001-10-15 19:28 UTC (permalink / raw)


It may seems stupid, but I think such a language would benefit from C++
postfix notation.
Object.Method () insteand of Method (Object)

Thus you can chain methods calls more clearly (1) and you can benefit from a
better completion from your IDE (2).
1) Object.Method1().Method2() instead of Method2 (Method1 (Object))
2) Object.Meth* gives only methods that apply to Object whereas Meth*
doesn't have this information

Maybe Ada people think this is a non-issue, though.






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

* Re: Why not combine Ada and C++?
  2001-10-15 11:15 ` Stephen Cole
                     ` (3 preceding siblings ...)
  2001-10-15 18:42   ` Modern languages are case sensitive? Jeffrey Carter
@ 2001-10-15 19:47   ` Wes Groleau
  2001-10-23  5:39     ` Hyman Rosen
  4 siblings, 1 reply; 88+ messages in thread
From: Wes Groleau @ 2001-10-15 19:47 UTC (permalink / raw)




Stephen Cole wrote:
> It makes feel MSDOSish rather than a modern language. Why is caselessness
> still concidered important in this day and age when memory is so cheap. Ada
> seems to suffer from rules that seem to be relevant to implementation
> difficulties rather than giving the programmer a consistent/simple view of
> the program implementation space. But I am just a beginner in Ada so maybe I
> am wrong. But I don't think so.

You have it backwards.  Since processors became powerful enough
to handle case insensitivity (like forty years ago?), the _only_
justification for case sensitivity is backwards compatibility.

And, although Ada does make allowances for implementation
difficulties, it's main philosophy is that most programmers
should be spending most of their time thinking abstractions,
not implementation.

-- 
Wes Groleau
http://freepages.rootsweb.com/~wgroleau



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

* Re: Why not combine Ada and C++?
       [not found] ` <01c155a0$7dd31b80$1b7af2c3@akzvbymr>
@ 2001-10-15 20:02   ` Ted Dennison
  2001-10-15 20:55   ` Adrian Knoth
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 88+ messages in thread
From: Ted Dennison @ 2001-10-15 20:02 UTC (permalink / raw)


In article <01c155a0$7dd31b80$1b7af2c3@akzvbymr>, fr.fabien@infonie.fr says...
>
>In my opinion, the drama of Ada is that it was not able to get
>out of the DoD or Air traffic control applications

That might indeed be an interesting drama. Fortunately, in the real world its
not true.

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

No trees were killed in the sending of this message. 
However a large number of electrons were terribly inconvenienced.



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

* Re: Why not combine Ada and C++?
  2001-10-15 17:41   ` Why not combine Ada and C++? Stephen Cole
  2001-10-15 18:27     ` tmoran
@ 2001-10-15 20:03     ` Wes Groleau
  1 sibling, 0 replies; 88+ messages in thread
From: Wes Groleau @ 2001-10-15 20:03 UTC (permalink / raw)




Stephen Cole wrote:
> As for combining C++ with Ada....I still think the idea of maybe providing a
> stepping stone between the two would be a good idea. Ada IS loosing

Do you mean a language that looks like C but is safer?  Java.
Or a language that looks like Ada but is less safe? _____

-- 
Wes Groleau
http://freepages.rootsweb.com/~wgroleau



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

* Re: Why not combine Ada and C++?
  2001-10-15 19:28 ` Baugereau
@ 2001-10-15 20:05   ` Ted Dennison
  2001-10-16  7:38     ` Martin Dowie
  0 siblings, 1 reply; 88+ messages in thread
From: Ted Dennison @ 2001-10-15 20:05 UTC (permalink / raw)


In article <9qfdbk$lae$1@wanadoo.fr>, Baugereau says...
>
>It may seems stupid, but I think such a language would benefit from C++
>postfix notation.
>Object.Method () insteand of Method (Object)
>
>Thus you can chain methods calls more clearly (1) and you can benefit from a
>better completion from your IDE (2).
>1) Object.Method1().Method2() instead of Method2 (Method1 (Object))
>2) Object.Meth* gives only methods that apply to Object whereas Meth*
>doesn't have this information

<sigh> 
Not only has this issue been discussed to death here multiple times (answer?
Like most things in Ada, it was done for a reason.), but it is in the process of
being rehashed yet again in another thread. Please go read it before trying to
dredge the issue up yet again.

We now return you to your regularly-schdeduled flamewar, already in progress.

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

No trees were killed in the sending of this message. 
However a large number of electrons were terribly inconvenienced.



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

* Re: Why not combine Ada and C++?
  2001-10-15 16:35       ` Marin David Condic
@ 2001-10-15 20:15         ` Robert*
  2001-10-15 21:27           ` Marin David Condic
  2001-10-15 22:50           ` Jeffrey Carter
  0 siblings, 2 replies; 88+ messages in thread
From: Robert* @ 2001-10-15 20:15 UTC (permalink / raw)


In article <9qf394$1rt$1@nh.pace.co.uk>, "Marin says...
>
 
> If you're depending on character case
>having an impact on meaning, then this is inherently risky. 


in some cases, case sensitivity can be very good.

for example, in Java, the convention is to use lower case first letter for
a name of a method. and Upper case first letter for a Class and interface
name, lower case all letters for a package name.

This is very usefull, becuase if you'r reading code, and you see an Upper case
first letter on an identifier, then you know without having to look aroud, that
the name represent a Class name. and the same for method names.

This means you can write

  Car car= new Car("buick");

and it is clear as a bird which is the type and which is the variable.
(In Ada, you have to add "_Type" to the type to try to distinguish things).

This is a convention, not enforced by the language, but it is so strong, that
any java programmer cought not doing it, will be immeadiatly taken out and
shot in clear day light without a question being asked :)

Myself, I prefer case sensitive. But it is not a very important feature, there
are more important things to look at first. But if I am designing a new
lang, i'd make case sensitive.




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

* Re: Why not combine Ada and C++?
  2001-10-15 18:27     ` tmoran
@ 2001-10-15 20:24       ` Wes Groleau
  0 siblings, 0 replies; 88+ messages in thread
From: Wes Groleau @ 2001-10-15 20:24 UTC (permalink / raw)




tmoran@acm.org wrote:
>   I feel C is like my third grade teacher.  She accepted anything I wrote
> with praise and encouragment, and did her best to understand what the
> heck I meant.  Ada is more like fourth grade.  She wanted writing

So C is a 3GL and Ada is a 4GL ?  :-)

If those acronyms weren't already taken, I'd say
your analogy is apt but inaccurate--C is a 2GL
and Ada is a 6GL  (Java is the 4GL)

(No one has invented the 12GL yet)

:-)

-- 
Wes Groleau
http://freepages.rootsweb.com/~wgroleau



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

* Re: Why not combine Ada and C++?
       [not found] ` <01c155a0$7dd31b80$1b7af2c3@akzvbymr>
  2001-10-15 20:02   ` Ted Dennison
@ 2001-10-15 20:55   ` Adrian Knoth
  2001-10-15 22:15   ` Eric Merritt
  2001-10-15 22:42   ` tmoran
  3 siblings, 0 replies; 88+ messages in thread
From: Adrian Knoth @ 2001-10-15 20:55 UTC (permalink / raw)


fr.fabien@infonie.fr wrote:

> The reason seems that there were no Ada libraries
> for stuff like GUI and ODBC and that to make a simple

It is important to use past tense, as you did. I feel very productive
with GtkAda and my PostgreSQL-binding, though it is a thick one and
though I also have to try two alternatives.

I want to point out to gnade, which is waiting for a closer look if
I could only find some time for it :) 

--- bite ----
The GNADE ODBC bindings are a thin Ada 95 binding to
ODBC.

The projects provides additionaly native bindings
to PostgreSQL and MySQL.
--- stop biting ---

> software you had to code by yourself a lot of stuff unlike VB , Java, or
> C++ where you have huge libraries to capitalize on.

Surely you won't include VB in a serious discussion about PLs.

As for myself I can ascertain my work with Ada helps me a lot
studying CS. The clear concept, the strong typeing and all the
professionality are wonderful.

I don't regard Ada as a programming language, it is a language for
software-engineering.

Just my $, and please consider your quoting :)

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

Wer _wirklich_ etwas zu verlieren hat, verwendet kein Windows. 
Zumindest nicht ein zweites Mal. (Robin S. Socha �ber "Desktop-Firewalls")



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

* Re: Why not combine Ada and C++?
  2001-10-15 20:15         ` Robert*
@ 2001-10-15 21:27           ` Marin David Condic
  2001-10-15 22:50           ` Jeffrey Carter
  1 sibling, 0 replies; 88+ messages in thread
From: Marin David Condic @ 2001-10-15 21:27 UTC (permalink / raw)


Similar cases have been given here before and been vigorously debated. I
personally would not program this way because of the easy misreading or
mistyping of "Car" vs "car" - and that's (one of the reasons) why Ada
doesn't do it that way. It is also just a naming convention that might not
get adhered to and might cause problems switching from one app to another or
one programmer's code to another. (Yes, I favor adherence to coding
conventions but they are difficult to enforce.) In a sense, it is
fundamentally no different than "Car" vs "Car_Type" or some similar
convention, so generally speaking, you can get the same effect with a
different style. (You'll find about as much religious fervor over the pro
_Type vs anti _Type adherents! :-)

As I said elsewhere, people are going to have preferences and there will be
good reasons on either side supporting what people prefer. Ada had to decide
to be either case sensitive or insensitive and either way it was going to
displease some segment of the population. It opted for insensitivity because
it was generally viewed to be the safer alternative - for a language heavily
concerned with avoiding errors. You give something up and you gain
something. At least it wasn't done for no reason at all and I think any
reasonable programmer can learn to work with it (and might discover that it
*does* avoid some collection of errors.)

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/


"Robert*@" <Robert_member@newsguy.com> wrote in message
news:9qfg4v02t20@drn.newsguy.com...
>
> in some cases, case sensitivity can be very good.
>
> for example, in Java, the convention is to use lower case first letter for
> a name of a method. and Upper case first letter for a Class and interface
> name, lower case all letters for a package name.
>
> This is very usefull, becuase if you'r reading code, and you see an Upper
case
> first letter on an identifier, then you know without having to look aroud,
that
> the name represent a Class name. and the same for method names.
>
> This means you can write
>
>   Car car= new Car("buick");
>
> and it is clear as a bird which is the type and which is the variable.
> (In Ada, you have to add "_Type" to the type to try to distinguish
things).
>
> This is a convention, not enforced by the language, but it is so strong,
that
> any java programmer cought not doing it, will be immeadiatly taken out and
> shot in clear day light without a question being asked :)
>
> Myself, I prefer case sensitive. But it is not a very important feature,
there
> are more important things to look at first. But if I am designing a new
> lang, i'd make case sensitive.
>





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

* Re: Why not combine Ada and C++?
       [not found] ` <01c155a0$7dd31b80$1b7af2c3@akzvbymr>
  2001-10-15 20:02   ` Ted Dennison
  2001-10-15 20:55   ` Adrian Knoth
@ 2001-10-15 22:15   ` Eric Merritt
  2001-10-15 22:42   ` tmoran
  3 siblings, 0 replies; 88+ messages in thread
From: Eric Merritt @ 2001-10-15 22:15 UTC (permalink / raw)


<fr.fabien@infonie.fr> wrote in message news:<01c155a0$7dd31b80$1b7af2c3@akzvbymr>...
> In my opinion, the drama of Ada is that it was not able to get
> out of the DoD or Air traffic control applications
> 
> The reason seems that there were no Ada libraries
> for stuff like GUI and ODBC and that to make a simple
> software you had to code by yourself a lot of stuff
> unlike VB , Java, or C++ where you have huge libraries to
> capitalize on.
> 
> FF

Please feel free to check out GNADE. GNADE is an odbc based library
for ada, a pretty good one too I might add. As for native gui, you are
right. There probably needs to be a native gui toolkit for ada. In the
interim we do have gtkAda that is not bad at all.

Eric



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

* Re: Why not combine Ada and C++?
       [not found] ` <01c155a0$7dd31b80$1b7af2c3@akzvbymr>
                     ` (2 preceding siblings ...)
  2001-10-15 22:15   ` Eric Merritt
@ 2001-10-15 22:42   ` tmoran
       [not found]     ` <01c15665$dc2e6c00$9b29e8d4@akzvbymr>
  3 siblings, 1 reply; 88+ messages in thread
From: tmoran @ 2001-10-15 22:42 UTC (permalink / raw)


> The reason seems that there were no Ada libraries
> for stuff like GUI and ODBC and that to make a simple
> software you had to code by yourself a lot of stuff
> unlike VB , Java, or C++ where you have huge libraries to
> capitalize on.
  There's a substantial, commonly available, GUI etc library called
Windows, and several different Ada versions of its API, at varying
levels of abstraction, and even tools to create Ada versions of new
Windows libraries (eg Gnatcom).
Have you looked at www.adapower.com recently? at all?



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

* Re: The caselessness is one of the things I like best!
  2001-10-15 17:35         ` Marin David Condic
  2001-10-15 18:18           ` Pascal Obry
@ 2001-10-15 22:46           ` Jeffrey Carter
  2001-10-16 13:32             ` Ted Dennison
  2001-10-22  2:10             ` David Thompson
  1 sibling, 2 replies; 88+ messages in thread
From: Jeffrey Carter @ 2001-10-15 22:46 UTC (permalink / raw)


Marin David Condic wrote:
> 
> Hmmmmmm..... Just tried this with gcc:
> 
>  ui32     Event_Code   = k_pmsg_Display_Start ;
>  ....and then.....
>  event_code =     k_pmsg_Display_Start ;
> 
> Got the following complaint:
> 
> msgeas/Msg_Display.cpp: In function `void dis_Show_Window(struct
> Msg_Display_Type &)':
> msgeas/Msg_Display.cpp:359: `event_code' undeclared (first use this
> function)
> 
> There may be conditions under which differences in character case go
> undetected, but its not quite the case where undeclared variables just get
> created.

I have used C compilers that do not give warnings for undeclared
variables by default; they are silently created as type int. I don't
know if this is still legal for standard C.

-- 
Jeffrey Carter



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

* Re: Why not combine Ada and C++?
  2001-10-15 20:15         ` Robert*
  2001-10-15 21:27           ` Marin David Condic
@ 2001-10-15 22:50           ` Jeffrey Carter
  2001-10-18 19:53             ` Simon Wright
  1 sibling, 1 reply; 88+ messages in thread
From: Jeffrey Carter @ 2001-10-15 22:50 UTC (permalink / raw)


"Robert*@" wrote:
> 
> In article <9qf394$1rt$1@nh.pace.co.uk>, "Marin says...
> >
> > If you're depending on character case
> >having an impact on meaning, then this is inherently risky.
> 
> in some cases, case sensitivity can be very good.
> 
> for example, in Java, the convention is to use lower case first letter for
> a name of a method. and Upper case first letter for a Class and interface
> name, lower case all letters for a package name.
> 
> This is very usefull, becuase if you'r reading code, and you see an Upper case
> first letter on an identifier, then you know without having to look aroud, that
> the name represent a Class name. and the same for method names.

When you come across code that does not adhere to this convention, you
are going to make incorrect assumptions about what it means. This is
what happens when you rely on something that is "inherently risky":
errors. Of course, there are those who enjoy spending weeks debugging
errors that a case-insensitive language would not allow.

-- 
Jeffrey Carter



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

* Re: Modern languages are case sensitive?
  2001-10-15 19:20     ` Larry Kilgallen
@ 2001-10-15 22:54       ` Jeffrey Carter
  2001-10-16 11:21         ` Dmitry Kazakov
  0 siblings, 1 reply; 88+ messages in thread
From: Jeffrey Carter @ 2001-10-15 22:54 UTC (permalink / raw)


Larry Kilgallen wrote:
> 
> In article <3BCB2E0B.5D7894CD@boeing.com>, Jeffrey Carter <jeffrey.carter@boeing.com> writes:
> >
> > Well designed, modern languages (Ada) and operating systems (sorry,
> > there aren't any) are case insensitive. 30-year-old, poorly designed
> > languages (C) and operating systems (UNIX) are case sensitive.
> 
> Well, VMS is only 23 years old, and it is case insensitive !

VMS has many good features, but I hesitate to call it modern.

-- 
Jeffrey Carter



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

* Re: Why not combine Ada and C++?
  2001-10-15 20:05   ` Ted Dennison
@ 2001-10-16  7:38     ` Martin Dowie
  2001-10-16 11:44       ` Pascal Obry
  0 siblings, 1 reply; 88+ messages in thread
From: Martin Dowie @ 2001-10-16  7:38 UTC (permalink / raw)


"Ted Dennison" <dennison@telepath.com> wrote in message
news:ZjHy7.30103$ev2.37026@www.newsranger.com...
> In article <9qfdbk$lae$1@wanadoo.fr>, Baugereau says...
> >
> >It may seems stupid, but I think such a language would benefit from C++
> >postfix notation.
> >Object.Method () insteand of Method (Object)
> >
> >Thus you can chain methods calls more clearly (1) and you can benefit
from a
> >better completion from your IDE (2).
> >1) Object.Method1().Method2() instead of Method2 (Method1 (Object))
> >2) Object.Meth* gives only methods that apply to Object whereas Meth*
> >doesn't have this information
>
> <sigh>
> Not only has this issue been discussed to death here multiple times
(answer?
> Like most things in Ada, it was done for a reason.), but it is in the
process of
> being rehashed yet again in another thread. Please go read it before
trying to
> dredge the issue up yet again.
>
> We now return you to your regularly-schdeduled flamewar, already in
progress.

I has understood this 'syntactic sugar' was going to be included in Ada0Y,
anyone
know anything about that?





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

* Re: The caselessness is one of the things I like best!
  2001-10-15 15:12         ` Arthur Evans Jr
  2001-10-15 16:00           ` Larry Kilgallen
@ 2001-10-16  8:48           ` John English
  2001-10-16 13:11             ` James Rogers
  1 sibling, 1 reply; 88+ messages in thread
From: John English @ 2001-10-16  8:48 UTC (permalink / raw)


Arthur Evans Jr wrote:
> OTOH, I don't think it should be the goal of language design to
> legislate against such usage -- it can't succeed in doing so.  For
> example, nothing in Ada's specification legislates against using
> OO00OO0O00O00 and OO00O00O00O00 as identifiers, or
> lll11l1l1lll1l1ll1 and lll11l1l1l1l1l1ll1, or mmmmmmmmmmmmmmmmmmmm
> and mmmmmmmmmmmmmmmmmmmmm.  I think use of such identifiers is
> fully as bad practice as using 'item' and 'Item'.

Yes, but as I've said many times before, having to remember whether
an identifier is spelt RuntimeException or RunTimeException, or
Hashtable vs. HashTable, or HashMap vs. Hashmap, is an unnecessary
burden on my memory. And to add insult to injury, all the Java and
C++ compilers I know will just barf if you get the case wrong rather
than giving a more helpful error message suggesting the possibly
correct spelling...

-----------------------------------------------------------------
 John English              | mailto:je@brighton.ac.uk
 Senior Lecturer           | http://www.comp.it.bton.ac.uk/je
 Dept. of Computing        | ** NON-PROFIT CD FOR CS STUDENTS **
 University of Brighton    |    -- see http://burks.bton.ac.uk
-----------------------------------------------------------------



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

* Re: Modern languages are case sensitive?
  2001-10-15 22:54       ` Jeffrey Carter
@ 2001-10-16 11:21         ` Dmitry Kazakov
  0 siblings, 0 replies; 88+ messages in thread
From: Dmitry Kazakov @ 2001-10-16 11:21 UTC (permalink / raw)


On Mon, 15 Oct 2001 22:54:13 GMT, Jeffrey Carter
<jeffrey.carter@boeing.com> wrote:

>Larry Kilgallen wrote:
>> 
>> In article <3BCB2E0B.5D7894CD@boeing.com>, Jeffrey Carter <jeffrey.carter@boeing.com> writes:
>> >
>> > Well designed, modern languages (Ada) and operating systems (sorry,
>> > there aren't any) are case insensitive. 30-year-old, poorly designed
>> > languages (C) and operating systems (UNIX) are case sensitive.
>> 
>> Well, VMS is only 23 years old, and it is case insensitive !
>
>VMS has many good features, but I hesitate to call it modern.

Ergo, modern /= good (:-))

Regards,
Dmitry Kazakov



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

* Re: Modern languages are case sensitive?
  2001-10-15 18:42   ` Modern languages are case sensitive? Jeffrey Carter
  2001-10-15 19:20     ` Larry Kilgallen
@ 2001-10-16 11:42     ` Robert Dewar
  2001-10-16 13:16       ` Dale Stanbrough
                         ` (3 more replies)
  2001-10-18  0:00     ` Will
  2 siblings, 4 replies; 88+ messages in thread
From: Robert Dewar @ 2001-10-16 11:42 UTC (permalink / raw)


My own feeling on this issue is that

a) the following program is quite awful, and should
   obviously not be permitted in any language:

     Main : integer;
     main : integer;
     ...

b) The following program is undesirable, and preferably
   should not be permitted:

     Main : integer;
     ...
     main := 2;

   It cannot possibly be helpful for the reader to use
   random casing like this.

This is the semantics implemented by gnat -y and thus the
language we use for writing GNAT (i.e. in the GNAT sources
it is a fatal error to use the wrong casing for something)

Whether I would go as far as changing the language to
require case consistency, I don't know.

By the way, if I was writing a C compiler, I would include
a warning if two identifiers differed only in case, so that
the same desirable semantics is achieved.

And I can't help but get a chuckle out of someone thinking
of Unix as a "modern operating system". Indeed if you
do look at modern operating systems (e.g. Windows XP, or
OS/2), they are case insensitive. The case sensitive decision of C and
Unix was in my opinion never well justified or thought out, and now it
just gets copied.
Old technological decisions get reinforced over and over
again by compatibility and familiarity considerations 
regardless of their merit (*)

Robert Dewar

(*) e.g. the gauge use by Amtrak is related to the separation of
wheels on Roman war chariots :-)



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

* Re: Why not combine Ada and C++?
  2001-10-16  7:38     ` Martin Dowie
@ 2001-10-16 11:44       ` Pascal Obry
  0 siblings, 0 replies; 88+ messages in thread
From: Pascal Obry @ 2001-10-16 11:44 UTC (permalink / raw)



"Martin Dowie" <martin.dowie@nospam.baesystems.com> writes:

> I has understood this 'syntactic sugar' was going to be included in Ada0Y,
> anyone
> know anything about that?

I have post a reference to the AI some time ago. Have a look at the archive.

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] 88+ messages in thread

* Re: The caselessness is one of the things I like best!
  2001-10-16  8:48           ` John English
@ 2001-10-16 13:11             ` James Rogers
  2001-10-16 18:10               ` tmoran
  2001-10-19 14:52               ` john mann
  0 siblings, 2 replies; 88+ messages in thread
From: James Rogers @ 2001-10-16 13:11 UTC (permalink / raw)


John English wrote:
> 
> Arthur Evans Jr wrote:
> > OTOH, I don't think it should be the goal of language design to
> > legislate against such usage -- it can't succeed in doing so.  For
> > example, nothing in Ada's specification legislates against using
> > OO00OO0O00O00 and OO00O00O00O00 as identifiers, or
> > lll11l1l1lll1l1ll1 and lll11l1l1l1l1l1ll1, or mmmmmmmmmmmmmmmmmmmm
> > and mmmmmmmmmmmmmmmmmmmmm.  I think use of such identifiers is
> > fully as bad practice as using 'item' and 'Item'.
> 
> Yes, but as I've said many times before, having to remember whether
> an identifier is spelt RuntimeException or RunTimeException, or
> Hashtable vs. HashTable, or HashMap vs. Hashmap, is an unnecessary
> burden on my memory. And to add insult to injury, all the Java and
> C++ compilers I know will just barf if you get the case wrong rather
> than giving a more helpful error message suggesting the possibly
> correct spelling...

Note that Java abuses case sensitivity in its standard.
There is the reserved word "class", which is used to define a class,
and the "Class" class, which is used as the basis for reflection.

While on the subject, I also am amused by the "Object" class, which
is the root of all Java inheritance.

This combination allows you to talk about the Class object and the
Object class as well as the Class class and the Object object.
This results in wonderful classroom discussions.

Jim Rogers
Colorado Springs, Colorado USA



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

* Re: Modern languages are case sensitive?
  2001-10-16 11:42     ` Robert Dewar
@ 2001-10-16 13:16       ` Dale Stanbrough
  2001-10-16 23:43         ` David Botton
  2001-10-16 14:36       ` Arthur Evans Jr
                         ` (2 subsequent siblings)
  3 siblings, 1 reply; 88+ messages in thread
From: Dale Stanbrough @ 2001-10-16 13:16 UTC (permalink / raw)


Robert Dewar wrote:

> And I can't help but get a chuckle out of someone thinking
> of Unix as a "modern operating system". Indeed if you
> do look at modern operating systems (e.g. Windows XP, or
> OS/2), they are case insensitive. The case sensitive decision of C and
> Unix was in my opinion never well justified or thought out, and now it
> just gets copied.

Apple must keep you rolling in the ailes then. They have "the
most modern" underpinnings for their new OS :-)

Dale



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

* Re: The caselessness is one of the things I like best!
  2001-10-15 22:46           ` Jeffrey Carter
@ 2001-10-16 13:32             ` Ted Dennison
  2001-10-22  2:10             ` David Thompson
  1 sibling, 0 replies; 88+ messages in thread
From: Ted Dennison @ 2001-10-16 13:32 UTC (permalink / raw)


In article <3BCB673A.11FD06D@boeing.com>, Jeffrey Carter says...
>
>I have used C compilers that do not give warnings for undeclared
>variables by default; they are silently created as type int. I don't
>know if this is still legal for standard C.

I believe that's the way K&R (the original C) worked. It would also assume all
parameters were int if you didn't say otherwise, and convert all parameters to
that type. Combine that with implicit definition of functions if you forget to
specify their prototype, and you can get some rather interesting bugs. There are
still some K&R compilers floating around too.

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

No trees were killed in the sending of this message. 
However a large number of electrons were terribly inconvenienced.



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

* Re: Modern languages are case sensitive?
  2001-10-16 11:42     ` Robert Dewar
  2001-10-16 13:16       ` Dale Stanbrough
@ 2001-10-16 14:36       ` Arthur Evans Jr
  2001-10-16 14:50       ` Chris Morgan
  2001-10-16 15:18       ` Florian Weimer
  3 siblings, 0 replies; 88+ messages in thread
From: Arthur Evans Jr @ 2001-10-16 14:36 UTC (permalink / raw)


In article <5ee5b646.0110160342.23b9481c@posting.google.com>,
dewar@gnat.com (Robert Dewar) wrote:

>                The case sensitive decision of C and
> Unix was in my opinion never well justified or thought out, and now it
> just gets copied.

C followed BCPL in this regard.  When Martin Richards designed
BCPL, in about 1967 or so, upper- and lower-case character sets
were just becoming commonly available.  The design was on CTSS,
where we had case-sensitive editors.  I've seen the compiler's
code, and I can testify that Martin used case-sensitivity
tastefully.

See my comments on this matter in the thread on 'caselessness is
one of the things I like best'.

Art Evans



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

* Re: Modern languages are case sensitive?
  2001-10-16 11:42     ` Robert Dewar
  2001-10-16 13:16       ` Dale Stanbrough
  2001-10-16 14:36       ` Arthur Evans Jr
@ 2001-10-16 14:50       ` Chris Morgan
  2001-10-16 15:18       ` Florian Weimer
  3 siblings, 0 replies; 88+ messages in thread
From: Chris Morgan @ 2001-10-16 14:50 UTC (permalink / raw)


dewar@gnat.com (Robert Dewar) writes:

> Old technological decisions get reinforced over and over
> again by compatibility and familiarity considerations 
> regardless of their merit (*)
> 
> Robert Dewar
> 
> (*) e.g. the gauge use by Amtrak is related to the separation of
> wheels on Roman war chariots :-)

This is commonly thought to be a myth :

http://www.google.com/search?q=railway+gauge+chariot

for example

http://www.railway.org/railroadgauge.htm

-- 
Chris Morgan



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

* Re: Modern languages are case sensitive?
  2001-10-16 11:42     ` Robert Dewar
                         ` (2 preceding siblings ...)
  2001-10-16 14:50       ` Chris Morgan
@ 2001-10-16 15:18       ` Florian Weimer
  2001-10-16 15:47         ` Wes Groleau
  2001-10-16 17:12         ` David Starner
  3 siblings, 2 replies; 88+ messages in thread
From: Florian Weimer @ 2001-10-16 15:18 UTC (permalink / raw)


dewar@gnat.com (Robert Dewar) writes:

> a) the following program is quite awful, and should
>    obviously not be permitted in any language:
>
>      Main : integer;
>      main : integer;
>      ...

In C#, you can have

        int main;
        int main;
        int int;
        intother;

Of course, this is only the visual presentation. ;-) The actual
representation uses alternative representations of ASCII characters
(LATIN SMALL LETTER DOTLESS I followed by COMBINING DOT ABOVE) and a
ZERO WIDTH SPACE.

Clearly, Unicode is not suitable for identifiers.  There are five
different ways to represent a symbol which looks like a capital H!

> By the way, if I was writing a C compiler, I would include
> a warning if two identifiers differed only in case, so that
> the same desirable semantics is achieved.

Some case-sensitive OO languages (for example, Python) have quite a
useful idiom: capitalized identifiers refer to classes, all-lowercase
ones to temporary objects of the corresponding class.

> And I can't help but get a chuckle out of someone thinking
> of Unix as a "modern operating system". Indeed if you
> do look at modern operating systems (e.g. Windows XP, or
> OS/2), they are case insensitive.

AFAIK NTFS *is* case sensitive.  It's the Win32 subsystem which
presents a case-insensitive view of the file system.  Using other
subsystems, you can create names which only differ in case.

(Consumer versions of Windows were not even case-preserving, which I
consider a bug.)



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

* Re: Modern languages are case sensitive?
  2001-10-16 15:18       ` Florian Weimer
@ 2001-10-16 15:47         ` Wes Groleau
  2001-10-16 16:48           ` Florian Weimer
  2001-10-16 17:12         ` David Starner
  1 sibling, 1 reply; 88+ messages in thread
From: Wes Groleau @ 2001-10-16 15:47 UTC (permalink / raw)




Florian Weimer wrote:
> Clearly, Unicode is not suitable for identifiers.  There are five
> different ways to represent a symbol which looks like a capital H!

And since Java is theoretically written in Unicode.....

-- 
Wes Groleau
http://freepages.rootsweb.com/~wgroleau



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

* Re: Modern languages are case sensitive?
  2001-10-16 15:47         ` Wes Groleau
@ 2001-10-16 16:48           ` Florian Weimer
  0 siblings, 0 replies; 88+ messages in thread
From: Florian Weimer @ 2001-10-16 16:48 UTC (permalink / raw)


Wes Groleau <wwgrol@sparc01.ftw.rsc.raytheon.com> writes:

> Florian Weimer wrote:
> > Clearly, Unicode is not suitable for identifiers.  There are five
>> different ways to represent a symbol which looks like a capital H!
>
> And since Java is theoretically written in Unicode.....

There exists a Java disassembler which could really increase
readability in such cases.  If the original source code doesn't have
comments and meaningful identifiers, at least one tool recovers a
nearly perfect equivalent of it. ;-)



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

* Re: Modern languages are case sensitive?
  2001-10-16 15:18       ` Florian Weimer
  2001-10-16 15:47         ` Wes Groleau
@ 2001-10-16 17:12         ` David Starner
  2001-10-16 20:32           ` Florian Weimer
  1 sibling, 1 reply; 88+ messages in thread
From: David Starner @ 2001-10-16 17:12 UTC (permalink / raw)


On Tue, 16 Oct 2001 17:18:10 +0200, Florian Weimer <fw@deneb.enyo.de> wrote:
> Of course, this is only the visual presentation. ;-) The actual
> representation uses alternative representations of ASCII characters
> (LATIN SMALL LETTER DOTLESS I followed by COMBINING DOT ABOVE) and a
> ZERO WIDTH SPACE.

Then why didn't you type in the actual Unicode? Because it would be very
hard to? Because it wouldn't have fooled anyone?
 
> Clearly, Unicode is not suitable for identifiers.  There are five
> different ways to represent a symbol which looks like a capital H!

And in ASCII there are three symbols that look like a vertical line, and
two that look like a circle, and they're used to confuse things all the
time. If you speak Russian or Hebrew or Japanese natively and English
poorly or not at all, Unicode identifiers are much clearer. (Having
tried to debug code with Polish identifers, I know that it's not easy to
deal with identifiers in a language you're not familiar with; I also
know that ASCII won't stop someone from writing indentifiers in thier
native language.)

I've just added to the list of things to add to GNAT in my Copious Free
Time the option to restrict Unicode identifiers to the Latin script, as
that would solve most of your problems.

-- 
David Starner - dstarner98@aasaa.ofe.org
Pointless website: http://dvdeug.dhis.org
"I saw a daemon stare into my face, and an angel touch my breast; each 
one softly calls my name . . . the daemon scares me less."
- "Disciple", Stuart Davis



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

* Re: Why not combine Ada and C++?
       [not found]     ` <01c15665$dc2e6c00$9b29e8d4@akzvbymr>
@ 2001-10-16 17:48       ` Ted Dennison
  2001-10-16 18:04       ` Larry Kilgallen
  2001-10-16 18:51       ` Marin David Condic
  2 siblings, 0 replies; 88+ messages in thread
From: Ted Dennison @ 2001-10-16 17:48 UTC (permalink / raw)


In article <01c15665$dc2e6c00$9b29e8d4@akzvbymr>, fr.fabien@infonie.fr says...
>Anyway concerning GUI in Ada you had the choice until recently between Claw
>and ... nothing else

Not true. The Win32 Ada bindings have been shipping with the public versions of
Gnat for years now. In addition, I was using Ada/TK bindings for GUI programming
back in '97, if I remember correctly. If you didn't mind spending money, there
have been X/Motif bindings floating around since back in the Ada 83 days.

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

No trees were killed in the sending of this message. 
However a large number of electrons were terribly inconvenienced.



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

* Re: Why not combine Ada and C++?
       [not found]     ` <01c15665$dc2e6c00$9b29e8d4@akzvbymr>
  2001-10-16 17:48       ` Ted Dennison
@ 2001-10-16 18:04       ` Larry Kilgallen
  2001-10-16 23:01         ` tmoran
  2001-10-16 18:51       ` Marin David Condic
  2 siblings, 1 reply; 88+ messages in thread
From: Larry Kilgallen @ 2001-10-16 18:04 UTC (permalink / raw)


In article <01c15665$dc2e6c00$9b29e8d4@akzvbymr>, <fr.fabien@infonie.fr> writes:

> Anyway concerning GUI in Ada you had the choice until recently between Claw
> and ... nothing else

To the best of my knowledge, Claw is only for Microsoft Windows.



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

* Re: The caselessness is one of the things I like best!
  2001-10-16 13:11             ` James Rogers
@ 2001-10-16 18:10               ` tmoran
  2001-10-17  8:53                 ` Philip Anderson
  2001-10-19 14:52               ` john mann
  1 sibling, 1 reply; 88+ messages in thread
From: tmoran @ 2001-10-16 18:10 UTC (permalink / raw)


>This combination allows you to talk about the Class object and the
>Object class as well as the Class class and the Object object.
>This results in wonderful classroom discussions.
 Seems to me ADA might complain on behalf of the blind.
;)



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

* Re: Why not combine Ada and C++?
       [not found]     ` <01c15665$dc2e6c00$9b29e8d4@akzvbymr>
  2001-10-16 17:48       ` Ted Dennison
  2001-10-16 18:04       ` Larry Kilgallen
@ 2001-10-16 18:51       ` Marin David Condic
  2 siblings, 0 replies; 88+ messages in thread
From: Marin David Condic @ 2001-10-16 18:51 UTC (permalink / raw)


Its already changing if participation in this newsgroup counts for anything.
I've noticed a steady increase in the quantity of posts and the number of
regular/semi-regular posters we see here. A number of participants seem to
be from "across the pond" so Europe may end up the foster-parent of the US
DoD's abandoned baby.

Also most of us Ada-philes get a bit critical when we see the name spelled
"ADA" since it is, after all, a person's name - not an acronym.

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/


<fr.fabien@infonie.fr> wrote in message
news:01c15665$dc2e6c00$9b29e8d4@akzvbymr...
>
> But my feeling concerning ADA as of today October 2001 is that it is like
> the Concorde aircraft
> which means a technical success but a marketing flop
>
> My hope is that this situation will change






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

* Re: Modern languages are case sensitive?
  2001-10-16 17:12         ` David Starner
@ 2001-10-16 20:32           ` Florian Weimer
  2001-10-16 21:37             ` David Starner
  0 siblings, 1 reply; 88+ messages in thread
From: Florian Weimer @ 2001-10-16 20:32 UTC (permalink / raw)


David Starner <dvdeug@x8b4e53cd.dhcp.okstate.edu> writes:

> On Tue, 16 Oct 2001 17:18:10 +0200, Florian Weimer <fw@deneb.enyo.de> wrote:
> > Of course, this is only the visual presentation. ;-) The actual
>> representation uses alternative representations of ASCII characters
>> (LATIN SMALL LETTER DOTLESS I followed by COMBINING DOT ABOVE) and a
>> ZERO WIDTH SPACE.
>
> Then why didn't you type in the actual Unicode? 

;-)

> Because it would be very hard to?

Actually, using GNU Emacs, Quail, and the proper input method , it's
easy.

> Because it wouldn't have fooled anyone?

Probably true.  There are few applications which treat combining
characters correctly (at least for GNU, I don't know about other
operating systems).

>> Clearly, Unicode is not suitable for identifiers.  There are five
>> different ways to represent a symbol which looks like a capital H!
>
> And in ASCII there are three symbols that look like a vertical line,
> and two that look like a circle, and they're used to confuse things
> all the time.

In most cases, you can use fonts which highlight these differences
(IBM did this with their PC, and has stuck since: "0" has got a dot in
the middle, and "|" a hole).

With Unicode, things are a bit different.  Perhaps you could use
different typefaces for different languages, but at least today, there
are very few complete Unicode fonts, and chances are small that a few
of them are available on a single system.  Or colors can highlight
differences.  Or you could turn off processing of combining characters
and non-spacing space characters when editing source code (reducing
the level of Unicode compatibility).  I don't know which approach is
best, that's why I continue to use an ASCII subset.  Unfortunately,
people are eager to use Unicode identifiers everywhere, even in email
addresses. :-(

> If you speak Russian or Hebrew or Japanese natively and English
> poorly or not at all, Unicode identifiers are much clearer.

For most applications, I've given up using German identifiers.
Most API identifiers are based on English words, and the mixtures
just looks awkward.  Perhaps in some cases, I choose a suboptimal
identifier which unwanted connotations or miss the best one because
the word is not in my active vocabulary, but even native speakers make
such mistakes from time to time.

> I've just added to the list of things to add to GNAT in my Copious Free
> Time the option to restrict Unicode identifiers to the Latin script, as
> that would solve most of your problems.

I think a stronger restriction is already in place; only characters in
Row 00 of the Basic Multilingual Plane are allowed (which corresponds
to the MIME charset known as ISO-8859-1.)  I haven't checked the
non-standard GNAT modes, however.



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

* Re: Modern languages are case sensitive?
  2001-10-16 20:32           ` Florian Weimer
@ 2001-10-16 21:37             ` David Starner
  2001-10-17  8:39               ` Florian Weimer
  0 siblings, 1 reply; 88+ messages in thread
From: David Starner @ 2001-10-16 21:37 UTC (permalink / raw)


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

On Tue, 16 Oct 2001 22:32:13 +0200, Florian Weimer <fw@deneb.enyo.de> wrote:
>> And in ASCII there are three symbols that look like a vertical line,
>> and two that look like a circle, and they're used to confuse things
>> all the time.
> 
> In most cases, you can use fonts which highlight these differences
> (IBM did this with their PC, and has stuck since: "0" has got a dot in
> the middle, and "|" a hole).

Meaning that | and ¦ (U+00A6, BROKEN BAR, in Latin-1) are easily
confused.

> With Unicode, things are a bit different.  Perhaps you could use
> different typefaces for different languages, but at least today, there
> are very few complete Unicode fonts, and chances are small that a few
> of them are available on a single system.  

Why do you need full Unicode fonts? Just use codepage fonts and patch
them together. In any one situation, you probably need to distinguish
only between Latin, one other script and other, since anyone mixing
Greek and Russian (and Latin, of course) in a program is just asking for
trouble.

> I think a stronger restriction is already in place; only characters in
> Row 00 of the Basic Multilingual Plane are allowed (which corresponds
> to the MIME charset known as ISO-8859-1.)  I haven't checked the
> non-standard GNAT modes, however.

-gnatiw allows for Unicode, but doesn't do proper case matching. 

-- 
David Starner - dstarner98@aasaa.ofe.org
Pointless website: http://dvdeug.dhis.org
"I saw a daemon stare into my face, and an angel touch my breast; each 
one softly calls my name . . . the daemon scares me less."
- "Disciple", Stuart Davis



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

* Re: Why not combine Ada and C++?
  2001-10-16 18:04       ` Larry Kilgallen
@ 2001-10-16 23:01         ` tmoran
  0 siblings, 0 replies; 88+ messages in thread
From: tmoran @ 2001-10-16 23:01 UTC (permalink / raw)


> > Anyway concerning GUI in Ada you had the choice until recently between Claw
> > and ... nothing else
>
> To the best of my knowledge, Claw is only for Microsoft Windows.
  Yes.  The original statement was:
> > Windows, and several different Ada versions of its API, at varying
> > levels of abstraction, and even tools to create Ada versions of new
  Tom Moran (one of the original Claw developers)



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

* Re: Modern languages are case sensitive?
  2001-10-16 13:16       ` Dale Stanbrough
@ 2001-10-16 23:43         ` David Botton
  2001-10-17  1:42           ` Larry Kilgallen
  0 siblings, 1 reply; 88+ messages in thread
From: David Botton @ 2001-10-16 23:43 UTC (permalink / raw)


Yes and Apple's new OS is case insensitive unless using the "old" Unix file
system :-)


"Dale Stanbrough" <dale@cs.rmit.edu.au> wrote in message news:dale-
> Apple must keep you rolling in the ailes then. They have "the
> most modern" underpinnings for their new OS :-)






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

* Re: Modern languages are case sensitive?
  2001-10-16 23:43         ` David Botton
@ 2001-10-17  1:42           ` Larry Kilgallen
  0 siblings, 0 replies; 88+ messages in thread
From: Larry Kilgallen @ 2001-10-17  1:42 UTC (permalink / raw)


In article <tsphhia5hdmo37@corp.supernews.com>, "David Botton" <David@Botton.com> writes:
> Yes and Apple's new OS is case insensitive unless using the "old" Unix file
> system :-)

If it follows the previous Apple model it is "case preserving",
like ODS-5 on Alpha VMS.



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

* Re: Modern languages are case sensitive?
  2001-10-16 21:37             ` David Starner
@ 2001-10-17  8:39               ` Florian Weimer
  0 siblings, 0 replies; 88+ messages in thread
From: Florian Weimer @ 2001-10-17  8:39 UTC (permalink / raw)


David Starner <dvdeug@x8b4e53cd.dhcp.okstate.edu> writes:

> > In most cases, you can use fonts which highlight these differences
> > (IBM did this with their PC, and has stuck since: "0" has got a dot in
> > the middle, and "|" a hole).
> 
> Meaning that | and � (U+00A6, BROKEN BAR, in Latin-1) are easily
> confused.

IBM's character sets do not support Latin-1.

> Why do you need full Unicode fonts? Just use codepage fonts and patch
> them together.

Most operating systems do not support this; you need complete fonts,
or the application has to perform the font switching amnually.



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

* Re: The caselessness is one of the things I like best!
  2001-10-16 18:10               ` tmoran
@ 2001-10-17  8:53                 ` Philip Anderson
  2001-10-17 10:57                   ` Larry Kilgallen
  0 siblings, 1 reply; 88+ messages in thread
From: Philip Anderson @ 2001-10-17  8:53 UTC (permalink / raw)


tmoran@acm.org wrote:
> 
> >This combination allows you to talk about the Class object and the
> >Object class as well as the Class class and the Object object.
> >This results in wonderful classroom discussions.
>  Seems to me ADA might complain on behalf of the blind.
> ;)

It's always seemed odd to me that case-insensitive Ada users do fuss
about the correct case of "Ada", whereas case-sensitive C users usually
get it wrong!

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



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

* Re: The caselessness is one of the things I like best!
  2001-10-17  8:53                 ` Philip Anderson
@ 2001-10-17 10:57                   ` Larry Kilgallen
  0 siblings, 0 replies; 88+ messages in thread
From: Larry Kilgallen @ 2001-10-17 10:57 UTC (permalink / raw)


In article <3BCD46F6.504BED24@amsjv.com>, Philip Anderson <phil.anderson@amsjv.com> writes:

> It's always seemed odd to me that case-insensitive Ada users do fuss
> about the correct case of "Ada", whereas case-sensitive C users usually
> get it wrong!

This involves being aware of what language is in use - English in this case.



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

* Re: Modern languages are case sensitive?
  2001-10-15 18:42   ` Modern languages are case sensitive? Jeffrey Carter
  2001-10-15 19:20     ` Larry Kilgallen
  2001-10-16 11:42     ` Robert Dewar
@ 2001-10-18  0:00     ` Will
  2001-10-18  2:12       ` Larry Kilgallen
  2 siblings, 1 reply; 88+ messages in thread
From: Will @ 2001-10-18  0:00 UTC (permalink / raw)


Jeffrey Carter <jeffrey.carter@boeing.com> wrote in message news:<3BCB2E0B.5D7894CD@boeing.com>...
> Stephen Cole wrote:
> > 
> > I don't like the caselessness of Ada either.
> > It makes feel MSDOSish rather than a modern language.
> 
> Well designed, modern languages (Ada) and operating systems (sorry,
> there aren't any) are case insensitive. 30-year-old, poorly designed
> languages (C) and operating systems (UNIX) are case sensitive.

This is not really accurate. If you try to login into AIX with your cap
lock down, it will actually prompt you in capital letters. Where is that
superior Ada OS again? Have you guys finished deciding whether it should be
case sensitive or not?



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

* Re: Modern languages are case sensitive?
  2001-10-18  0:00     ` Will
@ 2001-10-18  2:12       ` Larry Kilgallen
  2001-10-18  2:32         ` Darren New
  0 siblings, 1 reply; 88+ messages in thread
From: Larry Kilgallen @ 2001-10-18  2:12 UTC (permalink / raw)


In article <4a885870.0110171600.4c22aa7c@posting.google.com>, wv9557@yahoo.com (Will) writes:

> This is not really accurate. If you try to login into AIX with your cap
> lock down, it will actually prompt you in capital letters.

I don't see how that is possible over a serial line.

What do you mean by "try to login" ?



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

* Re: Modern languages are case sensitive?
  2001-10-18  2:12       ` Larry Kilgallen
@ 2001-10-18  2:32         ` Darren New
  2001-10-18 11:32           ` Larry Kilgallen
  0 siblings, 1 reply; 88+ messages in thread
From: Darren New @ 2001-10-18  2:32 UTC (permalink / raw)


Larry Kilgallen wrote:
> 
> In article <4a885870.0110171600.4c22aa7c@posting.google.com>, wv9557@yahoo.com (Will) writes:
> 
> > This is not really accurate. If you try to login into AIX with your cap
> > lock down, it will actually prompt you in capital letters.
> 
> I don't see how that is possible over a serial line.
> 
> What do you mean by "try to login" ?

OT, but...

The way UNIX works is it prompts you for your username, then for your
password. If you type your user name in all caps, the login program
assumes you only have all-caps on your keyboard, and switches the
terminal driver to a mode in which caps map to lowercase unless
preceeded by an escape character (backslash, IIRC).

It's actually quite the opposite of case insensitive.

-- 
Darren New 
San Diego, CA, USA (PST). Cryptokeys on demand.
                   Who is this Dr. Ibid anyway, 
                  and how does he know so much?



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

* Re: Modern languages are case sensitive?
  2001-10-18  2:32         ` Darren New
@ 2001-10-18 11:32           ` Larry Kilgallen
  0 siblings, 0 replies; 88+ messages in thread
From: Larry Kilgallen @ 2001-10-18 11:32 UTC (permalink / raw)


In article <3BCE3F38.7C0B44FD@san.rr.com>, Darren New <dnew@san.rr.com> writes:
> Larry Kilgallen wrote:
>> 
>> In article <4a885870.0110171600.4c22aa7c@posting.google.com>, wv9557@yahoo.com (Will) writes:
>> 
>> > This is not really accurate. If you try to login into AIX with your cap
>> > lock down, it will actually prompt you in capital letters.
>> 
>> I don't see how that is possible over a serial line.
>> 
>> What do you mean by "try to login" ?
> 
> OT, but...
> 
> The way UNIX works is it prompts you for your username, then for your
> password. If you type your user name in all caps, the login program
> assumes you only have all-caps on your keyboard, and switches the
> terminal driver to a mode in which caps map to lowercase unless
> preceeded by an escape character (backslash, IIRC).

I had presumed from the original description that somehow it prompted
for username based on the settings of your keyboards.  I am accustomed
to VMS, where the initiation of a login sequence is a carriage return.
The resulting Username: prompt cannot be based on the keyboard mode
over a serial line, since there is no "case" to carriage return.

So how about the _initial_ login prompt from Unix ?

> It's actually quite the opposite of case insensitive.

Yes, it is closer to (but not an exact match for) case-preserving.



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

* Re: The caselessness is one of the things I like best!
  2001-10-15 16:00           ` Larry Kilgallen
@ 2001-10-18 19:48             ` Simon Wright
  2001-10-18 23:35               ` Larry Kilgallen
  0 siblings, 1 reply; 88+ messages in thread
From: Simon Wright @ 2001-10-18 19:48 UTC (permalink / raw)


Kilgallen@SpamCop.net (Larry Kilgallen) writes:

> If you want your programs to provide a standard casing for each
> identifier, you can do that with a utility program, perhaps by
> calling ASIS.

-gnaty will do this (the casing needs to match the defining
 occurrence, or is it the first occurrence?)

>                But when you find a deviation, fix it.  Don't
> hassle the programmer about it.

I don't understand who is doing the fixing here! I suppose you could
imagine a compiler with license to change the source code and check it
back in to the source repository without consulting the programmer, I
would feel uneasy about it.



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

* Re: Why not combine Ada and C++?
  2001-10-15 22:50           ` Jeffrey Carter
@ 2001-10-18 19:53             ` Simon Wright
  2001-10-21  5:54               ` AG
  0 siblings, 1 reply; 88+ messages in thread
From: Simon Wright @ 2001-10-18 19:53 UTC (permalink / raw)


Jeffrey Carter <jeffrey.carter@boeing.com> writes:

> > This is very usefull, becuase if you'r reading code, and you see
> > an Upper case first letter on an identifier, then you know without
> > having to look aroud, that the name represent a Class name. and
> > the same for method names.
> 
> When you come across code that does not adhere to this convention,
> you are going to make incorrect assumptions about what it
> means. This is what happens when you rely on something that is
> "inherently risky": errors. Of course, there are those who enjoy
> spending weeks debugging errors that a case-insensitive language
> would not allow.

IIRC Smalltalk requires that Classes (and other globals) begin with a
capital, locals begin with a minuscule. At least there's no confusion
there!



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

* Re: The caselessness is one of the things I like best!
  2001-10-18 19:48             ` Simon Wright
@ 2001-10-18 23:35               ` Larry Kilgallen
  0 siblings, 0 replies; 88+ messages in thread
From: Larry Kilgallen @ 2001-10-18 23:35 UTC (permalink / raw)


In article <x7v7kts6874.fsf@smaug.pushface.org>, Simon Wright <simon@pushface.org> writes:
> Kilgallen@SpamCop.net (Larry Kilgallen) writes:

>>                But when you find a deviation, fix it.  Don't
>> hassle the programmer about it.
> 
> I don't understand who is doing the fixing here! I suppose you could
> imagine a compiler with license to change the source code and check it
> back in to the source repository without consulting the programmer, I
> would feel uneasy about it.

I mean, have your ASIS program do the fixup:

	MCR ASIS_FIXUP/INPUT=MY_FILE.ADA

creating the new version with normalized capitalization (matching the
first instance).

Whether that gets checked back in anyplace is up to the human.

The human goal here is to make _each_ identifier have consistent
capitalization, not to pick and choose certain identifiers for
the treatment.



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

* Re: The caselessness is one of the things I like best!
  2001-10-16 13:11             ` James Rogers
  2001-10-16 18:10               ` tmoran
@ 2001-10-19 14:52               ` john mann
  1 sibling, 0 replies; 88+ messages in thread
From: john mann @ 2001-10-19 14:52 UTC (permalink / raw)


One problem about case sensitivity is in reviewing code. If the
reviewer needs to resort to saying "capital-v variable" for example,
then any advantage of case insensitivity can be quickly lost.

As an anecdote, I once worked on a code generator for an OOA tool
which had its own specification language. Two features were: case
sensitivity, and variables declared by first usage. You can guess the
number of times duplicate variables got created.



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

* Re: Why not combine Ada and C++?
  2001-10-18 19:53             ` Simon Wright
@ 2001-10-21  5:54               ` AG
  0 siblings, 0 replies; 88+ messages in thread
From: AG @ 2001-10-21  5:54 UTC (permalink / raw)



"Simon Wright" <simon@pushface.org> wrote in message
news:x7v4row67z3.fsf@smaug.pushface.org...
> Jeffrey Carter <jeffrey.carter@boeing.com> writes:
>
>
> IIRC Smalltalk requires that Classes (and other globals) begin with a
> capital, locals begin with a minuscule. At least there's no confusion
> there!

Sigh, really? There we go again... How come the "Classes" do begin
with the capitals (but not other globals) while other words don't?
Just how is it worse than the "C" convention of using capitals for  the
whole lot of constants? To reiterate a long-standing argument, how would
you like a compliler to make any sense as regards the difference between
(P/p)olish?  Not to mention that if I use an identifier caled "aBRacaDabra"
I wouldn't expect any other programmer to follow the same capitalization
rules. So, how is that for confusion?





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

* Re: The caselessness is one of the things I like best!
  2001-10-15 22:46           ` Jeffrey Carter
  2001-10-16 13:32             ` Ted Dennison
@ 2001-10-22  2:10             ` David Thompson
  1 sibling, 0 replies; 88+ messages in thread
From: David Thompson @ 2001-10-22  2:10 UTC (permalink / raw)


Jeffrey Carter <jeffrey.carter@boeing.com> wrote :
...
> I have used C compilers that do not give warnings for undeclared
> variables by default; they are silently created as type int. I don't
> know if this is still legal for standard C.
>
Not variables.  It has never been legal, even in early Unix C,
to have undeclared variables.  What was legal before and in C89
was to declare a variable without specifying the type, or a function
without specifying the return type, and it defaulted to (signed) int.
Usually this meant specifying the storage-class instead, but ISTR
at least some compilers did allow at least at file-scope (and maybe
in a struct) a declaration consisting only of the identifier or declarator.
This is called "implicit int" and is removed in C99, and in C++.

It was legal before and in C89 to use a _function_ name without
a declaration and it was treated as if declared "int x()", that is,
function of unspecified but non-default-promotable non-variadic
arguments returning int.  This also is removed in C99, and in C++.

(In both cases it was probably the omission from C++ that made it
politically acceptable for WG14/J11 to drop them from C, even though
these changes break significant existing and in the former case
arguably reasonable code, normally a taboo.)

--
- David.Thompson 1 now at worldnet.att.net









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

* The caselessness is one of the things I like best!
  2001-10-15 12:06   ` The caselessness is one of the things I like best! Petter Fryklund
  2001-10-15 12:21     ` Gerhard Häring
  2001-10-15 13:03     ` Alfred Hilscher
@ 2001-10-22 20:27     ` Kenneth Almquist
  2 siblings, 0 replies; 88+ messages in thread
From: Kenneth Almquist @ 2001-10-22 20:27 UTC (permalink / raw)


"Petter Fryklund" <qsbpefr@esavionics.se> wrote:
> If the only difference between two entities is the case,  I think the
> program will be very hard to maintain.

Not if you have an appropriate naming convention.  For example,
in a case sensitive variant of Ada you might write:

   package CAR is           -- package names are upper case

      type Car is private;  -- type names begin with an uppercase letter

      function current_speed(car : Car) return Speed;
                            -- other names are lower case
   end CAR;

You might ask about the risk that people will confuse, say, "car" with
"CAR".  First, while English is often case insensitive, my experience
is that people can learn to pay attention to case with a little
effort.  Ada programmers appear to have no problem distinguishing
between "Ada" and "ADA".

Second, the case differences are normally redundant: only one of "CAR"
and "car" will make sense in a particular context.  As far as the
compiler is concerned, we could replace "CAR" and "car" with "Car" and
"Car" because the name resolution code in the compiler should never
make a mistake.  Writing "CAR" and "car" rather than "Car" and "Car"
does help the human reader (once the human reader has spent some time
learning the convention) because it provides additional redundancy
which reduces the probability of human error.

Of course, since Ada is case insensitive, we don't have long arguments
over which names should use which casing.  So I think that the
decision to make Ada case insensitive does have the benefit of leading
to a more tranquil comp.lang.ada.   :-)
				Kenneth Almquist



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

* Re: Why not combine Ada and C++?
  2001-10-15 19:47   ` Why not combine Ada and C++? Wes Groleau
@ 2001-10-23  5:39     ` Hyman Rosen
  2001-10-23  6:11       ` Richard Riehle
  0 siblings, 1 reply; 88+ messages in thread
From: Hyman Rosen @ 2001-10-23  5:39 UTC (permalink / raw)


Wes Groleau wrote:

> the _only_ justification for case sensitivity is backwards compatibility.


Only for people who refuse to consider the possibility of any language 
but English. Modern programming languages and operating systems allow 
names to be written in any of the world's languages. For those languages 
which have case at all (and for those which have more than two), the 
rules for changing case are extremely locale-dependent, 
context-sensitive, and not necessarily character-for-character. Instead 
of trying to incorporate all of this knowledge into compilers and 
operating systems, I find it much more reasonable for them to simply use 
the sequence of characters which they have been given.

And as far as causing confusion, Ada already allows the same name to 
mean multiple things. Quoting from Barnes,

	type Colour is (Red, Amber, Green);
	type Stone is (Amber, Beryl, Quartz);

So when you see Amber in the code, you don't instantly know what it 
refers to - you have to examine the context. Reading it aloud doesn't 
help either. I fail to see why this is any different than allowing 
identifiers to differ only in case.




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

* Re: Why not combine Ada and C++?
  2001-10-23  5:39     ` Hyman Rosen
@ 2001-10-23  6:11       ` Richard Riehle
  0 siblings, 0 replies; 88+ messages in thread
From: Richard Riehle @ 2001-10-23  6:11 UTC (permalink / raw)


Hyman Rosen wrote:

> And as far as causing confusion, Ada already allows the same name to
> mean multiple things. Quoting from Barnes,
>
>         type Colour is (Red, Amber, Green);
>         type Stone is (Amber, Beryl, Quartz);
>
> So when you see Amber in the code, you don't instantly know what it
> refers to - you have to examine the context. Reading it aloud doesn't
> help either. I fail to see why this is any different than allowing
> identifiers to differ only in case.

Kinda true.  But the compiler will catch any potential ambiguities.   This is
the key point.  Ada is designed to detect inconsistencies, irregularities,
discontinuities, incongruencies, and unconfirmable constructs earlier in
the software development process than any other language.   One can certainly
perform little tricks to thwart this capability, but it requires some effort
because Ada goes out of its way to prevent you from doing it.

As to the example you cite,  we would disambiguate this for the compiler
using type qualification:   Colour'Amber       or Stone'Amber.   If we did
not, the compiler would reject our code.

Richard Riehle







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

* RE: Why not combine Ada and C++?
@ 2001-10-23 22:03 Beard, Frank
  2001-10-23 23:13 ` Larry Kilgallen
  0 siblings, 1 reply; 88+ messages in thread
From: Beard, Frank @ 2001-10-23 22:03 UTC (permalink / raw)
  To: 'comp.lang.ada@ada.eu.org'

-----Original Message-----
From: Hyman Rosen [mailto:hyrosen@mail.com]

> And as far as causing confusion, Ada already allows the same name to 
> mean multiple things. Quoting from Barnes,
> 
>	type Colour is (Red, Amber, Green);
>	type Stone is (Amber, Beryl, Quartz);
>
> So when you see Amber in the code, you don't instantly know what it 
> refers to - you have to examine the context. Reading it aloud doesn't 
> help either. I fail to see why this is any different than allowing 
> identifiers to differ only in case.

Yes, but the right variable names make the context obvious, as in:

	Traffic_Light_Color := Amber;
or
	Stone_Formation := Amber;

Then the context is immediately clear, but the following isn't:

	X := Amber;
and
	x := Amber;

To me, relying on case sensitivity clouds the context.  Sure, you can
get used to it, but it's more things to keep up with, and requires
more documentation.

However, as a minor exception to that, we do use all uppercase to
indicate constants, as in MAXIMUM_DEVICES.

Frank



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

* RE: Why not combine Ada and C++?
  2001-10-23 22:03 Beard, Frank
@ 2001-10-23 23:13 ` Larry Kilgallen
  0 siblings, 0 replies; 88+ messages in thread
From: Larry Kilgallen @ 2001-10-23 23:13 UTC (permalink / raw)


In article <mailman.1003874733.1432.comp.lang.ada@ada.eu.org>, "Beard, Frank" <beardf@spawar.navy.mil> writes:

> However, as a minor exception to that, we do use all uppercase to
> indicate constants, as in MAXIMUM_DEVICES.

That must make for a lot of editing when a former constant becomes
a variable or a function call in some subsequent version.



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

* RE: Why not combine Ada and C++?
@ 2001-10-24  0:02 Beard, Frank
  0 siblings, 0 replies; 88+ messages in thread
From: Beard, Frank @ 2001-10-24  0:02 UTC (permalink / raw)
  To: 'comp.lang.ada@ada.eu.org'

-----Original Message-----
From: Kilgallen@SpamCop.net [mailto:Kilgallen@SpamCop.net]

>> However, as a minor exception to that, we do use all uppercase to
>> indicate constants, as in MAXIMUM_DEVICES.

> That must make for a lot of editing when a former constant becomes
> a variable or a function call in some subsequent version.

It hasn't happened yet, but you're right, it could be a problem if
you haphazardly pick names that you might intermix as constants or
variables.  We tend to use names containing the word MAXIMUM, MINIMUM,
LIMIT, etc., for constants.  As far as changing constants to functions,
most of our constants are in the package bodies, and exported through
functions.

It was a Style Guide/Coding Standards decision made 8 years ago for
the various projects.  It hasn't come back to haunt us yet.



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

* A UNISYS story.
  2001-10-15 14:39   ` Why not combine Ada and C++? Marin David Condic
  2001-10-15 16:17     ` Alfred Hilscher
@ 2001-10-24 14:48     ` Petter Fryklund
  2001-10-24 15:03       ` Ted Dennison
  1 sibling, 1 reply; 88+ messages in thread
From: Petter Fryklund @ 2001-10-24 14:48 UTC (permalink / raw)


We could combine Ada and C++ the same way as UNISYS combined the two build
and change managment tools widely used in the 80's. We had an American
system called comus and an English called AIDS. We combined the two by
taking the sw from the English and the name from the American. Some say that
if we had done it the other way around, we would have had the right name for
the product ;-)

So way not make the next standard for C++ ....





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

* Re: A UNISYS story.
  2001-10-24 14:48     ` A UNISYS story Petter Fryklund
@ 2001-10-24 15:03       ` Ted Dennison
  2001-10-25  7:37         ` Petter Fryklund
  0 siblings, 1 reply; 88+ messages in thread
From: Ted Dennison @ 2001-10-24 15:03 UTC (permalink / raw)


In article <9r6j0n$lmk$1@newstoo.ericsson.se>, Petter Fryklund says...
>
>We could combine Ada and C++ the same way as UNISYS combined the two build
>and change managment tools widely used in the 80's. We had an American
>system called comus and an English called AIDS. We combined the two by
>taking the sw from the English and the name from the American. Some say that
>if we had done it the other way around, we would have had the right name for
>the product ;-)

Well, considering that Comus was the roman god representing the "pleasures of
nightlife", perhaps they are related in some way? :-)

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

No trees were killed in the sending of this message. 
However a large number of electrons were terribly inconvenienced.



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

* Re: A UNISYS story.
  2001-10-24 15:03       ` Ted Dennison
@ 2001-10-25  7:37         ` Petter Fryklund
  0 siblings, 0 replies; 88+ messages in thread
From: Petter Fryklund @ 2001-10-25  7:37 UTC (permalink / raw)


Well, the pleasure of working nights building software is rather limited ;-)





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

end of thread, other threads:[~2001-10-25  7:37 UTC | newest]

Thread overview: 88+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-10-15  8:21 Why not combine Ada and C++? Mike Meng
2001-10-15 10:29 ` Larry Kilgallen
2001-10-15 10:36 ` Robert*
2001-10-15 11:15 ` Stephen Cole
2001-10-15 12:06   ` The caselessness is one of the things I like best! Petter Fryklund
2001-10-15 12:21     ` Gerhard Häring
2001-10-15 12:48       ` UPPERCASE is the typgraphical equivalent of shouting ;-) Petter Fryklund
2001-10-15 12:54       ` The caselessness is one of the things I like best! James Rogers
2001-10-15 13:11       ` Larry Kilgallen
2001-10-15 15:12         ` Arthur Evans Jr
2001-10-15 16:00           ` Larry Kilgallen
2001-10-18 19:48             ` Simon Wright
2001-10-18 23:35               ` Larry Kilgallen
2001-10-16  8:48           ` John English
2001-10-16 13:11             ` James Rogers
2001-10-16 18:10               ` tmoran
2001-10-17  8:53                 ` Philip Anderson
2001-10-17 10:57                   ` Larry Kilgallen
2001-10-19 14:52               ` john mann
2001-10-15 15:13       ` Marin David Condic
2001-10-15 17:00       ` tmoran
2001-10-15 17:29         ` Gerhard Häring
2001-10-15 17:38           ` Larry Kilgallen
2001-10-15 18:01             ` Gerhard Häring
2001-10-15 19:04               ` David Starner
2001-10-15 18:15           ` David Starner
2001-10-15 17:35         ` Marin David Condic
2001-10-15 18:18           ` Pascal Obry
2001-10-15 18:57             ` Marin David Condic
2001-10-15 22:46           ` Jeffrey Carter
2001-10-16 13:32             ` Ted Dennison
2001-10-22  2:10             ` David Thompson
2001-10-15 13:03     ` Alfred Hilscher
2001-10-22 20:27     ` Kenneth Almquist
2001-10-15 14:39   ` Why not combine Ada and C++? Marin David Condic
2001-10-15 16:17     ` Alfred Hilscher
2001-10-15 16:35       ` Marin David Condic
2001-10-15 20:15         ` Robert*
2001-10-15 21:27           ` Marin David Condic
2001-10-15 22:50           ` Jeffrey Carter
2001-10-18 19:53             ` Simon Wright
2001-10-21  5:54               ` AG
2001-10-24 14:48     ` A UNISYS story Petter Fryklund
2001-10-24 15:03       ` Ted Dennison
2001-10-25  7:37         ` Petter Fryklund
2001-10-15 17:41   ` Why not combine Ada and C++? Stephen Cole
2001-10-15 18:27     ` tmoran
2001-10-15 20:24       ` Wes Groleau
2001-10-15 20:03     ` Wes Groleau
2001-10-15 18:42   ` Modern languages are case sensitive? Jeffrey Carter
2001-10-15 19:20     ` Larry Kilgallen
2001-10-15 22:54       ` Jeffrey Carter
2001-10-16 11:21         ` Dmitry Kazakov
2001-10-16 11:42     ` Robert Dewar
2001-10-16 13:16       ` Dale Stanbrough
2001-10-16 23:43         ` David Botton
2001-10-17  1:42           ` Larry Kilgallen
2001-10-16 14:36       ` Arthur Evans Jr
2001-10-16 14:50       ` Chris Morgan
2001-10-16 15:18       ` Florian Weimer
2001-10-16 15:47         ` Wes Groleau
2001-10-16 16:48           ` Florian Weimer
2001-10-16 17:12         ` David Starner
2001-10-16 20:32           ` Florian Weimer
2001-10-16 21:37             ` David Starner
2001-10-17  8:39               ` Florian Weimer
2001-10-18  0:00     ` Will
2001-10-18  2:12       ` Larry Kilgallen
2001-10-18  2:32         ` Darren New
2001-10-18 11:32           ` Larry Kilgallen
2001-10-15 19:47   ` Why not combine Ada and C++? Wes Groleau
2001-10-23  5:39     ` Hyman Rosen
2001-10-23  6:11       ` Richard Riehle
2001-10-15 19:28 ` Baugereau
2001-10-15 20:05   ` Ted Dennison
2001-10-16  7:38     ` Martin Dowie
2001-10-16 11:44       ` Pascal Obry
     [not found] ` <01c155a0$7dd31b80$1b7af2c3@akzvbymr>
2001-10-15 20:02   ` Ted Dennison
2001-10-15 20:55   ` Adrian Knoth
2001-10-15 22:15   ` Eric Merritt
2001-10-15 22:42   ` tmoran
     [not found]     ` <01c15665$dc2e6c00$9b29e8d4@akzvbymr>
2001-10-16 17:48       ` Ted Dennison
2001-10-16 18:04       ` Larry Kilgallen
2001-10-16 23:01         ` tmoran
2001-10-16 18:51       ` Marin David Condic
  -- strict thread matches above, loose matches on Subject: below --
2001-10-23 22:03 Beard, Frank
2001-10-23 23:13 ` Larry Kilgallen
2001-10-24  0:02 Beard, Frank

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