From: val@news.ccutah.edu (Val Kartchner)
Subject: Re: Ada's (in)visibility in the engineering community
Organization: University of Utah Computer Center
X-Newsreader: Tin 1.1 PL3
Date: Mon, 5 Oct 92 19:50:15 GMT

sakkinen@jyu.fi (Markku Sakkinen) writes:
: In article <1992Sep25.210409.23219@fcom.cc.utah.edu> val@news.ccutah.edu (Val Kartchner) writes:
: > ...
: >A major superiority claim can be made on behalf of C's real-time ability over
: >Ada's real-time ability in that families of commerically viable (meaning
: >actually FAST) operating systems have been written using C.  While it may be
: > ...
: 
: Please, tell us even _one_ real-time feature of C !

Since there is no comp.lang.advocacy group.  (There should be.)  Since this
subject (leaking the story about an operating system having been written in
Ada) was brought up in this group, which prompted my reply.  And since the
question was asked (or more correctly, demanded).  Here is my reply:

To answer this question, we must first understand what is meant by "real-time"
as used in the English language.  (The schwa (upside-down 'e') is represented
by '@', macron (overline for pronounciation) is represented as an '_' before
the letter, and the centered dot is represented by '*'.)

"The American Heritage Dictionary of the English Language -- 3rd Edition",
1992 (hyphenated versus non hyphenated):

	re*al time (r_e'@l, r_el) n. Computer Science.  1. The actual time
	in which a physical process under computer study or control occurs.
	2. The time required for a computer to solve a problem, measured
	from the time data are fed in to the time a solution is received.

	re*al-time (r_e'@l-t_im', r_el'-) adj. Computer Science.  Of or
	relating to computer systems that update information at the same
	rate as they receive data, enabling them to direct or control
	a process such as an automatic pilot.

"Webster's II Riverside University Dictionary", 1984:

	real-time n. Computer Sci. 1. The actual time in which a physical
	process under computer study or control occurs.  2. The time
	required for a computer to solve a problem, measured from the time
	data are fed in to the time a solution is received.

"Collins English Dictionary", 1985 (A British English dictionary):

	re*al-time adj. denoting or relating to a data-processing system
	in which a computer is on-line to a source of data and processes
	the data as it is generated.

Note: none of the above definitions specifies any requirements for "real-time".
However, they all heavily imply that speed is VERY important in "real-time".
In "Ada Versus C++: A Business Case Analysis" (this should be an acceptably
biased souce of information for this group), says that C and C++ both
score higher (are faster) in run-time speed.

However, contrary to common English usage, the same report says that Ada has
a better real-time score.  This apparent contradiction can most easily be
resolved by concluding that Ada has a definition for "real-time" which differs
from common English usage.

sakkinen@jyu.fi (Markku Sakkinen) writes:
: Please, tell us even _one_ real-time feature of C !
Please, first explain these three things to me:

   1 - What is the definition of "real-time" which Ada uses?

   2 - Why does Ada consider it necessary to redefine "real-time"?

   3 - How does this reason differ from the reason that Apple and IBM have
       for redefining "multimedia" to fit what their products do?

   4 - In light of the English definitions of "real-time", name _one_
       real-time feature of Ada not present in C.

Now that that has been addressed, my original point is that C and (by
inheritance) C++ are commercial real-time successes.  If you doubt this
statement, then tell me, why are you not reading this message on a computer
whose operating system was written in Ada.  While I am not a great fan of
U*X itself, you are more likely than not, reading this message on a U*X
system.

Also, more likely than not, you are reading this message because it was
delivered to you by some networking protocol that was written in C.  You
may even be reading it on an X-windows terminal (whose protocol was
written in C) or some terminal emulation program (also most likely written
in C).

Also, especially if you are on a U*X system, that reply that you are now
contemplating composing will be edited with an editor that was most likely
written in C.

We can all point to instances of inferior products being commercial successes
and superior products dying.  (The Beta videotape format was superior in
picture quality, but it didn't come in convenient recording lengths that the
consumer wanted.)  While commercial success does not always follow technical
superiority, there is a high degree of correlation.  But remember, commercial
success does follow the principle on which the United States of America was
founded on: freedom of choice.

				-=:[ VAL ]:=-
--
|===== The previous was my opinion -- val@csulx.weber.edu =====///============|
| "AMIGA: The computer for the creative mind." (tm) Commodore /// Weber State |
| "Macintosh: The computer for the rest of us."(tm) Apple \\\///  University  |
|============== "I think, therefore I AMiga." =============\///=== Ogden, UT =| 
Xref: sparky comp.lang.ada:2834 comp.emacs:3231 gnu.emacs.help:4305