comp.lang.ada
 help / color / mirror / Atom feed
* Re: Ada
  1999-12-23  0:00 Ada Brijesh
                   ` (2 preceding siblings ...)
  1999-12-23  0:00 ` Ada Robert Dewar
@ 1999-12-23  0:00 ` Greg Martin
  1999-12-23  0:00 ` Ada reason67
  4 siblings, 0 replies; 76+ messages in thread
From: Greg Martin @ 1999-12-23  0:00 UTC (permalink / raw)


On Thu, 23 Dec 1999 11:11:12 +0000, Brijesh <brijesh.malkan@gecm.com>
wrote:

>I am fairly new to Ada programming and have a rather trivial question I
>was hoping the group could help answer.
>
>I understand Ada is a very powerful language but is not used much
>outside the defence industry, I was woderign if this is a correct
>assumption and if so why is this the case - and if not where else is it
>used.
>
Hi Brij.
I'm new to Ada as well but I can tell you it is used in other areas
where software might be considered mission critical. I'm Canadian and
know it to be used for air traffic control here (and elsewhere I
suspect) and software our space agency uses. In general it's used for
on board aircraft applications. It seems to be a small part of the
market but it's definately there. You might try searching on Ada jobs
or something similiar.
Regards,
Greg Martin.





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

* Re: Ada
  1999-12-23  0:00 Ada Brijesh
                   ` (3 preceding siblings ...)
  1999-12-23  0:00 ` Ada Greg Martin
@ 1999-12-23  0:00 ` reason67
  1999-12-23  0:00   ` Ada Robert Dewar
  4 siblings, 1 reply; 76+ messages in thread
From: reason67 @ 1999-12-23  0:00 UTC (permalink / raw)


In article <38620350.48F8FC08@gecm.com>,
  Brijesh <brijesh.malkan@gecm.com> wrote:
> I am fairly new to Ada programming and have a rather trivial question
I
> was hoping the group could help answer.
>
> I understand Ada is a very powerful language but is not used much
> outside the defence industry, I was woderign if this is a correct
> assumption and if so why is this the case - and if not where else is
it
> used.

In the USA around 1% of comercial software was written in Ada. So, your
assumption is correct.

I don't think anyone knows the reasons for sure. My personal speculation
is economic. Until fairly recently Ada compilers were very expensive
compared to C. When you buya Unix platform you got C for free with it.
(This is also why FORTRAN was so popular as it was free on old IBM
Mainfraims).

I do not have a crystal ball, but Ada could pick up. From the recent
expansion of Parallel Virtual Machine architectures, I think parallel
computing is going to be really big in a few years. The Ada runtime
could be modified to support PVM or other methods, so you could easily
port code from a 1000 machine cluster to a 5 machine cluster.

I do not know if anyone is working on this currently. After the
Holidays, I planned on looking at writing a binding to PVM for gnat 3.12
on Linux. If successful I wanted to look into using PVM as the tasking
model (instead of pthreads), but I have done almost no research at this
time.

IF Ada can be successfully merged with this new clusters, then Ada has a
real shot at being much bigger in the USA. Esp. if people
start writing parallel virtual machine libraries in Ada as
well.

Unfortunately, if I was just starting out, I would not look into Ada for
a long term career in the USA. I think I would look much more heavily
into C++.
---
Jeffrey Blatt


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Ada
  1999-12-23  0:00 Ada Brijesh
@ 1999-12-23  0:00 ` Jon Jensen
  1999-12-23  0:00 ` Ada Roger Racine
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 76+ messages in thread
From: Jon Jensen @ 1999-12-23  0:00 UTC (permalink / raw)


As someone who started doing Ada programming in 1987 I think the answer to
your question is simple:

The PC and Windows

In the 80's when Ada was first introduced, it was overshadowed by the
introduction of the PC and the drastic change the PC brought into industry.
This was compounded by the lack of inexpensive, high quality Ada compilers,
debuggers and tools on the PC.  As developers migrated from mainframe and
minicomputer development to PC development they didn't see Ada as a viable
alternative to the Pascal and C compilers that were available.

A similar change happened in the early 90's when developers migrated from
MS-DOS programming to Windows programming on the PC.  Again Ada was late to
the game in coming up with competitive compilers for Windows.  Again Ada was
ignored by most Windows developers.

Could it have been different?  I don't think so.  Any time any language is
mandated by law as opposed to being adopted as a defacto industry standard,
it is going to have an uphill struggle.

There seems to be a perception in this news group and in the Ada industry
that programming in Ada somehow makes your programs error proof.  Ada
certainly has features that make it less likely to program certain kind of
errors but you can certainly write bad code in Ada just as in any other
language.  Java purists would say that because Ada (and other languages)
allow pointers, programs developed with those languages are error prone.

There are still a lot of opportunities for Ada development out there.  I am
sure there is a lot of embedded systems work that is being done with it and
some commercial applications.  In these narrow areas you can certainly make
a living programming in Ada.  Ada development (done right) can also teach
you some wonderful things about resuability and modularity.  It isn't a
silver bullet.


Brijesh <brijesh.malkan@gecm.com> wrote in message
news:38620350.48F8FC08@gecm.com...
> I am fairly new to Ada programming and have a rather trivial question I
> was hoping the group could help answer.
>
> I understand Ada is a very powerful language but is not used much
> outside the defence industry, I was woderign if this is a correct
> assumption and if so why is this the case - and if not where else is it
> used.
>
> Thanks,
>
> Brij
>






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

* Re: Ada
  1999-12-23  0:00 ` Ada reason67
@ 1999-12-23  0:00   ` Robert Dewar
  2000-01-03  0:00     ` Ada Terry Sikes
  0 siblings, 1 reply; 76+ messages in thread
From: Robert Dewar @ 1999-12-23  0:00 UTC (permalink / raw)


In article <83tohh$q2s$1@nnrp1.deja.com>,
  reason67@my-deja.com wrote:
> In article <38620350.48F8FC08@gecm.com>,
>   Brijesh <brijesh.malkan@gecm.com> wrote:
> > I am fairly new to Ada programming and have a rather trivial
question
> I
> > was hoping the group could help answer.
> >
> > I understand Ada is a very powerful language but is not used
much
> > outside the defence industry, I was woderign if this is a
correct
> > assumption and if so why is this the case - and if not where
else is
> it
> > used.
>
> In the USA around 1% of comercial software was written in Ada.
So, your
> assumption is correct.


I wonder where that figure of 1% comes from. If true, it means
that Ada is widely used, since this is 1% of an absolutely HUGE
market (1% is much higher than you think, once you have
subtracted out the really popular languages like COBOL and
Visual Basic, the latter accounting for the lion's share of
all software development).

In fact I suspect the figure is below 1%, but again, we are
talking percentages of a huge market, so even a sliver of this
can be highly significant. After all what percentage of the
over all automobile market does Ferrari have or Rolls Royce,
yet we still consider these technologies significant :-)

Certainly we all know lots of examples of successful commercial
use of Ada.

There seems to be a general tendency to write off technologies
that do not dominate the market. I can't tell you how many
people I meet who think OS/2 is dead, when in fact it is being
very successful in many contexts (and has exceeded sales
expectations every quarter for the last 5 or 6 quarters). Sure
it does not have the market share of Windows, but this again is
a huge market, and OS/2 has a significant share.

A similar situation exists with Ada. Of course it is not
numerically as successful as C++ for example, but that really
does not mean much. If you need the most reliable and best
technology around, you do not take a poll to see what is the
most commonly used technology!


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Ada
  1999-12-23  0:00 ` Ada Robert Dewar
@ 1999-12-23  0:00   ` tmoran
  0 siblings, 0 replies; 76+ messages in thread
From: tmoran @ 1999-12-23  0:00 UTC (permalink / raw)


>Ada has many non-DoD applications, go to www.adapower.com to
>follow up on more information, but here are some examples:
>...
>etc.
  One etc I know about is stocks and commodities databases for
speculators, er, investors.  All databases, and the daily data,
have errors, which show up as oddballs on graphs, or, worse,
screw up technical analysis algorithms.  A system I worked on
used Ada to help cleaning and merging data.  It was useful as a
good language to help avoid introducing new errors, the
run-time error checking helped catch unexpected errors, and
tasking let it easily display questionable data to a human
asynchronously with scanning the data.  This was about 5 years
ago, at the beginning of the present on-line trading craze.




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

* Ada
@ 1999-12-23  0:00 Brijesh
  1999-12-23  0:00 ` Ada Jon Jensen
                   ` (4 more replies)
  0 siblings, 5 replies; 76+ messages in thread
From: Brijesh @ 1999-12-23  0:00 UTC (permalink / raw)


I am fairly new to Ada programming and have a rather trivial question I
was hoping the group could help answer.

I understand Ada is a very powerful language but is not used much
outside the defence industry, I was woderign if this is a correct
assumption and if so why is this the case - and if not where else is it
used.

Thanks,

Brij





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

* Re: Ada
  1999-12-23  0:00 Ada Brijesh
  1999-12-23  0:00 ` Ada Jon Jensen
  1999-12-23  0:00 ` Ada Roger Racine
@ 1999-12-23  0:00 ` Robert Dewar
  1999-12-23  0:00   ` Ada tmoran
  1999-12-23  0:00 ` Ada Greg Martin
  1999-12-23  0:00 ` Ada reason67
  4 siblings, 1 reply; 76+ messages in thread
From: Robert Dewar @ 1999-12-23  0:00 UTC (permalink / raw)


In article <38620350.48F8FC08@gecm.com>,
  Brijesh <brijesh.malkan@gecm.com> wrote:
> I understand Ada is a very powerful language but is not used
much
> outside the defence industry, I was woderign if this is a
correct
> assumption and if so why is this the case - and if not where
else is it
> used.
>
> Thanks,


Never believe such rumours, they are almost always wrong. It
is interesting that there is a whole series of technologies that
has important current applications, but which conventional
wisdom pronounces dead (examples, APL, OS/2, Pascal, PL/1, and
yes, Ada :-)

Ada has many non-DoD applications, go to www.adapower.com to
follow up on more information, but here are some examples:

Train switching systems (soon to be adopted by the NY subway)
Internet switches
Medical equipment
Commercial airplaces (ever flown on a 777 - it's an all Ada
plane)
Cable TV (Canal Plus in Europe)
Air Traffic Control Systems
Eurospace
Banking applications
etc.



Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Ada
  1999-12-23  0:00 Ada Brijesh
  1999-12-23  0:00 ` Ada Jon Jensen
@ 1999-12-23  0:00 ` Roger Racine
  1999-12-28  0:00   ` Ada Marin D. Condic
  1999-12-23  0:00 ` Ada Robert Dewar
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 76+ messages in thread
From: Roger Racine @ 1999-12-23  0:00 UTC (permalink / raw)


On Thu, 23 Dec 1999 11:11:12 +0000, Brijesh <brijesh.malkan@gecm.com>
wrote:

>I am fairly new to Ada programming and have a rather trivial question I
>was hoping the group could help answer.
>
>I understand Ada is a very powerful language but is not used much
>outside the defence industry, I was woderign if this is a correct
>assumption and if so why is this the case - and if not where else is it
>used.
>
>Thanks,
>
>Brij
>

You actually have 2 questions, only 1 of which is trivial:

1) Is Ada used much outside the defence industry?

2) If not, why not; if so where?

1) Ada is not used "much" anywhere, inside or outside the military, if
you compare it with C.  It is, however, being used by "many"
organizations both within and outside the military.  This should be a
trivial question since the number is some finite countable positive
integer.  Unfortunately, I do not think anyone knows the exact number.

2) Ada is being used in communication systems (TopLayer is one
example), airplanes (Boeing), space systems (NASA), teaching,
compilers (ACT), etc.  The list is not small unless it is compared
with the equivalent list of C projects.

The hard part of your second question is "why not?"  There are so many
reasons, none of which are very "good" (which is why those of us who
still advocate its use are still doing so).  At the risk of getting
into another language war, here goes:

1) Control theory.  C is in a positive control loop; Ada is in a
negative loop.  C is popular.  Therefore people want C on their
resumes.  Therefore people want to do projects in C.  Therefore
companies provide tools for C development.  Therefore libraries for C
are written.  Ada is not popular.  Therefore people do not want Ada on
their resumes.  I know of people who have threatened to quit if they
were forced to use Ada, since they thought they were becoming
unwanted. 

2) Time to Market.  Ada is a readable language.  C is a writeable
language.  People think they are more productive using C because they
get to integration faster, and they might get a software system to
market sooner than with Ada.  Ada will allow people to find certain
errors more easily, but this is not perceived to be a significant
enough improvement, and for most commercial software, getting all the
bugs out is not necessary to getting a product out.

3) Philosophy.  I am treading on thin ice here, but there is possibly
an innate human trait to need recognition.  With C, you need gurus who
are great at finding the subtle problems.  These people are less
important in Ada projects, and therefore are less happy.  I will admit
that one of my current projects is being done in C, and we had a code
peer review the other day.  I found some very significant defects,
that probably would not have been found until very late in the
testing.  Everyone praised me for finding these defects, and I felt
very good.  The defects could not have existed in Ada.  Special
recognition in Ada projects has to come in other ways, and will
generally come to a different group of people, and possibly fewer.

4) First impressions last a long time.  The first impression many
people had with Ada was that the language had shortcomings for
real-time systems.  In fact, the Ada conferences and publications had
many articles on what was wrong with the language.  The compiler
vendors tried to provide ways to get around the problems, but then
code was not portable.  This left a very bad feeling in people who
used Ada 83.  They are not interested in even looking at Ada 95.

5) Tools.  Books, compilers, development environments, are all more
available and cheaper for C than for Ada.  I can go into a local
computer store and find Visual C++ for some small amount of money (I
have seen it, but have not bought it, so I do not remember the exact
amount).  To get an equivalent Ada development environment
(supported), I have to go to a vendor, and the cost will probably be
at least an order of magnitude more.  This brings one into economics.
If Visual C++ costs the same to produce as some Ada compiler, but 100
times more copies of Visual C++ are sold, what is the difference in
profit for Microsoft if they sell theirs for 1/10 the price?  It is
not trivial to answer this (since it depends on the cost of initial
development, the value of stock options, the cost of distribution, the
cost of lawyers, etc.), but it can be more profitable.

Does this help explain the current situation?  This is probably way
too simplistic.  I forgot to even mention the DoD mandate.

Roger Racine




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

* Re: Ada
  1999-12-23  0:00 ` Ada Roger Racine
@ 1999-12-28  0:00   ` Marin D. Condic
  1999-12-31  0:00     ` Ada Richard D Riehle
                       ` (2 more replies)
  0 siblings, 3 replies; 76+ messages in thread
From: Marin D. Condic @ 1999-12-28  0:00 UTC (permalink / raw)


Roger Racine wrote:
> 2) Time to Market.  Ada is a readable language.  C is a writeable
> language.  People think they are more productive using C because they
> get to integration faster, and they might get a software system to
> market sooner than with Ada.  Ada will allow people to find certain
> errors more easily, but this is not perceived to be a significant
> enough improvement, and for most commercial software, getting all the
> bugs out is not necessary to getting a product out.
> 
I beg to differ - sort of. In many systems Ada gets you to market sooner
with fewer problems. Assuming skilled programmers in each case. Where
C/C++ has an edge is in areas where you get tons of reusable libraries
with it, such as in Visual C++. But this is just one type of system
development. I've been playing with the CLAW GUI builder demo and found
that it will build Ada GUI programs quite easily, so it isn't as if Ada
*can't* do it - just that it isn't as easily marketed. If you got CLAW,
a compiler, a bunch of utilities (Similar to MFC? Where is the ACLWG
these days anyway?) manuals, tutorials, a book, a configuration
management system, etc. all in one package it might compete well in the
"Time To Market" field. All these things exist, but not as a single, one
stop shopping, package. (Maybe a teaming effort is needed?)


> 5) Tools.  Books, compilers, development environments, are all more
> available and cheaper for C than for Ada.  I can go into a local

Definitely. I was recently at a big electronics store in San Jose and
looked through their stacks of books relating to programming &
languages. Hundreds of books available on C, C++, Perl, Cobol, etc. Not
a single text on Ada, even though many good ones exist. It is sort of a
deadlock situation - The store doesn't want to stock something for which
there won't be a reasonable level of sales. The potential vendors don't
want to subsidize it because revenues are too thin to do so. The
potential users have little interest because it isn't just sitting right
there waiting for them to pick it up. The deadlock continues.

Now potentially, it would be possible for some of the vendors to get
together to produce an integrated package with each supplying some part
of the end product. A joint venture would spread the risk and might
bring sufficient resources to bear to actually put up a shrink-wrapped
package on a display rack on the floor of a few computer stores. Done
right with a sufficiently narrow focus, it could succeed and make
everyone a few bucks while making Ada a bit more prevalent. I'd
certainly be interested in discussing it... ;-)

MDC
-- 
=============================================================
Marin David Condic   - Quadrus Corporation -   1.800.555.3393
1015-116 Atlantic Boulevard, Atlantic Beach, FL 32233
http://www.quadruscorp.com/
m c o n d i c @ q u a d r u s c o r p . c o m

Visit my web site at:  http://www.mcondic.com/

"Capitalism without failure is like religion without sin." 
        --  Allan Meltzer, Economist 
=============================================================




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

* Re: Ada
  1999-12-28  0:00   ` Ada Marin D. Condic
@ 1999-12-31  0:00     ` Richard D Riehle
  2000-01-02  0:00       ` Ada Marin D. Condic
  2000-01-13  0:00     ` Ada Magnus Alexandersson
  2000-01-13  0:00     ` Ada Magnus Alexandersson
  2 siblings, 1 reply; 76+ messages in thread
From: Richard D Riehle @ 1999-12-31  0:00 UTC (permalink / raw)


In article <38690E47.7DBDC2D1@quadruscorp.com>,
	"Marin D. Condic" <mcondic-nospam@quadruscorp.com> wrote:

>> 5) Tools.  Books, compilers, development environments, are all more
>> available and cheaper for C than for Ada.  I can go into a local
>
>Definitely. I was recently at a big electronics store in San Jose and
>looked through their stacks of books relating to programming &
>languages. Hundreds of books available on C, C++, Perl, Cobol, etc. Not
>a single text on Ada, even though many good ones exist. It is sort of a
>deadlock situation - The store doesn't want to stock something for which
>there won't be a reasonable level of sales. The potential vendors don't
>want to subsidize it because revenues are too thin to do so. The
>potential users have little interest because it isn't just sitting right
>there waiting for them to pick it up. The deadlock continues.

Marin,

Sounds as if you were visiting Fry's Electronics, our local Silicon
Valley Computer Circus.  For serious literature on anything related
to computers, Fry's is not a good choice.  Instead, we have a local
bookstore, Computer Literacy Bookshops  (www.fatbran.com), which has
a representative selection of Ada books.  Next time you are looking
for computer books in Silicon Valley, don't go to Fry's.  Go to 
Computer Literacy Bookshops.  

BTW, many of us who buy computers and computer gear stay away from
Fry's.  I have had such bad experiences with their service that I will
not buy anything from them unless there is no choice.  There
are lots of good alternatives here is SV.  Next time you are in 
SV, give me a call and I will direct you to some better options. 

Richard Riehle




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

* Re: Ada
  2000-01-02  0:00       ` Ada Marin D. Condic
@ 2000-01-02  0:00         ` Robert Dewar
  2000-01-02  0:00           ` Ada Marin D. Condic
  0 siblings, 1 reply; 76+ messages in thread
From: Robert Dewar @ 2000-01-02  0:00 UTC (permalink / raw)


In article <386F7856.26134B3E@quadruscorp.com>,
  "Marin D. Condic" <mcondic-nospam@quadruscorp.com> wrote:
> My only point was that for Ada to improve its market position,
> it needs to be presented to "The Masses" in a way that makes
> it easy to adopt and use. That's why I think a whole
> shrink-wrapped kit for the PC/Windows
> environment would be a good idea.

So .. don't stop at making the suggestion that "someone" (*)
do this, instead take the initiative to do it yourself. All
the ingrediants are there. You can certainly build what you
want from the public version of GNAT. Of course getting shelf
space at Fry's is a totally different kettle of fish :-)

(*) someone -- that elusive person to whom many tasks are
assigned, but who seldom follows through, and in fact is
rather hard to track down :-) :-)


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Ada
  1999-12-31  0:00     ` Ada Richard D Riehle
@ 2000-01-02  0:00       ` Marin D. Condic
  2000-01-02  0:00         ` Ada Robert Dewar
  0 siblings, 1 reply; 76+ messages in thread
From: Marin D. Condic @ 2000-01-02  0:00 UTC (permalink / raw)


Richard D Riehle wrote:
> Marin,
> 
> Sounds as if you were visiting Fry's Electronics, our local Silicon
> Valley Computer Circus.  For serious literature on anything related
> to computers, Fry's is not a good choice.  Instead, we have a local
> bookstore, Computer Literacy Bookshops  (www.fatbran.com), which has
> a representative selection of Ada books.  Next time you are looking
> for computer books in Silicon Valley, don't go to Fry's.  Go to
> Computer Literacy Bookshops.
> 
Yes, that's where I was looking. They gave off the impression of being
sort of the "Home Depot" of electronics stores. Maybe their selection is
not the best, but they seemed to be sort of "Computer Stuff For The
Masses". The books may not have beem the "serious" computer literature
you have in mind, but they did have lots of shelves of stuff aimed at
helping folks at a variety of levels to learn different languages/tools.

My only point was that for Ada to improve its market position, it needs
to be presented to "The Masses" in a way that makes it easy to adopt and
use. That's why I think a whole shrink-wrapped kit for the PC/Windows
environment would be a good idea.

MDC

-- 
=============================================================
Marin David Condic   - Quadrus Corporation -   1.800.555.3393
1015-116 Atlantic Boulevard, Atlantic Beach, FL 32233
http://www.quadruscorp.com/
m c o n d i c @ q u a d r u s c o r p . c o m

Visit my web site at:  http://www.mcondic.com/

"Capitalism without failure is like religion without sin." 
        --  Allan Meltzer, Economist 
=============================================================




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

* Re: Ada
  2000-01-02  0:00         ` Ada Robert Dewar
@ 2000-01-02  0:00           ` Marin D. Condic
  2000-01-03  0:00             ` Ada Ted Dennison
  2000-01-03  0:00             ` Ada Robert Dewar
  0 siblings, 2 replies; 76+ messages in thread
From: Marin D. Condic @ 2000-01-02  0:00 UTC (permalink / raw)


Robert Dewar wrote:
> So .. don't stop at making the suggestion that "someone" (*)
> do this, instead take the initiative to do it yourself. All
> the ingrediants are there. You can certainly build what you
> want from the public version of GNAT. Of course getting shelf
> space at Fry's is a totally different kettle of fish :-)

Yup. Shelf space at Fry's (or COMPUSA, etc.) might be an issue - but it
might be resolvable fairly easily with a few phone calls if the "right"
product is available, or at least planned. The notion I had in mind
would involve more than a version of GNAT - there would need to be a
bunch of other things in the kit, some of which might not be so readily
available. Thats why I think it would take a coordinated effort of a few
vendors to put together a comprehensive package and a marketing
strategy. What I might be able to bring to the table at this juncture is
TBD.

> 
> (*) someone -- that elusive person to whom many tasks are
> assigned, but who seldom follows through, and in fact is
> rather hard to track down :-) :-)

I'm very familiar with "someone" and frequently get frustrated with his
inability to keep to my schedule. ;-) Perhaps if I were to get him that
very expensive and rare device known as A Round Tuit he might be able to
make faster progress :-)

MDC
> 
> Sent via Deja.com http://www.deja.com/
> Before you buy.

-- 
=============================================================
Marin David Condic   - Quadrus Corporation -   1.800.555.3393
1015-116 Atlantic Boulevard, Atlantic Beach, FL 32233
http://www.quadruscorp.com/
m c o n d i c @ q u a d r u s c o r p . c o m

Visit my web site at:  http://www.mcondic.com/

"Capitalism without failure is like religion without sin." 
        --  Allan Meltzer, Economist 
=============================================================




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

* Re: Ada
  2000-01-02  0:00           ` Ada Marin D. Condic
  2000-01-03  0:00             ` Ada Ted Dennison
@ 2000-01-03  0:00             ` Robert Dewar
  2000-01-03  0:00               ` Ada Marin D. Condic
  1 sibling, 1 reply; 76+ messages in thread
From: Robert Dewar @ 2000-01-03  0:00 UTC (permalink / raw)


In article <386F9D7E.B6DD06B9@quadruscorp.com>,
  "Marin D. Condic" <mcondic-nospam@quadruscorp.com> wrote:

> Thats why I think it would take a coordinated effort of a few
> vendors to put together a comprehensive package and a
> marketing strategy.

This won't happen if you wait for vendors to do it, because they
won't be convinced it makes any marketing sense (I am certainly
dubious).

But on the other hand, all the tools and components you need
are out there in open source form, so you or someone else can
certainly put everything together without needing to wait for
the vendors to move.

Part of the reason I think this makes less sense than you
think is that these days students and other likely consumers
of such a package expect to pay $0 for it, and are not about
to go and plunk down a credit card at Fry's or anywhere else
to buy a package of this kind!

Note also that there are some attempts to do something like
what you suggest, for example, the University of Brighton
CD ROM.

But if you do want to create something, I think the delivery
HAS to be free and electronic. I don't think you will get
anywhere
with a shrink wrapped box at Fry's.


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Ada
  2000-01-02  0:00           ` Ada Marin D. Condic
@ 2000-01-03  0:00             ` Ted Dennison
  2000-01-03  0:00             ` Ada Robert Dewar
  1 sibling, 0 replies; 76+ messages in thread
From: Ted Dennison @ 2000-01-03  0:00 UTC (permalink / raw)


"Marin D. Condic" wrote:

> Yup. Shelf space at Fry's (or COMPUSA, etc.) might be an issue - but it
> might be resolvable fairly easily with a few phone calls if the "right"

My understanding was that stores like that tend to have sort of a
supermarket-style approach to shelf space. That means you aren't going to
get them to give you shelf space for free.

--
T.E.D.

Home - mailto:dennison@telepath.com  Work - mailto:dennison@ssd.fsi.com
WWW  - http://www.telepath.com/dennison/Ted/TED.html  ICQ  - 10545591






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

* Re: Ada
  2000-01-03  0:00               ` Ada Marin D. Condic
  2000-01-03  0:00                 ` Ada Roger Racine
@ 2000-01-03  0:00                 ` Larry Kilgallen
  2000-01-04  0:00                   ` Ada Charles Hixson
  1 sibling, 1 reply; 76+ messages in thread
From: Larry Kilgallen @ 2000-01-03  0:00 UTC (permalink / raw)


In article <3870DEED.4744AE18@quadruscorp.com>, "Marin D. Condic" <mcondic-nospam@quadruscorp.com> writes:
> Robert Dewar wrote:
>> Part of the reason I think this makes less sense than you
>> think is that these days students and other likely consumers
>> of such a package expect to pay $0 for it, and are not about
>> to go and plunk down a credit card at Fry's or anywhere else
>> to buy a package of this kind!
>> 
> You may be right. The only way to really settle the question is to
> attempt to do it and see if it sells. That can be pretty expensive. But
> do keep in mind that Micro$oft is out there selling shrink-wrapped
> versions of Visual C++, etc. and people *do* plunk down credit cards to
> buy that.

For a point of reference, the per-copy cost of commercial CD
pressing is about $1 from a big vendor to a small customer.
That is after a setup charge of about $500.

> Somebody must be making a buck doing that - is there a reason that Ada
> can't be one of those players? And a big advantage to being on a shelf
> in a computer store is that people who may never have had any knowlege
> or interest in Ada might happen to see it and be intrigued enough to try
> it out.

Do not underestimate the value of attractive packaging at generating
sales. Lots of trash gets sold in various fields through the use of
attractive packaging -- there is no reason to skimp just because the
contents happen to be worthwhile.

If it is a boxed product, be sure to include a printed manual.
When I examine sealed boxes wondering about documentation, I
often judge by weight :-)

This does seem to be the sort of opportunity open-source software
was designed for -- the add-on value provided by promoting retail
sales is just way outside the sphere of developing software in the
first place.  If the retail package should become so overpriced as
to be offensive, competitors will enter the market.

Larry Kilgallen




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

* Re: Ada
  1999-12-23  0:00   ` Ada Robert Dewar
@ 2000-01-03  0:00     ` Terry Sikes
  2000-01-03  0:00       ` Ada Hyman Rosen
  2000-01-04  0:00       ` Ada Robert Dewar
  0 siblings, 2 replies; 76+ messages in thread
From: Terry Sikes @ 2000-01-03  0:00 UTC (permalink / raw)


In article <83u8l0$5i5$1@nnrp1.deja.com>,
Robert Dewar  <robert_dewar@my-deja.com> wrote:
>In article <83tohh$q2s$1@nnrp1.deja.com>,
>  reason67@my-deja.com wrote:
>> In article <38620350.48F8FC08@gecm.com>,
>>   Brijesh <brijesh.malkan@gecm.com> wrote:
>>> I am fairly new to Ada programming and have a rather trivial
>>> question I was hoping the group could help answer.
>>>
>>> I understand Ada is a very powerful language but is not
>>> used much outside the defence industry, I was woderign if
>>> this is a correct assumption and if so why is this the
>>> case - and if not where else is it used.
>>
>> In the USA around 1% of comercial software was written in Ada.
>> So, your assumption is correct.
>
>I wonder where that figure of 1% comes from. If true, it means
>that Ada is widely used, since this is 1% of an absolutely HUGE
>market (1% is much higher than you think, once you have
>subtracted out the really popular languages like COBOL and
>Visual Basic, the latter accounting for the lion's share of
>all software development).

I'm curious as to the source of your assertion regarding Visual Basic.
For one look at "per language" programmer demand, see
www.lmarkets.com, which seems to show both C++ and Java considerably
ahead of VB (of course this is programmer demand, not programmer body
count).  Perhaps someone should lobby the site maintainer to include
Ada on the chart, even if it is a low scorer today - perhaps a
positive trend will start at some point.

>In fact I suspect the figure is below 1%, but again, we are
>talking percentages of a huge market, so even a sliver of this
>can be highly significant. After all what percentage of the
>over all automobile market does Ferrari have or Rolls Royce,
>yet we still consider these technologies significant :-)
>
>Certainly we all know lots of examples of successful commercial
>use of Ada.

True.

>There seems to be a general tendency to write off technologies
>that do not dominate the market. I can't tell you how many
>people I meet who think OS/2 is dead, when in fact it is being
>very successful in many contexts (and has exceeded sales
>expectations every quarter for the last 5 or 6 quarters). Sure
>it does not have the market share of Windows, but this again is
>a huge market, and OS/2 has a significant share.

Yes, I think this is a quite unfortunate effect of the amount of
information the average programmer intellect can absorb over time.
Personally, I decided to pursue other languages years ago when Ada
compilers were all really expensive, and its use appeared to be
declining even in the DoD.  Now, with free compilers available, an OO
programming model available (Ada95), and an upcoming RT control
application in my future, Ada is looking very interesting all of a
sudden.  ;-)

>A similar situation exists with Ada. Of course it is not
>numerically as successful as C++ for example, but that really
>does not mean much. If you need the most reliable and best
>technology around, you do not take a poll to see what is the
>most commonly used technology!

Again true, but I can't help but think that wider adoption would be a
very good thing for the language.  Many projects may have gone with
other technologies simply based on the available Ada talent pool.

I've been involved with Java for a while, and it appears to me that
with suitable library support Ada could be a great alternative for (at
least) server side programming.  (IIRC there is an Ada=>JVM solution,
but I don't know much about it.)

There's a lot of discussion on the Java advocacy newsgroup about the
desirability (or lack thereof;) of generics, operator overloading and
so on.  From what I can tell, Ada provides good implementations of
these things as opposed to C++.  Also, the scientific community has
shown significant interest in a modified Java for numerical
programming (www.javagrande.org), that also seems potentially a
fertile ground for Ada advocacy.  Heck, Ada is even an ISO standard...
;-)

Looking at Ada95, it seems to me to be close to a "sweet spot" in
terms of features, efficiency, language safety, and
performance...perhaps its time for an Ada renaissance!

Terry
--
tsikes@netcom.com




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

* Re: Ada
  2000-01-03  0:00             ` Ada Robert Dewar
@ 2000-01-03  0:00               ` Marin D. Condic
  2000-01-03  0:00                 ` Ada Roger Racine
  2000-01-03  0:00                 ` Ada Larry Kilgallen
  0 siblings, 2 replies; 76+ messages in thread
From: Marin D. Condic @ 2000-01-03  0:00 UTC (permalink / raw)


Robert Dewar wrote:
> Part of the reason I think this makes less sense than you
> think is that these days students and other likely consumers
> of such a package expect to pay $0 for it, and are not about
> to go and plunk down a credit card at Fry's or anywhere else
> to buy a package of this kind!
> 
You may be right. The only way to really settle the question is to
attempt to do it and see if it sells. That can be pretty expensive. But
do keep in mind that Micro$oft is out there selling shrink-wrapped
versions of Visual C++, etc. and people *do* plunk down credit cards to
buy that.

One can debate how profitable this might be - MS may be subsidizing
their development environment in order to keep development for Windows
going on. Its hard to say without a look at the books and I wouldn't
trust rumors or corporate statements on the subject. But certainly
people do buy VC++ so why might they not buy a *better* environment that
was wrapped around an Ada compiler?


> But if you do want to create something, I think the delivery
> HAS to be free and electronic. I don't think you will get
> anywhere
> with a shrink wrapped box at Fry's.
> 
I wouldn't write off electronic delivery - e-commerce is certainly
booming in growth right now. Fry's may have to go that route themselves
just to stay in business. But remember that when you go into Fry's you
will see development kits for other languages there on the shelves.
Somebody must be making a buck doing that - is there a reason that Ada
can't be one of those players? And a big advantage to being on a shelf
in a computer store is that people who may never have had any knowlege
or interest in Ada might happen to see it and be intrigued enough to try
it out.

My desire is to see that Ada experiences growth in its application for
commercial efforts. I think that is a goal most of us in this newsgroup
would agree on. I think that a weakness Ada has when compared to some
other languages is that there isn't a one-stop source where you can pick
up everything you need for serious development. There are lots of things
you can gather from all over the net and possibly cobble together a
development environment with everything you need. If your garden variety
developer were able to get the whole ball of wax in one location with
everything glued together in a consistent manner, it might encourage
more use.

MDC
-- 
=============================================================
Marin David Condic   - Quadrus Corporation -   1.800.555.3393
1015-116 Atlantic Boulevard, Atlantic Beach, FL 32233
http://www.quadruscorp.com/
m c o n d i c @ q u a d r u s c o r p . c o m

Visit my web site at:  http://www.mcondic.com/

"Capitalism without failure is like religion without sin." 
        --  Allan Meltzer, Economist 
=============================================================




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

* Re: Ada
  2000-01-03  0:00               ` Ada Marin D. Condic
@ 2000-01-03  0:00                 ` Roger Racine
  2000-01-03  0:00                 ` Ada Larry Kilgallen
  1 sibling, 0 replies; 76+ messages in thread
From: Roger Racine @ 2000-01-03  0:00 UTC (permalink / raw)


On Mon, 03 Jan 2000 09:39:57 -0800, "Marin D. Condic"
<mcondic-nospam@quadruscorp.com> wrote:

>Robert Dewar wrote:
>> Part of the reason I think this makes less sense than you
>> think is that these days students and other likely consumers
>> of such a package expect to pay $0 for it, and are not about
>> to go and plunk down a credit card at Fry's or anywhere else
>> to buy a package of this kind!
>> 
>You may be right. The only way to really settle the question is to
>attempt to do it and see if it sells. That can be pretty expensive. But
>do keep in mind that Micro$oft is out there selling shrink-wrapped
>versions of Visual C++, etc. and people *do* plunk down credit cards to
>buy that.
>
>
>My desire is to see that Ada experiences growth in its application for
>commercial efforts. I think that is a goal most of us in this newsgroup
>would agree on. I think that a weakness Ada has when compared to some
>other languages is that there isn't a one-stop source where you can pick
>up everything you need for serious development. There are lots of things
>you can gather from all over the net and possibly cobble together a
>development environment with everything you need. If your garden variety
>developer were able to get the whole ball of wax in one location with
>everything glued together in a consistent manner, it might encourage
>more use.
>

I went to the local CompUSA store over the weekend and noticed that
Corel is now selling WordPerfect in a box that includes Linux.
Perhaps an Ada development environment combined with the operating
system might be popular enough to create a profit?

Maybe a cross-development system for the Palm Pilot included?

Roger Racine




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

* Re: Ada
  2000-01-03  0:00     ` Ada Terry Sikes
@ 2000-01-03  0:00       ` Hyman Rosen
  2000-01-04  0:00         ` Ada Florian Weimer
                           ` (3 more replies)
  2000-01-04  0:00       ` Ada Robert Dewar
  1 sibling, 4 replies; 76+ messages in thread
From: Hyman Rosen @ 2000-01-03  0:00 UTC (permalink / raw)


tsikes@netcom.com (Terry Sikes) writes:
> There's a lot of discussion on the Java advocacy newsgroup about the
> desirability (or lack thereof;) of generics, operator overloading and
> so on.  From what I can tell, Ada provides good implementations of
> these things as opposed to C++.

C++ provides excellent implementation of generics,
and good implementation of overloading, except that
one cannot overload on return type as in Ada.

Is there something specific you believe you can not
do in C++ with regard to these abilities?




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

* Re: Ada
  2000-01-03  0:00     ` Ada Terry Sikes
  2000-01-03  0:00       ` Ada Hyman Rosen
@ 2000-01-04  0:00       ` Robert Dewar
  2000-01-04  0:00         ` Ada Terry Sikes
  1 sibling, 1 reply; 76+ messages in thread
From: Robert Dewar @ 2000-01-04  0:00 UTC (permalink / raw)


In article <84rd2f$snm$1@nntp3.atl.mindspring.net>,
  tsikes@netcom.com (Terry Sikes) wrote:
> For one look at "per language" programmer demand, see
> www.lmarkets.com, which seems to show both C++ and Java
considerably
> ahead of VB (of course this is programmer demand, not
programmer body
> count).


Nope, this is does not reflect programmer demand. It simply
reflects the number of jobs that are being offered in this
particular forum. Even if it did reflect programmer demand,
that would say nothing about the supply (ads tend to reflect
the surplus of demand over supply, which has nothing to do
with total market).

There are many sources for this information. One for example,
was a keynote address from Bill Gates at a big conference
(perhaps Comdex?) last year. There he also stated that Delphi
was at 5%, and Java at 9% (he said he did not really believe
the Java figure, that it probably reflected a lot of
experimentation, and given the failure of Java to get a
real foothold in client side programming that sounds right
to me. This same talk put Visual basic at about 50% of
PC development, and that also sounds about right to me,
with C/C++ being about 15%.

Ada did not get mentioned, but even if it was at what
(for me) would seem a very high level of 1% of all PC
development, it would have been under Bill's radar screen :-)

To get a feel for the Visual Basic market, have a look at the
catalogs of Active-X (now COM) components. Yes, these components
can be used in Visual C++ (and for that matter in Ada programs
written with GNAT :-) but the primary use of these components
is in the visual basic world.


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Ada
  2000-01-03  0:00       ` Ada Hyman Rosen
  2000-01-04  0:00         ` Ada Florian Weimer
@ 2000-01-04  0:00         ` Robert Dewar
  2000-01-04  0:00           ` Ada Robert A Duff
  2000-01-04  0:00           ` Ada Hyman Rosen
  2000-01-04  0:00         ` Ada Richard D Riehle
  2000-01-04  0:00         ` Ada Terry Sikes
  3 siblings, 2 replies; 76+ messages in thread
From: Robert Dewar @ 2000-01-04  0:00 UTC (permalink / raw)


In article <t7aemmtz3b.fsf@calumny.jyacc.com>,
  Hyman Rosen <hymie@prolifics.com> wrote:

> C++ provides excellent implementation of generics,

The trouble with templates is that there is no equivalent of
the generic contract model, and also it is very difficult to
implement generic sharing of code. These are both issues
which the Ada model regards as essential, so certainly
by Ada standards, the above statement is controversial.


> and good implementation of overloading

OUCH! The rules for overloading in C++ are fiersomely complex,
far more so than in Ada, due to the interaction with implicit
conversions (something that Ada avoids), and the consequent
need for complex preference rules. In my experience, almost
no C++ programmers can tell you what the rules are, and many
people run into trouble with these rules.

> except that
> one cannot overload on return type as in Ada.

A pretty big gap! It means for example that if you have
multiple implementations of sets, that you cannot have
a parameterless function Empty that returns the (appropriate)
empty set.

> Is there something specific you believe you can not
> do in C++ with regard to these abilities?

Yes, see the above, in particular, to summarize:

1. Share generic code at the object level
2. Be sure your template is correct *before* you use it
3. Understand the overloading rules
4. Overload on return type


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Ada
  2000-01-04  0:00           ` Ada Hyman Rosen
  2000-01-04  0:00             ` Ada Richard D Riehle
@ 2000-01-04  0:00             ` Robert A Duff
  1 sibling, 0 replies; 76+ messages in thread
From: Robert A Duff @ 2000-01-04  0:00 UTC (permalink / raw)


Hyman Rosen <hymie@prolifics.com> writes:

> You have not read the literature correctly, or you have not read the
> correct literature :-) C++ templates can be (according to the standard,
> but not yet in reality) separately compiled, and many errors within the
> template can be caught before instantiation. You are correct in that it
> is unlikely that a C++ will offer anything but the full-expansion style
> of template instantiation.

The C++ standard allows templates to be separately compiled.
And the Ada standard allows garbage collection.
And the C standard allows array-bounds checking.
;-)

- Bob




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

* Re: Ada
  2000-01-04  0:00         ` Ada Florian Weimer
  2000-01-04  0:00           ` Ada Hyman Rosen
@ 2000-01-04  0:00           ` Brian Rogoff
  1 sibling, 0 replies; 76+ messages in thread
From: Brian Rogoff @ 2000-01-04  0:00 UTC (permalink / raw)


On 4 Jan 2000, Florian Weimer wrote:
> Hyman Rosen <hymie@prolifics.com> writes:
> 
> [Ada generics vs. C++ templates]
> 
> > Is there something specific you believe you can not
> > do in C++ with regard to these abilities?
> 
> I can't imagine anything which can't be done with C++ templates which
> you can do using Ada generics. 

In some theoretical sense, yes, since you can express computations with 
C++ templates they can do just about anything. C++ type checking is also 
undecidable thanks to this. 

In the world of the practical programmer, Ada allows subprograms as
generic parameters and since Ada has nesting you can use them to 
clumsily simulate many uses of downward closures. C++ forces you to use 
classes and overload "()", and that is IMO *way* more clumsy than the 
Ada workaround. 

Others have discussed strong typing and separate compilation, so I'll
leave those points alone. What I like most about Ada is the confidence 
I have that a small compiled program is close to correct in my experience.

I like some aspects of the C++ template systems ability to automatically 
instantiate, and would love to see an Ada-like language with this ability. 
I suspect that this might also not have a decidable type system. 

-- Brian






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

* Re: Ada
  2000-01-04  0:00         ` Ada Robert Dewar
@ 2000-01-04  0:00           ` Robert A Duff
  2000-01-04  0:00             ` Ada Hyman Rosen
  2000-01-04  0:00           ` Ada Hyman Rosen
  1 sibling, 1 reply; 76+ messages in thread
From: Robert A Duff @ 2000-01-04  0:00 UTC (permalink / raw)


Robert Dewar <robert_dewar@my-deja.com> writes:

> A pretty big gap! 

Yes.

>...It means for example that if you have
> multiple implementations of sets, that you cannot have
> a parameterless function Empty that returns the (appropriate)
> empty set.

Even worse, it means that literals can't be overloaded.  Of course, C++
doesn't even *have* enumeration literals of different enumeration types,
anyway.  And for numeric literals, the C++ rule requires that each
literal be marked with a character that indicates its type, which is a
kludge (and certainly wouldn't work in Ada with tits capability of
having many numeric types).

- Bob




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

* Re: Ada
  2000-01-03  0:00                 ` Ada Larry Kilgallen
@ 2000-01-04  0:00                   ` Charles Hixson
  0 siblings, 0 replies; 76+ messages in thread
From: Charles Hixson @ 2000-01-04  0:00 UTC (permalink / raw)


OTOH, on-line distributors, such as, e.g., Cheap-Bytes , PC-Connection, or EggHead sell items that don't
require the same concerns as the open store front.  Perhaps the packaging should be designed to look good from
a face-forward perspective, and to sell via on-line distribution, but with the ability to take advantage of
any store-front access that becomes available (without drastically raising the cost of distribution!)

Larry Kilgallen wrote:

> In article <3870DEED.4744AE18@quadruscorp.com>, "Marin D. Condic" <mcondic-nospam@quadruscorp.com> writes:
> > Robert Dewar wrote:
> ......

> > or interest in Ada might happen to see it and be intrigued enough to try
> > it out.
>
> Do not underestimate the value of attractive packaging at generating
> sales. Lots of trash gets sold in various fields through the use of
> attractive packaging -- there is no reason to skimp just because the
> contents happen to be worthwhile.
>
> If it is a boxed product, be sure to include a printed manual.
> When I examine sealed boxes wondering about documentation, I
> often judge by weight :-)
>
> This does seem to be the sort of opportunity open-source software
> was designed for -- the add-on value provided by promoting retail
> sales is just way outside the sphere of developing software in the
> first place.  If the retail package should become so overpriced as
> to be offensive, competitors will enter the market.
>
> Larry Kilgallen






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

* Re: Ada
  2000-01-03  0:00       ` Ada Hyman Rosen
                           ` (2 preceding siblings ...)
  2000-01-04  0:00         ` Ada Richard D Riehle
@ 2000-01-04  0:00         ` Terry Sikes
  2000-01-05  0:00           ` Operators -> unit analysis Charles Hixson
  3 siblings, 1 reply; 76+ messages in thread
From: Terry Sikes @ 2000-01-04  0:00 UTC (permalink / raw)


In article <t7aemmtz3b.fsf@calumny.jyacc.com>,
Hyman Rosen  <hymie@prolifics.com> wrote:
>tsikes@netcom.com (Terry Sikes) writes:

>> There's a lot of discussion on the Java advocacy newsgroup about the
>> desirability (or lack thereof;) of generics, operator overloading and
>> so on.  From what I can tell, Ada provides good implementations of
>> these things as opposed to C++.
>
>C++ provides excellent implementation of generics,
>and good implementation of overloading, except that
>one cannot overload on return type as in Ada.

I've perused the other responses to this so I won't touch on some
points raised by others.  In working fairly extensively with C++
generics (mainly STL, VC 6.0) I've come to the conclusion that at this
time they are still totally pushing the envelope for the compiler
writers.  In my current project, for instance, fairly simple things
like map<int, string> generate identifiers in excess of 255
characters, which the compiler warns about truncating.  There is a
pragma to disable this warning for the current file, but often this
warning occurs in system headers, which I'm reluctant to modify.  ;-)
I also find it troublesome that such simple cases introduce possible
software defects, which I'm being warned about, with no way of fixing
the problem other than abandoning generics.

Further the error messages generated for template errors are quite
bad.  In one case I tested an iterator using "<" rather than "!=" and
was greeted with a cascade of seemingly unrelated messages.  Careful
code inspection was the only way to find the problem.

Finally, I find the syntax of C++ templates rather illegible, but
perhaps that's just me.

>Is there something specific you believe you can not
>do in C++ with regard to these abilities?

Its not so much a matter of "can not do" as "can not do quickly", "can
not identify the error" and/or "can not read later".  ;-)

On the latter point, between operator overloading and templates, it is
quite easy to (unintentionally) generate very obtuse C++.

One thing I'd like to see in both languages is the ability to use a
set of non-reserved Unicode symbols for operator overloading, to
disambiguate with the normal operator symbols.

Terry
--
tsikes@netcom.com




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

* Re: Ada
  2000-01-04  0:00       ` Ada Robert Dewar
@ 2000-01-04  0:00         ` Terry Sikes
  2000-01-05  0:00           ` Ada Robert Dewar
  2000-01-06  0:00           ` Ada Al Christians
  0 siblings, 2 replies; 76+ messages in thread
From: Terry Sikes @ 2000-01-04  0:00 UTC (permalink / raw)


In article <84sudm$33s$1@nnrp1.deja.com>,
Robert Dewar  <robert_dewar@my-deja.com> wrote:
>In article <84rd2f$snm$1@nntp3.atl.mindspring.net>,
>  tsikes@netcom.com (Terry Sikes) wrote:
>> For one look at "per language" programmer demand, see
>> www.lmarkets.com, which seems to show both C++ and Java
>considerably
>> ahead of VB (of course this is programmer demand, not
>programmer body
>> count).
>
>Nope, this is does not reflect programmer demand. It simply
>reflects the number of jobs that are being offered in this
>particular forum. Even if it did reflect programmer demand,
>that would say nothing about the supply (ads tend to reflect
>the surplus of demand over supply, which has nothing to do
>with total market).

You're right about the site reflecting surplus of demand over supply.
However, I find it hard to understand how the demand for VB
programmers is being filled, given that VB programming isn't in the
curriculum of most universities (also I know a couple of VB
consultants who're making good money, which doesn't indicate excessive
supply).

I'm going to contact Ted Shieh for more details about his methodology,
I thought there was more on the site, but couldn't find it.

>There are many sources for this information. One for example,
>was a keynote address from Bill Gates at a big conference
>(perhaps Comdex?) last year. There he also stated that Delphi
>was at 5%, and Java at 9% (he said he did not really believe
>the Java figure, that it probably reflected a lot of
>experimentation, and given the failure of Java to get a
>real foothold in client side programming that sounds right
>to me. This same talk put Visual basic at about 50% of
>PC development, and that also sounds about right to me,
>with C/C++ being about 15%.

50% of Windows (not PC) development, even if true, ignores major
market segments:

o  embedded systems
o  Unix/mainframe server-side  (this has picked up recently;)
o  Mac
o  Linux

I think you're underestimating the amount of C/C++ even on the Windows
side, also.  Bill has some level of vested interest in promoting VB,
after all.

>Ada did not get mentioned, but even if it was at what
>(for me) would seem a very high level of 1% of all PC
>development, it would have been under Bill's radar screen :-)

Probably.

>To get a feel for the Visual Basic market, have a look at the
>catalogs of Active-X (now COM) components. Yes, these components
>can be used in Visual C++ (and for that matter in Ada programs
>written with GNAT :-) but the primary use of these components
>is in the visual basic world.

As you say, they are compiler-neutral.  I think that the Windows
component marketplace has been VBs biggest success...  :-)   Linux
would benefit from a similar feature - or if Java ever gets efficient
enough, Java Beans are an alternative.

Terry
--
tsikes@netcom.com




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

* Re: Ada
  2000-01-03  0:00       ` Ada Hyman Rosen
  2000-01-04  0:00         ` Ada Florian Weimer
  2000-01-04  0:00         ` Ada Robert Dewar
@ 2000-01-04  0:00         ` Richard D Riehle
  2000-01-04  0:00           ` Ada Hyman Rosen
  2000-01-04  0:00         ` Ada Terry Sikes
  3 siblings, 1 reply; 76+ messages in thread
From: Richard D Riehle @ 2000-01-04  0:00 UTC (permalink / raw)


In article <t7aemmtz3b.fsf@calumny.jyacc.com>,
	Hyman Rosen <hymie@prolifics.com> wrote:

>C++ provides excellent implementation of generics,
>and good implementation of overloading, except that
>one cannot overload on return type as in Ada.
>
>Is there something specific you believe you can not
>do in C++ with regard to these abilities?

There are some differences in Ada and C++. The issue is not
"can not do" but rather how it is done and whether the Ada
way is any improvement.   Also, it is never a matter of
whether something can or cannot be done in a particular 
language.  Rather, the issue is whether a given language
is more expressive of a desired capability.  In many ways,
Ada is more expressive.  In other ways, C++ is more expressive.

Ada generics (templates)are always compiled before they are 
"included" by the client.  This is a function of the Ada library
model.  The instantiation is permitted only after the successful
compilation of the generic unit.  This puts type checking a little
closer to the origination of the generic.  

If I read the C++ literature correctly, C++ templates are expected
to be "full expansion" units.  Ada permits a template to be instantiated
in other forms to conserve memory. Some compilers support this.

Ada has more formats for generic formal parameters.  This has its
advantages and may sometimes have disadvantages.  The designer needs
to learn more idioms of the language.  Once having learned those idioms,
more options for template design are available.

Ada permits but does not require as much overloading of operators
as one needs in a C++.  This is useful when one is creating templates
for simple scalar and numeric types.  It does simplify the templates
for those types.  Actually, in this case, the Ada model is somewhat
an improvement over C++.  Of course, a C++ advocate may answer that
the word "class" may be used for a built-in type, but this still falls
short of the Ada model for range constraints and other rules of
scalar types.

Ada is more complicated when creating templates in which an entire
package is a generic formal parameter.  C++ is very straightfoward
in this regard.  The consequence is that this powerful feature of
Ada is often ignored by component designers.  In time, as Ada 
practitioners become more comfortable with its capabilities, we should
see more use of it.  Meanwhile, C++ seems much easier when one needs
one of more classes as generic formal parameters.

On the other hand, a generic formal package parameter provides the
equivalent of a namespace parameter, something I suspect cannot be
expressed easily in C++.  It also enables one to design reusable 
signatures for simplifying the parameter lists of application frameworks
components. Moreover, these signatures are subjected to all the 
checks of the compiler before they may ever be used.

Implementation of Ada generics can take advantage of child
library units, including private child library units to create,
as private child package specifications, a whole subsystem of reusable
package bodies.  This is not widely used, in practice, but has 
substantial power once it is understood by Ada component designers.

There are lots of other issues where Ada is more expressive of 
the component design problem.  I am sure others who frequent this
forum will note some of the more obvious ones I have overlooked.

Richard Riehle




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

* Re: Ada
  2000-01-03  0:00       ` Ada Hyman Rosen
@ 2000-01-04  0:00         ` Florian Weimer
  2000-01-04  0:00           ` Ada Hyman Rosen
  2000-01-04  0:00           ` Ada Brian Rogoff
  2000-01-04  0:00         ` Ada Robert Dewar
                           ` (2 subsequent siblings)
  3 siblings, 2 replies; 76+ messages in thread
From: Florian Weimer @ 2000-01-04  0:00 UTC (permalink / raw)


Hyman Rosen <hymie@prolifics.com> writes:

[Ada generics vs. C++ templates]

> Is there something specific you believe you can not
> do in C++ with regard to these abilities?

I can't imagine anything which can't be done with C++ templates which
you can do using Ada generics.  (The opposite case is different, though,
because of Ada's strong typing.)  However, there are some shortcomings
of C++ templates (at least that's my impression):

You won't get reasonable error messages.  For example, try instantiating
a STL container with a reference type; most compilers will give you
several kilobytes of error messages.  The situation gets worse if you
nest templates more deeply.

Writing reusable templates in C++ is hard, because you have to be very
careful not to use operations on the parametric types which aren't
available in general.  These restrictions are not enforced by the
compiler unless you provide suitable instantiations.




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

* Re: Ada
  2000-01-04  0:00         ` Ada Richard D Riehle
@ 2000-01-04  0:00           ` Hyman Rosen
  2000-01-04  0:00             ` Ada Richard D Riehle
  2000-01-04  0:00             ` Ada Robert A Duff
  0 siblings, 2 replies; 76+ messages in thread
From: Hyman Rosen @ 2000-01-04  0:00 UTC (permalink / raw)


Richard D Riehle <laoXhai@ix.netcom.com> writes:
> Ada generics (templates)are always compiled before they are 
> "included" by the client.  This is a function of the Ada library
> model.  The instantiation is permitted only after the successful
> compilation of the generic unit.  This puts type checking a little
> closer to the origination of the generic.  
> 
> If I read the C++ literature correctly, C++ templates are expected
> to be "full expansion" units.  Ada permits a template to be instantiated
> in other forms to conserve memory. Some compilers support this.

You have not read the literature correctly, or you have not read the
correct literature :-) C++ templates can be (according to the standard,
but not yet in reality) separately compiled, and many errors within the
template can be caught before instantiation. You are correct in that it
is unlikely that a C++ will offer anything but the full-expansion style
of template instantiation.

> Ada has more formats for generic formal parameters.  This has its
> advantages and may sometimes have disadvantages.  The designer needs
> to learn more idioms of the language.  Once having learned those idioms,
> more options for template design are available.

C++ has essentially *no* format for its generic formals, which are
types, templates, or constants. I think that allows C++ to achieve
the same things with its templates that Ada can.

> Ada permits but does not require as much overloading of operators
> as one needs in a C++.  This is useful when one is creating templates
> for simple scalar and numeric types.  It does simplify the templates
> for those types.  Actually, in this case, the Ada model is somewhat
> an improvement over C++.  Of course, a C++ advocate may answer that
> the word "class" may be used for a built-in type, but this still falls
> short of the Ada model for range constraints and other rules of
> scalar types.

Well, C++ doesn't have range constraints and subtypes (which is
too bad), so it can hardly overload on them. But it does have
enumerations, and those are fully overloadable. But C++ doesn't
have attributes, so one can't write a generic wrap-around successor
function, for example, so there, I've found an example for you :-)

> Ada is more complicated when creating templates in which an entire
> package is a generic formal parameter.  C++ is very straightfoward
> in this regard.  The consequence is that this powerful feature of
> Ada is often ignored by component designers.  In time, as Ada 
> practitioners become more comfortable with its capabilities, we should
> see more use of it.  Meanwhile, C++ seems much easier when one needs
> one of more classes as generic formal parameters.

I hold that a C++ class is more-or-less equivalent to an Ada package,
so a generic formal package in Ada would simply correspond to a generic
formal class in C++.




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

* Re: Ada
  2000-01-04  0:00         ` Ada Florian Weimer
@ 2000-01-04  0:00           ` Hyman Rosen
  2000-01-04  0:00           ` Ada Brian Rogoff
  1 sibling, 0 replies; 76+ messages in thread
From: Hyman Rosen @ 2000-01-04  0:00 UTC (permalink / raw)


Florian Weimer <usenet@deneb.cygnus.argh.org> writes:
> You won't get reasonable error messages.  For example, try instantiating
> a STL container with a reference type; most compilers will give you
> several kilobytes of error messages.  The situation gets worse if you
> nest templates more deeply.

This is a quality-of-implementation issue. I think vendors are
concentrating first on compiling correct code. One hopes that
in the future, error messages will get better.

> Writing reusable templates in C++ is hard, because you have to be very
> careful not to use operations on the parametric types which aren't
> available in general.  These restrictions are not enforced by the
> compiler unless you provide suitable instantiations.

"If the type will fit, you must acquit" :-) The C++ template model
allows legal instantiations to compile, without specifying
restrictions on the types in advance, only through the operations
performed on the objects of the type. This requires attention in
writing the template if you want to minimize the number of things
required of the type, but that's fine.




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

* Re: Ada
  2000-01-04  0:00         ` Ada Robert Dewar
  2000-01-04  0:00           ` Ada Robert A Duff
@ 2000-01-04  0:00           ` Hyman Rosen
  1 sibling, 0 replies; 76+ messages in thread
From: Hyman Rosen @ 2000-01-04  0:00 UTC (permalink / raw)


Robert Dewar <robert_dewar@my-deja.com> writes:
> A pretty big gap! It means for example that if you have
> multiple implementations of sets, that you cannot have
> a parameterless function Empty that returns the (appropriate)
> empty set.

Incorrect as far as equivalent behavior is concerned,
as the following program demonstrates.

enum SetType { A, B, C };
template <SetType T> struct Set
{
	static Set Empty() { return Set(); }
};
struct EmptySet
{
	template <SetType T> operator Set<T>() { return Set<T>::Empty(); }
};
void f(Set<A>) { }
void g(Set<B>) { }
int main()
{
	f(EmptySet());
	g(EmptySet());
}




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

* Re: Ada
  2000-01-04  0:00           ` Ada Robert A Duff
@ 2000-01-04  0:00             ` Hyman Rosen
  0 siblings, 0 replies; 76+ messages in thread
From: Hyman Rosen @ 2000-01-04  0:00 UTC (permalink / raw)


Robert A Duff <bobduff@world.std.com> writes:
> Even worse, it means that literals can't be overloaded.  Of course, C++
> doesn't even *have* enumeration literals of different enumeration types,
> anyway.

It certainly does. The problematic part is that enumeration literals
are entered into the scope in which the enumeration type is declared,
because of backward compatibility with C. As a result, one normally
declares enumerated types inside a class or namespace, so that literals
won't conflict.

If you really need enumerator literal overloading, you can play the
same game as for empty sets, on a case-by-case basis:

struct Direction { enum E { Left, Right, Up, Down }; };
struct Politics  { enum E { Left, Center, Right }; };

static struct
{
	operator Direction::E() { return Direction::Left; }
	operator Politics ::E() { return Politics ::Left; }
} Left;

static struct
{
	operator Direction::E() { return Direction::Right; }
	operator Politics ::E() { return Politics ::Right; }
} Right;

void f(Direction::E) { }
void g(Politics ::E) { }

int main()
{
	f(Left);
	f(Right);
	g(Left);
	g(Right);
}




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

* Re: Ada
  2000-01-04  0:00           ` Ada Hyman Rosen
@ 2000-01-04  0:00             ` Richard D Riehle
  2000-01-04  0:00             ` Ada Robert A Duff
  1 sibling, 0 replies; 76+ messages in thread
From: Richard D Riehle @ 2000-01-04  0:00 UTC (permalink / raw)


In article <t77lhpuc8o.fsf@calumny.jyacc.com>,
	Hyman Rosen <hymie@prolifics.com> wrote:

>Richard D Riehle <laoXhai@ix.netcom.com> writes:
>
>You have not read the literature correctly, or you have not read the
>correct literature :-) C++ templates can be (according to the standard,
>but not yet in reality) separately compiled, 

I guess it is not just my reading of the compiler publishers manuals
that prevent me from doing the same thing I can do in Ada.  Also, I
am not sure that, once this is implemented in C++, it will correspond
to the same level of error checking possible in Ada generics.  One
of the essential points in Ada is that error checking is not just a
function of type-safety.   Often overlooked is the extensive set of
rules on Scope and Visibility in Chapted 8 of the ALRM.  C++ does not
seem to be quite as comprehensive on this point.

Meanwhile, my C++ programs must correspond to what the compiler 
publishers allow rather than the theoretical permissions of the
standard.  

>> Ada has more formats for generic formal parameters.  This has its
>> advantages and may sometimes have disadvantages.  The designer needs
>> to learn more idioms of the language.  Once having learned those idioms,
>> more options for template design are available.
>
>C++ has essentially *no* format for its generic formals, which are
>types, templates, or constants. I think that allows C++ to achieve
>the same things with its templates that Ada can.

As mentioned in my earlier post, I agree that when using the word "can"
nearly every language _can_ accomplish whatever any other language _can_.
The issue, when comparing languages, should never be whether something
_can_ be expressed in this or that language.  Rather, the issue is how
easily that something can be expressed.  It is the difference between
expressibility (can express) and expressiveness (designed to express).  

A caution is in order.  An earlier critique of Ada in this forum 
suggested that Ada is not as _intuitive_ as C++.  The author of that
criticism confused the notion of _intuitive_ with the notion of
_superficial_.  Expressive does not necessarily mean _intuitive_. 
Also, I do not mean to imply that you, Hyman, are superficial.  It
is clear that you think carefully and deeply about these issues.
There are many programming constructs for which COBOL is more
expressive, others for which Smalltalk is more expressive, and some
for which Ada is not as expressive as C++ or Eiffel.  We simply have
not yet achieved perfection in the design of programming languages.
However, as you noted in you post, Ada does have some advantages of
expressiveness, as does C++.  I continue to prefer the Ada approach,
even though I am currently spending more time coding C++ than I would
want. 

>I hold that a C++ class is more-or-less equivalent to an Ada package,
>so a generic formal package in Ada would simply correspond to a generic
>formal class in C++.

I will agree with this.  I suspect that, if templates had been designed
into C++ from the beginning, they might be a little better than they
are.  I find the Ada generic slightly more expressive, for my taste,
than the C++ template.  Fortunately, not all of us on this planet are
identical so there is room for more than one viewpoint on this subject.

Richard Riehle
 




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

* Re: Ada
  2000-01-04  0:00         ` Ada Terry Sikes
@ 2000-01-05  0:00           ` Robert Dewar
  2000-01-05  0:00             ` Ada Terry Sikes
  2000-01-06  0:00           ` Ada Al Christians
  1 sibling, 1 reply; 76+ messages in thread
From: Robert Dewar @ 2000-01-05  0:00 UTC (permalink / raw)


In article <84tj1p$r2g$1@nntp3.atl.mindspring.net>,
  tsikes@netcom.com (Terry Sikes) wrote:

> o  embedded systems

This is a very small sliver of the total development market

> o  Unix/mainframe server-side  (this has picked up recently;)

Still a small player development wise compared to PC's

> o  Mac

This is a VERY small fraction of the total PC development
effort.

> o  Linux

Getting larger, but still dwarfed by PC's

> I think you're underestimating the amount of C/C++ even on the
> Windows side, also.

Most university trained people *over* estimate the amount of
C and C++, precisely because they don't know the widely
used languages (COBOL and Visual Basic).


> Bill has some level of vested interest in promoting VB,
> after all.

Well I don't think he cares too much if people use VB or
visual C++. What is interesting about his figures is the
Delphi and Java figures, which he *does* care about :-)


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Ada
  2000-01-05  0:00           ` Ada Robert Dewar
@ 2000-01-05  0:00             ` Terry Sikes
  0 siblings, 0 replies; 76+ messages in thread
From: Terry Sikes @ 2000-01-05  0:00 UTC (permalink / raw)


In article <84uk54$6jl$1@nnrp1.deja.com>,
Robert Dewar  <robert_dewar@my-deja.com> wrote:
>In article <84tj1p$r2g$1@nntp3.atl.mindspring.net>,
>  tsikes@netcom.com (Terry Sikes) wrote:
>
>> o  embedded systems
>
>This is a very small sliver of the total development market

I'd be interested in knowing how "small" - there are a ton of
products with embedded microprocessors.

>> o  Unix/mainframe server-side  (this has picked up recently;)
>
>Still a small player development wise compared to PC's

Really?  You think the total number of development dollars spent on
server-side software is "small" compared to client side?  Even with
the Internet taking off?

>> o  Mac
>
>This is a VERY small fraction of the total PC development
>effort.

Macs are sitting at around 5% market share right now, and I'd guess
more development is done on them, percentage-wise, than is done on
Windows.

>> o  Linux
>
>Getting larger, but still dwarfed by PC's

Well, Linux installs are hard to measure, but I'd heard a figure of
10,000,000+ over a year ago.  The thing is though, that a very high
percentage of Linux boxes are development boxes.

>> I think you're underestimating the amount of C/C++ even on the
>> Windows side, also.
>
>Most university trained people *over* estimate the amount of
>C and C++, precisely because they don't know the widely
>used languages (COBOL and Visual Basic).

Although there are some, I think you'll find the numbers of PC COBOL
programmers to be quite small...  ;-)

As to VB, I agree its widely used...but I still think that C/C++
account for more than 15% of Windows development dollars.

>> Bill has some level of vested interest in promoting VB,
>> after all.
>
>Well I don't think he cares too much if people use VB or
>visual C++. What is interesting about his figures is the
>Delphi and Java figures, which he *does* care about :-)

C'mon, Bill has a soft spot for BASIC.  ;-)

Delphi has its good points, but just think if it had been implemented
in Ada95 instead of Object Pascal...

At any rate, its fairly pointless to discuss language marketshare
without better figures - anyone have any?

Terry
--
tsikes@netcom.com




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

* Operators -> unit analysis
  2000-01-04  0:00         ` Ada Terry Sikes
@ 2000-01-05  0:00           ` Charles Hixson
  2000-01-05  0:00             ` Pat Rogers
                               ` (4 more replies)
  0 siblings, 5 replies; 76+ messages in thread
From: Charles Hixson @ 2000-01-05  0:00 UTC (permalink / raw)


Terry Sikes wrote:

> ...
> One thing I'd like to see in both languages is the ability to use a
> set of non-reserved Unicode symbols for operator overloading, to
> disambiguate with the normal operator symbols.
>
> Terry
> --
> tsikes@netcom.com

I don't insist on unicode, but I would also like more operators that could
be overloaded.  How about swiping a leaf from Fortran60 (.le., .eq., ...)
and allowing symbols beginning with a (e.g.) period, then a string of chars
between succ (" ") and char (126) and then another period, with white space
separations  required on each side, to be an overloadable operator?

And some good way to handle units.  So that we could safely say things like:

     speed := 37.miles / 1.5.hours;
I'm not too pleased with the syntax, but the idea is there.  Computer
languages should make unit analysis easy!  This is one of the "promises" of
abstract data types, but I don't feel that it's been truly fulfilled,
largely because it's too difficult to use.  Syntax is part of the problem,
and standard libraries are another part (or perhaps that one's been solved,
and I just don't know).  But standard types should be defined for all the
standard metric units, and most of the more common English units, with
conversion functions between them.  I guess that the standard example
package, Rational, is a good example of how it could be done, but there is
lots of detail work, and it needs to be standardized.

If there is a work group on this, I would like to know about it.  The recent
Mars probe again brought this to my attention.  They may not have been using
Ada (I didn't bother to check), but avoiding this kind of problem is
something that Ada should be for.

I dislike the syntax:
    speed := (37 * mile) / (1.5 * hour);
though I prefer it to:
    speed := miles (37) / hours (1.5);
but that's the best that I know how to do it in Ada.  Is there a better
choice?  (I.e. one that would look more like what a math student would write
in a word problem?)

Of course one could say:
    dist    :    constant Miles    :=    37;
    time   :    constant Hours    :=   1.5;
    speed :  MpH;
    speed    :=    dist / time;

but that seems quite unnecessarily verbose!







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

* Re: Operators -> unit analysis
  2000-01-05  0:00           ` Operators -> unit analysis Charles Hixson
  2000-01-05  0:00             ` Pat Rogers
@ 2000-01-05  0:00             ` Ted Dennison
  2000-01-06  0:00               ` Charles Hixson
  2000-01-06  0:00               ` Samuel T. Harris
  2000-01-05  0:00             ` Matthew Heaney
                               ` (2 subsequent siblings)
  4 siblings, 2 replies; 76+ messages in thread
From: Ted Dennison @ 2000-01-05  0:00 UTC (permalink / raw)


In article <387383D0.4EA02E95@earthlink.net>,
  Charles Hixson <charleshixsn@earthlink.net> wrote:
> Terry Sikes wrote:
>
> > ...
> > One thing I'd like to see in both languages is the ability to use a
> > set of non-reserved Unicode symbols for operator overloading, to
> > disambiguate with the normal operator symbols.

> I don't insist on unicode, but I would also like more operators that
> could be overloaded.

How would you decide where to place them in the precidence hierarchy?
Having recently built a couple of packages around overloaded operators,
I found that getting the correct precidence for the various new
operators I defined is at least as important as the appropriateness of
the chosen operator symbol to the task. You don't want to end up in a
situation where you have to use parenthesis in counter-intuitive places
to work around the precidence rules.

--
T.E.D.


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Operators -> unit analysis
  2000-01-05  0:00           ` Operators -> unit analysis Charles Hixson
@ 2000-01-05  0:00             ` Pat Rogers
  2000-01-05  0:00               ` Charles Hixson
  2000-01-05  0:00             ` Ted Dennison
                               ` (3 subsequent siblings)
  4 siblings, 1 reply; 76+ messages in thread
From: Pat Rogers @ 2000-01-05  0:00 UTC (permalink / raw)


Charles Hixson <charleshixsn@earthlink.net> wrote in message
news:387383D0.4EA02E95@earthlink.net...

<snip>

> And some good way to handle units.  So that we could safely say things
like:
>
>      speed := 37.miles / 1.5.hours;
> I'm not too pleased with the syntax, but the idea is there.  Computer
> languages should make unit analysis easy!  This is one of the
"promises" of
> abstract data types, but I don't feel that it's been truly fulfilled,
> largely because it's too difficult to use.  Syntax is part of the
problem,
> and standard libraries are another part (or perhaps that one's been
solved,
> and I just don't know).  But standard types should be defined for all
the
> standard metric units, and most of the more common English units, with
> conversion functions between them.  I guess that the standard example
> package, Rational, is a good example of how it could be done, but
there is
> lots of detail work, and it needs to be standardized.

I have a facility somewhat like that on the "free code page" at my web
site:

http://www.classwide.com/products/freecode.htm

Look for the "dimensioned units" section (at the bottom).

--
Pat Rogers                            Training and Consulting in:
http://www.classwide.com      Deadline Schedulability Analysis
progers@classwide.com        Software Fault Tolerance
(281)648-3165                       Real-Time/OO Languages






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

* Re: Operators -> unit analysis
  2000-01-05  0:00             ` Pat Rogers
@ 2000-01-05  0:00               ` Charles Hixson
  0 siblings, 0 replies; 76+ messages in thread
From: Charles Hixson @ 2000-01-05  0:00 UTC (permalink / raw)


Pat Rogers wrote:

> Charles Hixson <charleshixsn@earthlink.net> wrote in message
> news:387383D0.4EA02E95@earthlink.net...
>
> ...
> I have a facility somewhat like that on the "free code page" at my web
> site:
>
> http://www.classwide.com/products/freecode.htm
>
> Look for the "dimensioned units" section (at the bottom).
>
> --
> Pat Rogers                            Training and Consulting in:
> http://www.classwide.com      Deadline Schedulability Analysis
> progers@classwide.com        Software Fault Tolerance
> (281)648-3165                       Real-Time/OO Languages

NICE!!
I'm going to have to study that a bit.   I may add coulombs, or some such,
just to make sure I understand what it going on, but it looks pretty
straightforward.  Much more so than I expected, actually.  I still would
prefer a nicer syntax, but that's not enough to worry much about.
(I'll certainly add pounds, feet, and dollars [that last may strain the
system :-) ] )







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

* Re: Operators -> unit analysis
  2000-01-05  0:00           ` Operators -> unit analysis Charles Hixson
  2000-01-05  0:00             ` Pat Rogers
  2000-01-05  0:00             ` Ted Dennison
@ 2000-01-05  0:00             ` Matthew Heaney
  2000-01-05  0:00               ` Charles Hixson
  2000-01-05  0:00             ` Hyman Rosen
  2000-01-06  0:00             ` Robert Dewar
  4 siblings, 1 reply; 76+ messages in thread
From: Matthew Heaney @ 2000-01-05  0:00 UTC (permalink / raw)


In article <387383D0.4EA02E95@earthlink.net> , Charles Hixson 
<charleshixsn@earthlink.net>  wrote:

> And some good way to handle units.  So that we could safely say things like:
>
>      speed := 37.miles / 1.5.hours;
> I'm not too pleased with the syntax, but the idea is there.

You can already do this:

  Speed := Miles'(37.0) / Hours'(1.5);

I always recommend type qualification for literals when units are an
issue.

> I dislike the syntax:
>     speed := (37 * mile) / (1.5 * hour);
> though I prefer it to:
>     speed := miles (37) / hours (1.5);
> but that's the best that I know how to do it in Ada.  Is there a better
> choice?  (I.e. one that would look more like what a math student would write
> in a word problem?)

See above.


> Of course one could say:
>     dist    :    constant Miles    :=    37;
>     time   :    constant Hours    :=   1.5;
>     speed :  MpH;
>     speed    :=    dist / time;
>
> but that seems quite unnecessarily verbose!

Agreed.




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

* Re: Operators -> unit analysis
  2000-01-05  0:00             ` Hyman Rosen
@ 2000-01-05  0:00               ` Matthew Heaney
  0 siblings, 0 replies; 76+ messages in thread
From: Matthew Heaney @ 2000-01-05  0:00 UTC (permalink / raw)


In article <t77lhos81h.fsf@calumny.jyacc.com> , Hyman Rosen 
<hymie@prolifics.com>  wrote:

> Charles Hixson <charleshixsn@earthlink.net> writes:
>> And some good way to handle units.  So that we could safely say things like:
>>      speed := 37.miles / 1.5.hours;
>
> There is already a very good way to handle units, without any runtime
> overhead if you don't need to determine units dynamically.

Yes, there is, by using type qualification:

  Speed := Miles'(37.0) / Hours'(1.5);




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

* Re: Operators -> unit analysis
  2000-01-05  0:00             ` Matthew Heaney
@ 2000-01-05  0:00               ` Charles Hixson
  0 siblings, 0 replies; 76+ messages in thread
From: Charles Hixson @ 2000-01-05  0:00 UTC (permalink / raw)




Matthew Heaney wrote:

> ...

> You can already do this:
>
>   Speed := Miles'(37.0) / Hours'(1.5);
>
> I always recommend type qualification for literals when units are an
> issue.
>

That handles the units problem, but the syntax is still backwards for how it needs
to be read.  I suppose there's no way out. (And I'm being picky).  But:
  Speed := Miles'(37.0) / Hours'(1.5);
is read as:
  Speed := (37.0)'Miles / (1.5)'Hours;
And even there, for a simple statement like this I would prefer:
  Speed := 37.0'Miles / 1.5'Hours;
Actually, this would probably be as near to optimal as is realizable.
But defining each unit separately has problems.  I like the general approach used
by Pat Rogers:

> I have a facility somewhat like that on the "free code page" at my web
> site:
>
> http://www.classwide.com/products/freecode.htm
>
> Look for the "dimensioned units" section (at the bottom).
>
> --
> Pat Rogers                            Training and Consulting in:
> http://www.classwide.com      Deadline Schedulability Analysis
> progers@classwide.com        Software Fault Tolerance
> (281)648-3165                       Real-Time/OO Languages
>
as it feels more "generalizeable".






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

* Re: Operators -> unit analysis
  2000-01-05  0:00           ` Operators -> unit analysis Charles Hixson
                               ` (2 preceding siblings ...)
  2000-01-05  0:00             ` Matthew Heaney
@ 2000-01-05  0:00             ` Hyman Rosen
  2000-01-05  0:00               ` Matthew Heaney
  2000-01-06  0:00             ` Robert Dewar
  4 siblings, 1 reply; 76+ messages in thread
From: Hyman Rosen @ 2000-01-05  0:00 UTC (permalink / raw)


Charles Hixson <charleshixsn@earthlink.net> writes:
> And some good way to handle units.  So that we could safely say things like:
>      speed := 37.miles / 1.5.hours;

There is already a very good way to handle units, without any runtime
overhead if you don't need to determine units dynamically.

See Barton & Nackman, _Scientific and Engineering C++_.




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

* Re: Operators -> unit analysis
  2000-01-05  0:00             ` Ted Dennison
@ 2000-01-06  0:00               ` Charles Hixson
  2000-01-06  0:00               ` Samuel T. Harris
  1 sibling, 0 replies; 76+ messages in thread
From: Charles Hixson @ 2000-01-06  0:00 UTC (permalink / raw)


> How would you decide where to place them in the precidence hierarchy?
>
> (see bottom)
>
Choices:
1)  Put them at the bottom of the precedence hierarchy, with equal
precedence.  Use parenthesis to do groupings.
2) (too complex) Allow a more verbose declaration form that specifies the
binding level. (Arrange all standard operators in ranked order, and allow
the newly declared operator to be inserted into the list.)
3) (Complex, but NICE)  Arrange for two kinds of operator declaration.  One
that is at the bottom of the hierarchy (as 1).  The other is near the top
(don't break apart parenthesized groups!) but left-binding and taking only
one parameter.  Call this one Unit or some such.  This would be for
declaring things like grams, dynes, years, etc.  So we could have:

UnitFunction grams (scalar : <<Numeric>>) returns Gram is

Custom operators in complex statements are problematic anyway, but I would
like to distinguish between dot product and cross product (and analogous
cases), which are conventionally treated as operators rather than as
functions.  I have never gotten used to the notation that goes:
    z    =    x.dot (y);
even though it *IS* semantically equivalent to, e.g.:
    z := x .*. y
(It would be even nicer if the large centered dot was a legitimate
character [which brings us back to the unicode request earlier in the
thread {it seems to have rolled off my newsServer, so I can't say who made
the request}], but it *is* a bit hard to type).

I frequently find that "common usage" improved the understand ability of
code.  The problem is that it is hard to support in a compiler (or requires
complex implementations).  To take an example from a different thread:
    speed = x miles / y hours;
now if there were "a units operator" (i.e., high priority, left binding,
takes one operator) one could define miles as an operator that multiplied a
scalar by 1 mile and returned a value of type Miles.  But units would need
to aggregate, so that we could specify area, volume, G, etc. So the exact
implementation would need to be carefully thought out.  The customary
syntax, however, has been with us since grade school, and changing it
immediately makes things less intelligible.  We have years of experience
that tell us that units are high priority, left binding, and take one
operator.  Except for traditional exceptions like currency which are high
priority, right binding, and take one operator (although when spoken the
currency units are left binding, just like a normal unit).  Thus $5 is 5
dollars, $5.25 is 5 and 1/4 dollars (or 5 dollars and 25 cents).

A problem is that the names of units occupy the same space as normal
variable names, but conceptually they are a different *kind* of thing.
Thus 5 grams IS 5 * (1 gram) IS Gram'(5), but the versions are each more
difficult to read than the one prior to it.  5'grams, OTOH, is transparent.

Unfortunately, it appears to me that making either: 5 grams or: 5'grams
legal would require changes in the specification of any language that I
know (except for Smalltalk and Forth, which have other problems).

Ted Dennison wrote:

> In article <387383D0.4EA02E95@earthlink.net>,
>   Charles Hixson <charleshixsn@earthlink.net> wrote:
> > Terry Sikes wrote:
> >
> > > ...
> > > One thing I'd like to see in both languages is the ability to use a
> > > set of non-reserved Unicode symbols for operator overloading, to
> > > disambiguate with the normal operator symbols.
>
> > I don't insist on unicode, but I would also like more operators that
> > could be overloaded.
>
> How would you decide where to place them in the precidence hierarchy?
> Having recently built a couple of packages around overloaded operators,
> I found that getting the correct precidence for the various new
> operators I defined is at least as important as the appropriateness of
> the chosen operator symbol to the task. You don't want to end up in a
> situation where you have to use parenthesis in counter-intuitive places
> to work around the precidence rules.
>
> --
> T.E.D.
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.






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

* Re: Ada
  2000-01-04  0:00         ` Ada Terry Sikes
  2000-01-05  0:00           ` Ada Robert Dewar
@ 2000-01-06  0:00           ` Al Christians
  2000-01-06  0:00             ` Ada Terry Sikes
  2000-01-07  0:00             ` Ada Robert Dewar
  1 sibling, 2 replies; 76+ messages in thread
From: Al Christians @ 2000-01-06  0:00 UTC (permalink / raw)


Terry Sikes wrote:
> 
> >This same talk put Visual basic at about 50% of
> >PC development, and that also sounds about right to me,
> >with C/C++ being about 15%.
> 
> 50% of Windows (not PC) development, even if true, ignores major
> market segments:
> 

In one of Capers Jones's books, he mentions many millions of workers
whose job description is not 'software developer' who spend some part 
of their work week developing software anyway.  VB might have a very 
large market share among that group of informal developers.    

Should the developers of Ada language products address the needs of 
that group?


Al




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

* Re: Operators -> unit analysis
  2000-01-05  0:00             ` Ted Dennison
  2000-01-06  0:00               ` Charles Hixson
@ 2000-01-06  0:00               ` Samuel T. Harris
  2000-01-07  0:00                 ` Robert Dewar
  1 sibling, 1 reply; 76+ messages in thread
From: Samuel T. Harris @ 2000-01-06  0:00 UTC (permalink / raw)


Ted Dennison wrote:
> 
> In article <387383D0.4EA02E95@earthlink.net>,
>   Charles Hixson <charleshixsn@earthlink.net> wrote:
> > Terry Sikes wrote:
> >
> > > ...
> > > One thing I'd like to see in both languages is the ability to use a
> > > set of non-reserved Unicode symbols for operator overloading, to
> > > disambiguate with the normal operator symbols.
> 
> > I don't insist on unicode, but I would also like more operators that
> > could be overloaded.
> 
> How would you decide where to place them in the precidence hierarchy?
> Having recently built a couple of packages around overloaded operators,
> I found that getting the correct precidence for the various new
> operators I defined is at least as important as the appropriateness of
> the chosen operator symbol to the task. You don't want to end up in a
> situation where you have to use parenthesis in counter-intuitive places
> to work around the precidence rules.
> 

How about a representation clause which defines the precedence
of a custom operator to that of another. Something like ...

for "union"'precedence use "+";
for "intersection"'precedence use "*";

-- 
Samuel T. Harris, Principal Engineer
Raytheon, Aerospace Engineering Services
"If you can make it, We can fake it!"




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

* Re: Ada
  2000-01-06  0:00           ` Ada Al Christians
@ 2000-01-06  0:00             ` Terry Sikes
  2000-01-07  0:00             ` Ada Robert Dewar
  1 sibling, 0 replies; 76+ messages in thread
From: Terry Sikes @ 2000-01-06  0:00 UTC (permalink / raw)


In article <3874CB8B.2613A67F@easystreet.com>,
Al Christians  <achrist@easystreet.com> wrote:
>Terry Sikes wrote:

>> 50% of Windows (not PC) development, even if true, ignores major
>> market segments:
>
>In one of Capers Jones's books, he mentions many millions of workers
>whose job description is not 'software developer' who spend some part 
>of their work week developing software anyway.  VB might have a very 
>large market share among that group of informal developers.    
>
>Should the developers of Ada language products address the needs of 
>that group?

Right, I personally wouldn't count someone who writes some Excel
(VBScript) macros for an accounting spreadsheet as a "software
developer".  I think VBScript isn't too bad for that level of
development, and that something (even 1/2;) as complex as Ada would
drive those users away.

At any rate, its pretty academic since probably 90%+ of those folk are
using MS Office, and its unlikely the scripting language there will
change anytime soon...  (I wonder what the equivalent is for Star
Office...?)

I'd guess there's a large group of self-taught web developers as well,
that might be a more fertile ground for Unix/Linux based tools.

Terry
--
tsikes@netcom.com





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

* Re: Operators -> unit analysis
  2000-01-06  0:00             ` Robert Dewar
@ 2000-01-06  0:00               ` Terry Sikes
  2000-01-06  0:00                 ` Robert A Duff
  2000-01-07  0:00                 ` Ted Dennison
  0 siblings, 2 replies; 76+ messages in thread
From: Terry Sikes @ 2000-01-06  0:00 UTC (permalink / raw)


In article <850tl9$thu$1@nnrp1.deja.com>,
Robert Dewar  <robert_dewar@my-deja.com> wrote:
>In article <387383D0.4EA02E95@earthlink.net>,
>  Charles Hixson <charleshixsn@earthlink.net> wrote:
>> Terry Sikes wrote:
>>
>> > ...
>> > One thing I'd like to see in both languages is the ability
>to use a
>> > set of non-reserved Unicode symbols for operator
>overloading, to
>> > disambiguate with the normal operator symbols.
>> >
>> > Terry
>> > --
>> > tsikes@netcom.com
>>
>> I don't insist on unicode, but I would also like more
>operators that could
>> be overloaded.
>
>This was an issue discussed at length during the design, and
>the great majority felt it was an unnecessary complexification
>to add such operators. Even a limited proposal to add a single
>operator to be used for "almost implicit" conversions failed.
>I don't see what has changed to make it worth rearguing the
>point.

Was this point argued at length after the decision was made to add the
various annexes?  I'd think that this would be better received if it
was tied to the Numerics annex, since certainly this would be the
major area of use.

Lack of a large number of overloadable operator symbols seems like a
major lack in an otherwise numerics-friendly language.

Unicode support may be a bit over the top ;) but there are alternative
syntax possibilities like:

   --  Cross product
   Mat3 := Mat1 (x) Mat2;

(This approach is borrowed from the jpp Java preprocessor).

Ah well, perhaps it will make it in Ada 200x.  :-)

Terry
--
tsikes@netcom.com




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

* Re: Operators -> unit analysis
  2000-01-06  0:00               ` Terry Sikes
@ 2000-01-06  0:00                 ` Robert A Duff
  2000-01-07  0:00                   ` Terry Sikes
  2000-01-07  0:00                 ` Ted Dennison
  1 sibling, 1 reply; 76+ messages in thread
From: Robert A Duff @ 2000-01-06  0:00 UTC (permalink / raw)


tsikes@netcom.com (Terry Sikes) writes:

> Was this point argued at length after the decision was made to add the
> various annexes?

Yes.

>...I'd think that this would be better received if it
> was tied to the Numerics annex, since certainly this would be the
> major area of use.

Perhaps, but most numerics code is done in Fortran, and it doesn't
bother with all this fancy stuff either.

- Bob




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

* Re: Operators -> unit analysis
  2000-01-05  0:00           ` Operators -> unit analysis Charles Hixson
                               ` (3 preceding siblings ...)
  2000-01-05  0:00             ` Hyman Rosen
@ 2000-01-06  0:00             ` Robert Dewar
  2000-01-06  0:00               ` Terry Sikes
  4 siblings, 1 reply; 76+ messages in thread
From: Robert Dewar @ 2000-01-06  0:00 UTC (permalink / raw)


In article <387383D0.4EA02E95@earthlink.net>,
  Charles Hixson <charleshixsn@earthlink.net> wrote:
> Terry Sikes wrote:
>
> > ...
> > One thing I'd like to see in both languages is the ability
to use a
> > set of non-reserved Unicode symbols for operator
overloading, to
> > disambiguate with the normal operator symbols.
> >
> > Terry
> > --
> > tsikes@netcom.com
>
> I don't insist on unicode, but I would also like more
operators that could
> be overloaded.


This was an issue discussed at length during the design, and
the great majority felt it was an unnecessary complexification
to add such operators. Even a limited proposal to add a single
operator to be used for "almost implicit" conversions failed.
I don't see what has changed to make it worth rearguing the
point.


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Operators -> unit analysis
  2000-01-07  0:00                   ` Ted Dennison
@ 2000-01-07  0:00                     ` Brian Rogoff
  0 siblings, 0 replies; 76+ messages in thread
From: Brian Rogoff @ 2000-01-07  0:00 UTC (permalink / raw)


On Fri, 7 Jan 2000, Ted Dennison wrote:
> In article <853lkg$tgj$1@nnrp1.deja.com>,
>   Robert Dewar <robert_dewar@my-deja.com> wrote:
> > In article <3874D0BE.82F04763@Raytheon.com>,
> 
> > Algol-68 designers regard it as a horrible mistake. One should
> > only rely on precedence of operators where the precedence rules
> > are clear and obvious. This cannot be the case by definition
> > for user defined precedences.
> 
> I think you are saying that in practice it gets to be a mess. I do
> appreciate that. But the above statement would only be true if they are
> truly user-defined. If the operators and precedences are in fact created
> by the user to match existing precedences for established mathematical
> notations, then I think it *would* be clear and obvious to any user. For
> instance, if I make a notation including operators to mimic BNF
> productions (which I am doing, btw), any reasonable user would expect to
> *not* have to put parenthesis around a production's right side just to
> keep the BNF "::=" operator from being evaluated prematurely.

Ted, if this is what you are trying to do, you should take a look at a 
"functional" programming language, like ML or Haskell. These languages 
allow user defined infix operators, and the example you describe is 
well studied in that community. 

-- Brian






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

* Re: Operators -> unit analysis
  2000-01-07  0:00                 ` Ted Dennison
@ 2000-01-07  0:00                   ` Tucker Taft
  2000-01-08  0:00                     ` Robert Dewar
  0 siblings, 1 reply; 76+ messages in thread
From: Tucker Taft @ 2000-01-07  0:00 UTC (permalink / raw)


Ted Dennison wrote:
> 
> In article <8531v6$6qk$1@nntp3.atl.mindspring.net>,
>   tsikes@netcom.com (Terry Sikes) wrote:
> > In article <850tl9$thu$1@nnrp1.deja.com>,
> > Was this point argued at length after the decision was made to add the
> > various annexes?  I'd think that this would be better received if it
> > was tied to the Numerics annex, since certainly this would be the
> > major area of use.
> 
> Not by far. There are many applications in many realms of study that
> have traditionally been described by some kind of mathematical notation.
> The Gnat Snobol packages are a very good example for pattern matching.
> Possible other applications off the top of my head are: strings, lists,
> sets, database queries, BNF, Music.

For what it is worth, in my view adding lots of operators
is not doing the user any big favor.  Good old function-call syntax,
using named parameters when appropriate, is the clearest for most things.  

The advantage of operators is when a single statement involves many 
operations, and the use of infix operators makes it much easier to "grok"
what is going on.  That advantage disappears quickly if you end
up with unfamiliar operators interspersed within the complex
expression.  Even "familiar" operators are bad news if used
in unfamiliar ways. 

Furthermore, in many of the cases you mention above, you 
don't really want the operators *executed*
at run-time.  Instead, you want to create some kind of tree
representation, and then interpret it in some special way.
Building these trees at run-time seems like an inefficient way
to do things, which means the contexts where they will be useful
is even more limited.

In my view, operators are great for complex number packages, 
and other numeric-like things (matrices, vectors, bignums, etc.),
but as soon as the meanings of the operators becomes even slightly
obscure or non-standard, the value to the reader drops precipitously.
 
> --
> T.E.D.

-- 
-Tucker Taft   stt@averstar.com   http://www.averstar.com/~stt/
Technical Director, Distributed IT Solutions  (www.averstar.com/tools)
AverStar (formerly Intermetrics, Inc.)   Burlington, MA  USA




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

* Re: Operators -> unit analysis
  2000-01-07  0:00                   ` Robert A Duff
@ 2000-01-07  0:00                     ` Matthew Heaney
  2000-01-08  0:00                       ` Robert Dewar
  2000-01-10  0:00                       ` Operator precedence--was " Howard W. LUDWIG
  0 siblings, 2 replies; 76+ messages in thread
From: Matthew Heaney @ 2000-01-07  0:00 UTC (permalink / raw)


In article <wccln626ily.fsf@world.std.com> , Robert A Duff 
<bobduff@world.std.com>  wrote:

> I would say: If it's not a precedence rule I learned in grade school,
> then it shouldn't be in a programming language (whether it was put there
> by the language designer or by some "clever" programmer).

Oh dear, I'll probably get horribly flamed for saying so, but I disagree
with the Ada(83) decision to require that "and" and "or" operators
appearing within the same statement also require parenthesis.

I think that, as in C, "and" should be given a higher precedence than
"or", analogous to how "*" is given a higher precedence than "+".

--
Evolution is as well documented as any phenomenon in science, as
strongly as the earth's revolution around the sun rather than vice
versa.

Stephen Jay Gould, Time, 23 Aug 1999




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

* Re: Operators -> unit analysis
  2000-01-06  0:00                 ` Robert A Duff
@ 2000-01-07  0:00                   ` Terry Sikes
  2000-01-07  0:00                     ` Brian Rogoff
  0 siblings, 1 reply; 76+ messages in thread
From: Terry Sikes @ 2000-01-07  0:00 UTC (permalink / raw)


In article <wcc9022izjp.fsf@world.std.com>,
Robert A Duff  <bobduff@world.std.com> wrote:

>>...I'd think that this would be better received if it
>> was tied to the Numerics annex, since certainly this would be the
>> major area of use.
>
>Perhaps, but most numerics code is done in Fortran, and it doesn't
>bother with all this fancy stuff either.

Which is why so many people are searching for something better, and
why so much numerical code is being translated into C++ (despite its
obvious deficiencies).

By coincidence, I received the following from the advanced-java list
today, I'll include it so you can ask yourself "Why not Ada Grande?".
(BTW, while operator overloading is not part of Java today, it will be
in the future according to Gosling.)

It seems to me that Ada is better suited to this problem space than
Java since it has a) _optional_ GC and b) static data structures.

Perhaps what Ada needs most is a Java-like syntax front-end.  ;-)

Terry

--begin quoted message--
To: advanced-java@xcf.berkeley.edu
Subject: ACM 2000 Java Grande Conference (10 days, 2 weekends left)
Date: Fri, 7 Jan 2000 07:55:29 +0100

Dear Colleague,

Please find attached the Call for Papers for the ACM 2000 Java Grande
Conference.  I would appreciate it if you would help ensure the wide
publicity of this event by forwarding the call to colleagues who you
think might be interested in submitting a paper.

Please note: Due to NSF ITR proposal deadline the due dates for JG2000
have been changed.  See below.

We look forward to your submission.

Thanks, 

	   Michael Philippsen.

---------------------------------------------------------------------------

                    CALL FOR PAPERS

           ACM 2000  Java Grande Conference

(NOTICE:  Due to NSF ITR proposal deadline the due dates for JG2000
 have been changed.  See below.)
                                                       
               Sponsored by ACM SIGPLAN 

       San Francisco, California, June 3-4, 2000 

             http://www.extreme.indiana.edu/java00


The Java Grande Conference focuses on the use of Java in the broad area of 
high-performance computing; including engineering and scientific
applications, simulations, data-intensive applications, and other 
emerging application areas that exploit parallel and distributed computing or
combine communication and computing. A day of tutorials will be held on the 
day following the conference. The conference precedes the JavaOne
2000 conference, which would enable the Java Grande attendees to expose 
themselves to the latest in basic Java Technology. 

Authors are invited to submit manuscripts that demonstrate timely results, 
technologies, or experiences that are most likely to have impact on the
use of Java in high performance computing systems. 

Topics of interest include but are not restricted to: 

     Java use for scientific and engineering applications 
     Java frameworks and libraries for high-performance computing 
     Implementation techniques for Java on high-performance systems 
     Java numerics and Java extensions for high-performance computing 
     Java compilation and optimization for high-performance computing 
     Java development tools and environments for high-performance computing 
     Java performance and benchmarking 

SUBMISSION

Papers should report new research and should not exceed 5000 words 
(approximately 10 pages typeset on 16 point spacing, or 15 typewritten
double-spaced pages). The program committee will review each submission 
and select papers based on originality, timeliness, relevance, and
clarity. All accepted papers will be presented at the conference, and 
published in the conference proceedings. 

Electronic submission is strongly encouraged. Please e-mail a Postscript 
or PDF copy of your submission to java00@icase.edu or send  15 hard copies 
to the program chair. Submissions must be received by January 17, 2000. 
Authors will be notified by Feb 25, 2000. 

Authors of accepted papers will be expected to sign a copyright release form. 
Proceedings will be distributed at the conference and will
subsequently be available from ACM. Papers published in proceedings are 
eligible for subsequent publication in refereed ACM journals at the
discretion of the editor of the particular journal. Papers describing 
essentially the same work must not have been published elsewhere or be
simultaneously under consideration for publication elsewhere. 

People interested in contributing a tutorial (.5 or 1 day) should contact 
the program chair by Jan 31, 2000.  The tutorials will be held on June 5,
2000. 
  

IMPORTANT DATES

Papers due:  Jan 17, 2000. 
Tutorial Proposals due:  Jan 31, 2000. 
Acceptance notice:  Feb. 25, 2000 
Final Papers due: March 24, 2000 


CONFERENCE CHAIR

Dennis Gannon 
Department of Computer Science 
Indiana University 
Bloomington, IN 47401 
and 
NAS Division 
NASA Ames Research Center 
MS 258-5 
Moffet Field, CA 94035 
Phone: (650) 604 1934 
gannon@cs.indiana.edu 


PROGRAM CHAIR

Piyush Mehrotra 
ICASE 
MS 132C 
3 West Reid Street - Building 1152 
NASA Langley Research Center 
Hampton, VA 23681 
Phone: (757)-864-2188 
Fax: (757)-864-6134 
pm@icase.edu 
  

PROGRAM COMMITTEE

     Henri Bal, Vrije University 
     Sandra Baylor, IBM 
     Aart Bik, Intel Corporation 
     Siddartha Chatterjee, University of North Carolina 
     Ken Kennedy, Rice University 
     Scott Kohn, Lawrence Livermore National Laboratory 
     Arvind Krishnamurthy, Yale University 
     Timothy Lindohm, Sun Microsystems 
     Satoshi Matsuoka, Tokyo Institute of Technology 
     Roldan Pozo, NIST 
     Vivek Sarkar, IBM 
     Suresh Srinivas, SGI 
     Vaidy Sunderam, Emory University 
     Gregor von Laszewzki, Argonne National Laboratory 
     Martin Westhead, EPCC 
     Kathy Yelick, University of California at Berkeley 


PUBLICITY CHAIR

Michael Philippsen 
Computer Science Department 
University of Karlsruhe 
Am Fasanengarten 5 
76128 Karlsruhe Germany 
Phone: 49-721-608-4067 
Fax: 49-721-608-7343 
phlipp@ira.uka.de 




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

* Re: Operators -> unit analysis
  2000-01-07  0:00                   ` Terry Sikes
@ 2000-01-07  0:00                     ` Brian Rogoff
  0 siblings, 0 replies; 76+ messages in thread
From: Brian Rogoff @ 2000-01-07  0:00 UTC (permalink / raw)


On 7 Jan 2000, Terry Sikes wrote:
> In article <wcc9022izjp.fsf@world.std.com>,
> Robert A Duff  <bobduff@world.std.com> wrote:
> 
> >>...I'd think that this would be better received if it
> >> was tied to the Numerics annex, since certainly this would be the
> >> major area of use.
> >
> >Perhaps, but most numerics code is done in Fortran, and it doesn't
> >bother with all this fancy stuff either.
> 
> Which is why so many people are searching for something better, and
> why so much numerical code is being translated into C++ (despite its
> obvious deficiencies).

Yes indeed, I thought that the "well Fortran doesn't do it" excuse sounded 
quite weak. If you strive to be just as good as Fortran then there is no 
reason to switch!

Tucker Taft's explanation that he feels additional operators compromise 
readability is the expected Ada response, but I disagree. Certainly 
overuse of infixes is bad, but I think Ada (or a future Ada-like
language) could use either a few more reusable infixes or a more general 
scheme. Honestly though, while I'm firmly in the "gimme more infixes" camp, 
I think this  is a fairly minor issue. 

I've also noticed that lots of new numerics (and I include DSP and image 
processing here) code is written in C or C++. If you really want to see
some interesting bleeding edge stuff, check out www.fftw.org, the
"Fastest Fourier Transform in the West", which won the Third Wilkinson
Prize for Numerical Software. While the web page describes it as a C
library for computing the DFT, the interesting part is actually  the
codelet generator which outputs the C, and that is written in OCaml, my 
other favorite language.

-- Brian






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

* Re: Operators -> unit analysis
  2000-01-06  0:00               ` Samuel T. Harris
@ 2000-01-07  0:00                 ` Robert Dewar
  2000-01-07  0:00                   ` Robert A Duff
  2000-01-07  0:00                   ` Ted Dennison
  0 siblings, 2 replies; 76+ messages in thread
From: Robert Dewar @ 2000-01-07  0:00 UTC (permalink / raw)


In article <3874D0BE.82F04763@Raytheon.com>,
  "Samuel T. Harris" <samuel_t_harris@Raytheon.com> wrote:
> How about a representation clause which defines the precedence
> of a custom operator to that of another. Something like ...
>
> for "union"'precedence use "+";
> for "intersection"'precedence use "*";
>
> --
> Samuel T. Harris, Principal Engineer
> Raytheon, Aerospace Engineering Services
> "If you can make it, We can fake it!"


This is of course the Algol-68 approach, and I think even the
Algol-68 designers regard it as a horrible mistake. One should
only rely on precedence of operators where the precedence rules
are clear and obvious. This cannot be the case by definition
for user defined precedences.


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Ada
  2000-01-06  0:00           ` Ada Al Christians
  2000-01-06  0:00             ` Ada Terry Sikes
@ 2000-01-07  0:00             ` Robert Dewar
  1 sibling, 0 replies; 76+ messages in thread
From: Robert Dewar @ 2000-01-07  0:00 UTC (permalink / raw)


In article <3874CB8B.2613A67F@easystreet.com>,
  Al Christians <achrist@easystreet.com> wrote:
> Should the developers of Ada language products address the
> needs of that group?

One way to do this is to make sure that Ada is a first class
citizen when it comes to the COM interface, so it can play in
the same playground as VB. We have worked hard in the case of
GNAT to make GNAT fully compatible with COM/DCOM, and you can
do some VERY neat things with GNAT in this arena. I am sure
David Botton will be happy to elaborate :-)

Robert Dewar
Ada Core Technologies


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Operators -> unit analysis
  2000-01-07  0:00                 ` Robert Dewar
  2000-01-07  0:00                   ` Robert A Duff
@ 2000-01-07  0:00                   ` Ted Dennison
  2000-01-07  0:00                     ` Brian Rogoff
  1 sibling, 1 reply; 76+ messages in thread
From: Ted Dennison @ 2000-01-07  0:00 UTC (permalink / raw)


In article <853lkg$tgj$1@nnrp1.deja.com>,
  Robert Dewar <robert_dewar@my-deja.com> wrote:
> In article <3874D0BE.82F04763@Raytheon.com>,

> Algol-68 designers regard it as a horrible mistake. One should
> only rely on precedence of operators where the precedence rules
> are clear and obvious. This cannot be the case by definition
> for user defined precedences.

I think you are saying that in practice it gets to be a mess. I do
appreciate that. But the above statement would only be true if they are
truly user-defined. If the operators and precedences are in fact created
by the user to match existing precedences for established mathematical
notations, then I think it *would* be clear and obvious to any user. For
instance, if I make a notation including operators to mimic BNF
productions (which I am doing, btw), any reasonable user would expect to
*not* have to put parenthesis around a production's right side just to
keep the BNF "::=" operator from being evaluated prematurely.

--
T.E.D.


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Operators -> unit analysis
  2000-01-06  0:00               ` Terry Sikes
  2000-01-06  0:00                 ` Robert A Duff
@ 2000-01-07  0:00                 ` Ted Dennison
  2000-01-07  0:00                   ` Tucker Taft
  1 sibling, 1 reply; 76+ messages in thread
From: Ted Dennison @ 2000-01-07  0:00 UTC (permalink / raw)


In article <8531v6$6qk$1@nntp3.atl.mindspring.net>,
  tsikes@netcom.com (Terry Sikes) wrote:
> In article <850tl9$thu$1@nnrp1.deja.com>,
> Was this point argued at length after the decision was made to add the
> various annexes?  I'd think that this would be better received if it
> was tied to the Numerics annex, since certainly this would be the
> major area of use.

Not by far. There are many applications in many realms of study that
have traditionally been described by some kind of mathematical notation.
The Gnat Snobol packages are a very good example for pattern matching.
Possible other applications off the top of my head are: strings, lists,
sets, database queries, BNF, Music.

--
T.E.D.


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Operators -> unit analysis
  2000-01-07  0:00                 ` Robert Dewar
@ 2000-01-07  0:00                   ` Robert A Duff
  2000-01-07  0:00                     ` Matthew Heaney
  2000-01-07  0:00                   ` Ted Dennison
  1 sibling, 1 reply; 76+ messages in thread
From: Robert A Duff @ 2000-01-07  0:00 UTC (permalink / raw)


Robert Dewar <robert_dewar@my-deja.com> writes:

> This is of course the Algol-68 approach, and I think even the
> Algol-68 designers regard it as a horrible mistake. One should
> only rely on precedence of operators where the precedence rules
> are clear and obvious. This cannot be the case by definition
> for user defined precedences.

I would say: If it's not a precedence rule I learned in grade school,
then it shouldn't be in a programming language (whether it was put there
by the language designer or by some "clever" programmer).

- Bob




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

* Re: Operators -> unit analysis
  2000-01-07  0:00                   ` Tucker Taft
@ 2000-01-08  0:00                     ` Robert Dewar
  2000-01-10  0:00                       ` Tucker Taft
  0 siblings, 1 reply; 76+ messages in thread
From: Robert Dewar @ 2000-01-08  0:00 UTC (permalink / raw)


In article <38762D53.A9B2CC15@averstar.com>,
  Tucker Taft <stt@averstar.com> wrote:

> but as soon as the meanings of the operators becomes even
> slightly obscure or non-standard, the value to the reader
> drops precipitously.


An idea that Jean Ichbian and I pushed, but did not manage
to get sufficient support for, was to have one user defined
user operator, using the pillow symbol (also called the
currency conversion operator), to be used to represent un-noisy
"almost implicit" conversion operations (the kind of thing we
use unary plus for now).


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Operators -> unit analysis
  2000-01-07  0:00                     ` Matthew Heaney
@ 2000-01-08  0:00                       ` Robert Dewar
  2000-01-08  0:00                         ` Robert A Duff
  2000-01-10  0:00                       ` Operator precedence--was " Howard W. LUDWIG
  1 sibling, 1 reply; 76+ messages in thread
From: Robert Dewar @ 2000-01-08  0:00 UTC (permalink / raw)


In article <38764aac_2@news1.prserv.net>,
  "Matthew Heaney" <mheaney@banet.net> wrote:
> In article <wccln626ily.fsf@world.std.com> , Robert A Duff
> <bobduff@world.std.com>  wrote:
>
> Oh dear, I'll probably get horribly flamed for saying so, but
I disagree
> with the Ada(83) decision to require that "and" and "or"
operators
> appearing within the same statement also require parenthesis.


Can you really argue that depending on this makes things easier
to read, I don't think so! And it is quite error prone. It is
all too easy to write

  if asdfasdf > oiuyoiuyoiuy or asdfadsfadsf < oiuoiuyoiuyoiuy
    and not junk

and be confused by the indentation. To me this was one of the
sound decisions in Ada. The cost to the writer, extra parens.
The benefit to the writer, avoiding bugs like the above. The
benefit to the reader is clear.


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Operators -> unit analysis
  2000-01-08  0:00                       ` Robert Dewar
@ 2000-01-08  0:00                         ` Robert A Duff
  0 siblings, 0 replies; 76+ messages in thread
From: Robert A Duff @ 2000-01-08  0:00 UTC (permalink / raw)


Robert, please be careful with your quotes.  I didn't say the "Oh
dear..." -- Matt did.

- Bob

Robert Dewar <robert_dewar@my-deja.com> writes:

> In article <38764aac_2@news1.prserv.net>,
>   "Matthew Heaney" <mheaney@banet.net> wrote:
> > In article <wccln626ily.fsf@world.std.com> , Robert A Duff
> > <bobduff@world.std.com>  wrote:
> >
> > Oh dear, I'll probably get horribly flamed for saying so, but
> I disagree
> > with the Ada(83) decision to require that "and" and "or"
> operators
> > appearing within the same statement also require parenthesis.
> 
> 
> Can you really argue that depending on this makes things easier
> to read, I don't think so! And it is quite error prone. It is
> all too easy to write
> 
>   if asdfasdf > oiuyoiuyoiuy or asdfadsfadsf < oiuoiuyoiuyoiuy
>     and not junk
> 
> and be confused by the indentation. To me this was one of the
> sound decisions in Ada. The cost to the writer, extra parens.
> The benefit to the writer, avoiding bugs like the above. The
> benefit to the reader is clear.

- Bob




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

* Re: Operators -> unit analysis
  2000-01-08  0:00                     ` Robert Dewar
@ 2000-01-10  0:00                       ` Tucker Taft
  2000-01-10  0:00                         ` Florian Weimer
  0 siblings, 1 reply; 76+ messages in thread
From: Tucker Taft @ 2000-01-10  0:00 UTC (permalink / raw)


Robert Dewar wrote:
> 
> In article <38762D53.A9B2CC15@averstar.com>,
>   Tucker Taft <stt@averstar.com> wrote:
> 
> > but as soon as the meanings of the operators becomes even
> > slightly obscure or non-standard, the value to the reader
> > drops precipitously.
> 
> An idea that Jean Ichbiah and I pushed, but did not manage
> to get sufficient support for, was to have one user defined
> user operator, using the pillow symbol (also called the
> currency conversion operator), to be used to represent un-noisy
> "almost implicit" conversion operations (the kind of thing we
> use unary plus for now).

For what it's worth, I believe that is the Latin-1 symbol that got morphed
into the Euro currency symbol recently, so we were lucky to avoid
using it.  And we would still have to have decided on the precedence,
even though it was proposed only as a unary operator.  Would it have 
precedence like "+" or like "abs"?  Well of course, anything named 
"pillow" would be like ...

-Tuck
-- 
-Tucker Taft   stt@averstar.com   http://www.averstar.com/~stt/
Technical Director, Distributed IT Solutions  (www.averstar.com/tools)
AverStar (formerly Intermetrics, Inc.)   Burlington, MA  USA




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

* Operator precedence--was Re: Operators -> unit analysis
  2000-01-07  0:00                     ` Matthew Heaney
  2000-01-08  0:00                       ` Robert Dewar
@ 2000-01-10  0:00                       ` Howard W. LUDWIG
  2000-01-14  0:00                         ` Mark A Biggar
  1 sibling, 1 reply; 76+ messages in thread
From: Howard W. LUDWIG @ 2000-01-10  0:00 UTC (permalink / raw)


Matthew Heaney wrote:
> 
> In article <wccln626ily.fsf@world.std.com> , Robert A Duff
> <bobduff@world.std.com>  wrote:
> 
> > I would say: If it's not a precedence rule I learned in grade school,
> > then it shouldn't be in a programming language (whether it was put there
> > by the language designer or by some "clever" programmer).
> 
> Oh dear, I'll probably get horribly flamed for saying so, but I disagree
> with the Ada(83) decision to require that "and" and "or" operators
> appearing within the same statement also require parenthesis.

This statement shows a fundamental, yet very common, misunderstanding of 
Boolean algebra, exemplifying the value of Robert Duff's idea.  If one uses 
0 for false and 1 for true, the operation table for "and" and "or" matches 
that of "*" and "+" in 7 out of 8 slots, which digital engineers seem to 
regard as a passing grade so they can feel justified with treating "and" 
just like "*" and "or" just like "+", including implied operations and 
operator precedence without parentheses.  However, that one mismatch has 
profound impact, causing Boolean algebras to have some very different 
properties (along with some similar ones) than fields.  With any of the 
fields of rational, real, or complex numbers using standard addition and 
multiplication, one of the operations (multiplication) is distributive 
across the other (addition), but not vice versa--this is the basis for the 
justification of assigning precedence to multiplication over addition.  In 
Boolean algebras, on the other hand, each binary operation is distributive 
across the other; this, combined with other defining properties, leads to 
the vital concept of duality, which says that swapping "and"s and "or"s 
and swapping 1s and 0s has no impact on the truth (or lack thereof) of 
a statement.  Some interesting consequences result:  (1) if the statement 
"AND has precedence over OR" has any validity, then so does its dual "OR 
has precedence over AND."--a contradiction.  (2) The association of "and" 
with "*", "or" with "+", "1" with TRUE, and "0" with FALSE is a _totally 
arbitrary_ convention; duality indicates that everything would work just 
fine if the opposite would be chosen as convention.

I have yet to see a logician write an expression with both "and" and "or" 
using infix notation without writing parentheses to indicate explicitly 
which is to be done first.  (And "and" and "or" are defined as logical 
operators in Ada, not as digital electronics operators, so I would expect 
logicians to have some say about precedence, especially since they are 
very careful to be rigorous and consistent, unlike many digital folks I 
know who would rather slop something together conveniently and quickly 
without worrying about rigor and consistency--reminds me of the hacking 
mentality we commonly associate with the C world, especially the idea 
of striving to save two characters of typing.)  Also, I have yet to 
see a set theorist write an expression with both intersection and union 
operations without using parentheses to indicate explicitly which is 
to be done first.
 
> I think that, as in C, "and" should be given a higher precedence than
> "or", analogous to how "*" is given a higher precedence than "+".

I repeat my comment about C hackers saving typing two characters regardless 
of impact on readability and maintenance.  I would think very carefully 
before using C as a example for how Ada should be (although the newly 
released ISO standard has some major improvements over the 1990 version).
 
> --
> Evolution is as well documented as any phenomenon in science, as
> strongly as the earth's revolution around the sun rather than vice
> versa.
> 
> Stephen Jay Gould, Time, 23 Aug 1999

Another thing about which to dream on.

Howard W. LUDWIG




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

* Re: Operators -> unit analysis
  2000-01-10  0:00                       ` Tucker Taft
@ 2000-01-10  0:00                         ` Florian Weimer
  0 siblings, 0 replies; 76+ messages in thread
From: Florian Weimer @ 2000-01-10  0:00 UTC (permalink / raw)


Tucker Taft <stt@averstar.com> writes:

> For what it's worth, I believe that is the Latin-1 symbol that got morphed
> into the Euro currency symbol recently, so we were lucky to avoid
> using it. 

IIRC Latin-1 wasn't touched at all (at least the mapping to Unicode
wasn't changed), but Latin-15 was added.  I very much doubt that this
standard will be widely adopted because the modifications compared to
Latin-1 (Euro, addition of some French characters) are incompatible
with the most widespread Latin-1 flavor.

BTW: Do you know any use of the internation currency sign (except the
end-of-file marker in Microsoft Write)?




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

* Re: Ada
  1999-12-28  0:00   ` Ada Marin D. Condic
  1999-12-31  0:00     ` Ada Richard D Riehle
  2000-01-13  0:00     ` Ada Magnus Alexandersson
@ 2000-01-13  0:00     ` Magnus Alexandersson
  2 siblings, 0 replies; 76+ messages in thread
From: Magnus Alexandersson @ 2000-01-13  0:00 UTC (permalink / raw)


"Marin D. Condic" wrote:
 
> Definitely. I was recently at a big electronics store in San Jose and
> looked through their stacks of books relating to programming &
> languages. Hundreds of books available on C, C++, Perl, Cobol, etc. Not
> a single text on Ada, even though many good ones exist. 

My school is dropping Ada for Java since the Ada books are hiedously
expensive here in Sweden and Javabooks come by the tenfold...

Reality bites, huh?"Marin D. Condic" wrote:
> 
> Roger Racine wrote:
> > 2) Time to Market.  Ada is a readable language.  C is a writeable
> > language.  People think they are more productive using C because they
> > get to integration faster, and they might get a software system to
> > market sooner than with Ada.  Ada will allow people to find certain
> > errors more easily, but this is not perceived to be a significant
> > enough improvement, and for most commercial software, getting all the
> > bugs out is not necessary to getting a product out.
> >
> I beg to differ - sort of. In many systems Ada gets you to market sooner
> with fewer problems. Assuming skilled programmers in each case. Where
> C/C++ has an edge is in areas where you get tons of reusable libraries
> with it, such as in Visual C++. But this is just one type of system
> development. I've been playing with the CLAW GUI builder demo and found
> that it will build Ada GUI programs quite easily, so it isn't as if Ada
> *can't* do it - just that it isn't as easily marketed. If you got CLAW,
> a compiler, a bunch of utilities (Similar to MFC? Where is the ACLWG
> these days anyway?) manuals, tutorials, a book, a configuration
> management system, etc. all in one package it might compete well in the
> "Time To Market" field. All these things exist, but not as a single, one
> stop shopping, package. (Maybe a teaming effort is needed?)
> 
> > 5) Tools.  Books, compilers, development environments, are all more
> > available and cheaper for C than for Ada.  I can go into a local
> 
> Definitely. I was recently at a big electronics store in San Jose and
> looked through their stacks of books relating to programming &
> languages. Hundreds of books available on C, C++, Perl, Cobol, etc. Not
> a single text on Ada, even though many good ones exist. It is sort of a
> deadlock situation - The store doesn't want to stock something for which
> there won't be a reasonable level of sales. The potential vendors don't
> want to subsidize it because revenues are too thin to do so. The
> potential users have little interest because it isn't just sitting right
> there waiting for them to pick it up. The deadlock continues.
> 
> Now potentially, it would be possible for some of the vendors to get
> together to produce an integrated package with each supplying some part
> of the end product. A joint venture would spread the risk and might
> bring sufficient resources to bear to actually put up a shrink-wrapped
> package on a display rack on the floor of a few computer stores. Done
> right with a sufficiently narrow focus, it could succeed and make
> everyone a few bucks while making Ada a bit more prevalent. I'd
> certainly be interested in discussing it... ;-)
> 
> MDC
> --
> =============================================================
> Marin David Condic   - Quadrus Corporation -   1.800.555.3393
> 1015-116 Atlantic Boulevard, Atlantic Beach, FL 32233
> http://www.quadruscorp.com/
> m c o n d i c @ q u a d r u s c o r p . c o m
> 
> Visit my web site at:  http://www.mcondic.com/
> 
> "Capitalism without failure is like religion without sin."
>         --  Allan Meltzer, Economist
> =============================================================


-- 
///Magnus

http://www.mdtsud.chalmers.se/~md8maal




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

* Re: Ada
  1999-12-28  0:00   ` Ada Marin D. Condic
  1999-12-31  0:00     ` Ada Richard D Riehle
@ 2000-01-13  0:00     ` Magnus Alexandersson
  2000-01-14  0:00       ` Ada Tarjei T. Jensen
  2000-01-13  0:00     ` Ada Magnus Alexandersson
  2 siblings, 1 reply; 76+ messages in thread
From: Magnus Alexandersson @ 2000-01-13  0:00 UTC (permalink / raw)


"Marin D. Condic" wrote:
 
> Definitely. I was recently at a big electronics store in San Jose and
> looked through their stacks of books relating to programming &
> languages. Hundreds of books available on C, C++, Perl, Cobol, etc. Not
> a single text on Ada, even though many good ones exist. 

My school is dropping Ada for Java since the Ada books are hiedously
expensive here in Sweden and Javabooks come by the tenfold...

Reality bites, huh?

- 
///Magnus

http://www.mdtsud.chalmers.se/~md8maal




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

* Re: Operator precedence--was Re: Operators -> unit analysis
  2000-01-10  0:00                       ` Operator precedence--was " Howard W. LUDWIG
@ 2000-01-14  0:00                         ` Mark A Biggar
  0 siblings, 0 replies; 76+ messages in thread
From: Mark A Biggar @ 2000-01-14  0:00 UTC (permalink / raw)


"Howard W. LUDWIG" wrote:
> 
> I have yet to see a logician write an expression with both "and" and "or"
> using infix notation without writing parentheses to indicate explicitly
> which is to be done first. 

Then your blind.  I's say that at least a plurality of logical formula seen
in published papers are in disjunctive normal form which assumes that "and"
(expressed as concatination) takes precedence over "or" (expressed as either
"v" or "+"

--
Mark Biggar
mark.a.biggar@lmco.com




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

* Re: Ada
  2000-01-13  0:00     ` Ada Magnus Alexandersson
@ 2000-01-14  0:00       ` Tarjei T. Jensen
  2000-01-14  0:00         ` Ada Larry Kilgallen
  0 siblings, 1 reply; 76+ messages in thread
From: Tarjei T. Jensen @ 2000-01-14  0:00 UTC (permalink / raw)



Magnus Alexandersson wrote:
>My school is dropping Ada for Java since the Ada books are hiedously
>expensive here in Sweden and Javabooks come by the tenfold...


Are the students time worthless? 


Greetings,







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

* Re: Ada
  2000-01-14  0:00       ` Ada Tarjei T. Jensen
@ 2000-01-14  0:00         ` Larry Kilgallen
  2000-01-14  0:00           ` Ada Marin D. Condic
  0 siblings, 1 reply; 76+ messages in thread
From: Larry Kilgallen @ 2000-01-14  0:00 UTC (permalink / raw)


In article <85mpvr$mm42@ftp.kvaerner.com>, "Tarjei T. Jensen" <tarjei.jensen@kvaerner.com> writes:
> 
> Magnus Alexandersson wrote:
>>My school is dropping Ada for Java since the Ada books are hiedously
>>expensive here in Sweden and Javabooks come by the tenfold...
> 
> 
> Are the students time worthless? 

Perhaps even more money could be saved by changing the course to teach
them how to program Excel spreadsheets.

Larry Kilgallen




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

* Re: Ada
  2000-01-14  0:00         ` Ada Larry Kilgallen
@ 2000-01-14  0:00           ` Marin D. Condic
  2000-01-14  0:00             ` Ada Magnus Alexandersson
  0 siblings, 1 reply; 76+ messages in thread
From: Marin D. Condic @ 2000-01-14  0:00 UTC (permalink / raw)


Larry Kilgallen wrote:
> 
> In article <85mpvr$mm42@ftp.kvaerner.com>, "Tarjei T. Jensen" <tarjei.jensen@kvaerner.com> writes:
> >
> > Magnus Alexandersson wrote:
> >>My school is dropping Ada for Java since the Ada books are hiedously
> >>expensive here in Sweden and Javabooks come by the tenfold...
> >
> >
> > Are the students time worthless?
> 
> Perhaps even more money could be saved by changing the course to teach
> them how to program Excel spreadsheets.
> 
Or let's just teach them how to use Notepad because it comes free with
Windows, has on-line documentation and is so simple that the students
wouldn't need to waste time even reading it. (Tongue firmly planted in
cheek)

Seriously: From what I've seen of Ada books, they aren't hugely out of
line with respect to price from books on other computer topics. College
level texts I've seen in the last couple of years on other topics have
been even more spendy than any of the Ada books I've purchased. The
largest cost of college is tuition. Why structure college courses around
the cost of books? (Maybe they could hire less expensive instructors?)

If I were Dean of the Computer Science department, I'd be more
interested in building a curriculum that presented important concepts in
the subject rather than picking topics because of current industry fads
or the cost of texts. But that's just me.

MDC
-- 
=============================================================
Marin David Condic   - Quadrus Corporation -   1.800.555.3393
1015-116 Atlantic Boulevard, Atlantic Beach, FL 32233
http://www.quadruscorp.com/
m c o n d i c @ q u a d r u s c o r p . c o m

Visit my web site at:  http://www.mcondic.com/

"Capitalism without failure is like religion without sin." 
        --  Allan Meltzer, Economist 
=============================================================




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

* Re: Ada
  2000-01-14  0:00           ` Ada Marin D. Condic
@ 2000-01-14  0:00             ` Magnus Alexandersson
  2000-01-14  0:00               ` Ada Marin D. Condic
  0 siblings, 1 reply; 76+ messages in thread
From: Magnus Alexandersson @ 2000-01-14  0:00 UTC (permalink / raw)


"Marin D. Condic" wrote:

> Seriously: From what I've seen of Ada books, they aren't hugely out of
> line with respect to price from books on other computer topics. College
> level texts I've seen in the last couple of years on other topics have
> been even more spendy than any of the Ada books I've purchased. The
> largest cost of college is tuition. Why structure college courses around
> the cost of books? (Maybe they could hire less expensive instructors?)

Our dean says that there aren't many books out there that meets the
desired content of the
courses... Well, I believe that it's programming as a general thing to
study, not the language. On the other hand, since I learnt Ada, I've now
noticed how easy (;p) C became.
 
> If I were Dean of the Computer Science department, I'd be more
> interested in building a curriculum that presented important concepts in
> the subject rather than picking topics because of current industry fads
> or the cost of texts. But that's just me.

We are doing that now, learning the way of programming... Not just the
languagepart, se above.

-- 
///Magnus

http://www.mdtsud.chalmers.se/~md8maal




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

* Re: Ada
  2000-01-14  0:00             ` Ada Magnus Alexandersson
@ 2000-01-14  0:00               ` Marin D. Condic
  0 siblings, 0 replies; 76+ messages in thread
From: Marin D. Condic @ 2000-01-14  0:00 UTC (permalink / raw)


Magnus Alexandersson wrote:
> 
> Our dean says that there aren't many books out there that meets the
> desired content of the
> courses... Well, I believe that it's programming as a general thing to
> study, not the language. On the other hand, since I learnt Ada, I've now
> noticed how easy (;p) C became.
> 
I'm presuming that language may be an issue in the texts selected, so
that may be a limiting factor. There are a number of books available in
English at least which will address Ada itself as well as Ada in
specific application domains. You might look at the "books" section of
http://www.AdaPower.com/ for a few references.

If you've learned how to program better C code from having studied Ada,
then you have definitely learned something valuable. One reason for
studying languages like Ada is to understand concepts which may be
possible in other languages, but are not as directly supported.

MDC
-- 
=============================================================
Marin David Condic   - Quadrus Corporation -   1.800.555.3393
1015-116 Atlantic Boulevard, Atlantic Beach, FL 32233
http://www.quadruscorp.com/
m c o n d i c @ q u a d r u s c o r p . c o m

Visit my web site at:  http://www.mcondic.com/

"Capitalism without failure is like religion without sin." 
        --  Allan Meltzer, Economist 
=============================================================




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

end of thread, other threads:[~2000-01-14  0:00 UTC | newest]

Thread overview: 76+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-12-23  0:00 Ada Brijesh
1999-12-23  0:00 ` Ada Jon Jensen
1999-12-23  0:00 ` Ada Roger Racine
1999-12-28  0:00   ` Ada Marin D. Condic
1999-12-31  0:00     ` Ada Richard D Riehle
2000-01-02  0:00       ` Ada Marin D. Condic
2000-01-02  0:00         ` Ada Robert Dewar
2000-01-02  0:00           ` Ada Marin D. Condic
2000-01-03  0:00             ` Ada Ted Dennison
2000-01-03  0:00             ` Ada Robert Dewar
2000-01-03  0:00               ` Ada Marin D. Condic
2000-01-03  0:00                 ` Ada Roger Racine
2000-01-03  0:00                 ` Ada Larry Kilgallen
2000-01-04  0:00                   ` Ada Charles Hixson
2000-01-13  0:00     ` Ada Magnus Alexandersson
2000-01-14  0:00       ` Ada Tarjei T. Jensen
2000-01-14  0:00         ` Ada Larry Kilgallen
2000-01-14  0:00           ` Ada Marin D. Condic
2000-01-14  0:00             ` Ada Magnus Alexandersson
2000-01-14  0:00               ` Ada Marin D. Condic
2000-01-13  0:00     ` Ada Magnus Alexandersson
1999-12-23  0:00 ` Ada Robert Dewar
1999-12-23  0:00   ` Ada tmoran
1999-12-23  0:00 ` Ada Greg Martin
1999-12-23  0:00 ` Ada reason67
1999-12-23  0:00   ` Ada Robert Dewar
2000-01-03  0:00     ` Ada Terry Sikes
2000-01-03  0:00       ` Ada Hyman Rosen
2000-01-04  0:00         ` Ada Florian Weimer
2000-01-04  0:00           ` Ada Hyman Rosen
2000-01-04  0:00           ` Ada Brian Rogoff
2000-01-04  0:00         ` Ada Robert Dewar
2000-01-04  0:00           ` Ada Robert A Duff
2000-01-04  0:00             ` Ada Hyman Rosen
2000-01-04  0:00           ` Ada Hyman Rosen
2000-01-04  0:00         ` Ada Richard D Riehle
2000-01-04  0:00           ` Ada Hyman Rosen
2000-01-04  0:00             ` Ada Richard D Riehle
2000-01-04  0:00             ` Ada Robert A Duff
2000-01-04  0:00         ` Ada Terry Sikes
2000-01-05  0:00           ` Operators -> unit analysis Charles Hixson
2000-01-05  0:00             ` Pat Rogers
2000-01-05  0:00               ` Charles Hixson
2000-01-05  0:00             ` Ted Dennison
2000-01-06  0:00               ` Charles Hixson
2000-01-06  0:00               ` Samuel T. Harris
2000-01-07  0:00                 ` Robert Dewar
2000-01-07  0:00                   ` Robert A Duff
2000-01-07  0:00                     ` Matthew Heaney
2000-01-08  0:00                       ` Robert Dewar
2000-01-08  0:00                         ` Robert A Duff
2000-01-10  0:00                       ` Operator precedence--was " Howard W. LUDWIG
2000-01-14  0:00                         ` Mark A Biggar
2000-01-07  0:00                   ` Ted Dennison
2000-01-07  0:00                     ` Brian Rogoff
2000-01-05  0:00             ` Matthew Heaney
2000-01-05  0:00               ` Charles Hixson
2000-01-05  0:00             ` Hyman Rosen
2000-01-05  0:00               ` Matthew Heaney
2000-01-06  0:00             ` Robert Dewar
2000-01-06  0:00               ` Terry Sikes
2000-01-06  0:00                 ` Robert A Duff
2000-01-07  0:00                   ` Terry Sikes
2000-01-07  0:00                     ` Brian Rogoff
2000-01-07  0:00                 ` Ted Dennison
2000-01-07  0:00                   ` Tucker Taft
2000-01-08  0:00                     ` Robert Dewar
2000-01-10  0:00                       ` Tucker Taft
2000-01-10  0:00                         ` Florian Weimer
2000-01-04  0:00       ` Ada Robert Dewar
2000-01-04  0:00         ` Ada Terry Sikes
2000-01-05  0:00           ` Ada Robert Dewar
2000-01-05  0:00             ` Ada Terry Sikes
2000-01-06  0:00           ` Ada Al Christians
2000-01-06  0:00             ` Ada Terry Sikes
2000-01-07  0:00             ` Ada Robert Dewar

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