ncurses / terminfo key mapping on QNX console

Mitchell Schoenbrun wrote:

Previously, Mario Charest wrote in comp.os.qnx:

The only way is via TCP/IP (socket library), FLEET and QNET are
incompatible.

Mario, pls don’t confuse our poor newbies even more.
QNET is a generic term for the QNX Network. This
term was used with QNX2 and QNX4 although their
protocols are not compatible. Likewise, Neutrino’s
protocol is not compatible, and as far as I know,
it is known as QNET.

FLEET used interchangably sometimes refers to the Fast
Load-Balancing ??? technology that was first implemented
over QNET. Basically you can have more than one hardware
network, and FLEET moves data as effectively as possible
over it. It is implemented under QNX4 and presumably
Neutrino. Here is my diagram:

QNET --------------------------> QNX2 }
QNET ------->FLEET ------------> QNX4 } All incompatible
QNET ------->FLEET ------------> Neutrino }

Thanks. Then I’ll quit trying and move on to other fun things (i.e.
porting code to Neutrino! :slight_smile:

Bests…

Miguel.


Am I wrong on any of this?

Mitchell Schoenbrun --------- > maschoen@pobox.com

And how do I get the node system under QNXRtP to work.

Currently under QNX4,
we got a server for the home directory stored in //4/home/
that every node access using a simple link ( ln -s //4/home/ /home )
and it works fine, many other directory like that
use the same principle.

Is there a way to get that kind of network under RtP,
at least between all RtP nodes, for instance,
if I install RtP on all nodes instead of QNX4.2x

Fred.

Mario Charest wrote in message <8s5i1p$4l8$1@inn.qnx.com>…

“Mitchell Schoenbrun” <> maschoen@pobox.com> > wrote in message
news:> Voyager.001012134026.18552A@schoenbrun.com> …
Previously, Mario Charest wrote in comp.os.qnx:

The only way is via TCP/IP (socket library), FLEET and QNET are
incompatible.

Mario, pls don’t confuse our poor newbies even more.
QNET is a generic term for the QNX Network. This
term was used with QNX2 and QNX4 although their
protocols are not compatible. Likewise, Neutrino’s
protocol is not compatible, and as far as I know,
it is known as QNET.

FLEET used interchangably sometimes refers to the Fast
Load-Balancing ??? technology that was first implemented
over QNET. Basically you can have more than one hardware
network, and FLEET moves data as effectively as possible
over it. It is implemented under QNX4 and presumably
Neutrino. Here is my diagram:


QNET --------------------------> QNX2 }
QNET ------->FLEET ------------> QNX4 } All incompatible
QNET ------->FLEET ------------> Neutrino }


Am I wrong on any of this?

That make sense to me, however under NTO I think they
call FLEET (as a load balancing) with another name.

Mitchell Schoenbrun --------- > maschoen@pobox.com

\

Fred <fprog@users.sourceforge.net> wrote:

And how do I get the node system under QNXRtP to work.

Currently under QNX4,
we got a server for the home directory stored in //4/home/
that every node access using a simple link ( ln -s //4/home/ /home )
and it works fine, many other directory like that
use the same principle.

Is there a way to get that kind of network under RtP,
at least between all RtP nodes, for instance,
if I install RtP on all nodes instead of QNX4.2x

in house, we have a mechanism that allows RtP machines access
to our entire QNX4 network’s file systems (not process for IPC,
just data files…) via a single NFS mount.

basically, on a QNX4 NFS server we run a process called ‘netroot’.
this manager keeps track of all up nodes (very loosely) and creates
a virtual directory for each. by default, it creates /netroot namespace.
doing an ‘ls /netroot’ will list all up nodes, each as a directory.
open requests are routed to the correct node just like a symbolic link.
ie. ls /netroot/244/hd1 is like: ls //244/hd1

on the RtP side, we use fs-nfs2 to mount the server’s /netroot as /.
this allows the familiar ‘ls //244/hd1’ because it turns into /244/hd1
and is accessed via NFS. in fact, cross node absolute path symbolic links
work as expected!


instead of using a dynamic manager, a plain directory with a bunch of symlinks
would work as well.
eg.
(QNX4 NFS server side)
mkdir /netroot
cd /netroot
ln -s //1/ 1
ln -s //2/ 2



performance isn’t the greatest as there is usually a double network access.
NFS to the server, FLEET between the server and the remote QNX4 node.
but it does allow RtP to access all the QNX4 nodes filesystems, is suitable
for fetching souce code, and is more convenient than using ftp.

YMMV

Hi All,

if a simplified IPC between QNX4 and QNX RTP is requested … go with the Simple
Socket Library → http://users.erols.com/astronaut/ssl/ (NASA)

The port to QNX RTP and QNX4 is just a recompile …

Armin


In article <8s7qqn$gd$1@nntp.qnx.com>, Mike says…

Fred <> fprog@users.sourceforge.net> > wrote:
And how do I get the node system under QNXRtP to work.

Currently under QNX4,
we got a server for the home directory stored in //4/home/
that every node access using a simple link ( ln -s //4/home/ /home )
and it works fine, many other directory like that
use the same principle.

Is there a way to get that kind of network under RtP,
at least between all RtP nodes, for instance,
if I install RtP on all nodes instead of QNX4.2x


in house, we have a mechanism that allows RtP machines access
to our entire QNX4 network’s file systems (not process for IPC,
just data files…) via a single NFS mount.

basically, on a QNX4 NFS server we run a process called ‘netroot’.
this manager keeps track of all up nodes (very loosely) and creates
a virtual directory for each. by default, it creates /netroot namespace.
doing an ‘ls /netroot’ will list all up nodes, each as a directory.
open requests are routed to the correct node just like a symbolic link.
ie. ls /netroot/244/hd1 is like: ls //244/hd1

on the RtP side, we use fs-nfs2 to mount the server’s /netroot as /.
this allows the familiar ‘ls //244/hd1’ because it turns into /244/hd1
and is accessed via NFS. in fact, cross node absolute path symbolic links
work as expected!


instead of using a dynamic manager, a plain directory with a bunch of symlinks
would work as well.
eg.
(QNX4 NFS server side)
mkdir /netroot
cd /netroot
ln -s //1/ 1
ln -s //2/ 2



performance isn’t the greatest as there is usually a double network access.
NFS to the server, FLEET between the server and the remote QNX4 node.
but it does allow RtP to access all the QNX4 nodes filesystems, is suitable
for fetching souce code, and is more convenient than using ftp.

YMMV

And how do I get the node system under QNXRtP to work.

Currently under QNX4,
we got a server for the home directory stored in //4/home/
that every node access using a simple link ( ln -s //4/home/ /home )
and it works fine, many other directory like that
use the same principle.

Is there a way to get that kind of network under RtP,
at least between all RtP nodes, for instance,
if I install RtP on all nodes instead of QNX4.2x


in house, we have a mechanism that allows RtP machines access
to our entire QNX4 network’s file systems (not process for IPC,
just data files…) via a single NFS mount.

basically, on a QNX4 NFS server we run a process called ‘netroot’.
this manager keeps track of all up nodes (very loosely) and creates
a virtual directory for each. by default, it creates /netroot namespace.
doing an ‘ls /netroot’ will list all up nodes, each as a directory.
open requests are routed to the correct node just like a symbolic link.
ie. ls /netroot/244/hd1 is like: ls //244/hd1

on the RtP side, we use fs-nfs2 to mount the server’s /netroot as /.
this allows the familiar ‘ls //244/hd1’ because it turns into /244/hd1
and is accessed via NFS. in fact, cross node absolute path symbolic links
work as expected!


instead of using a dynamic manager, a plain directory with a bunch of
symlinks
would work as well.
eg.
(QNX4 NFS server side)
mkdir /netroot
cd /netroot
ln -s //1/ 1
ln -s //2/ 2



performance isn’t the greatest as there is usually a double network access.
NFS to the server, FLEET between the server and the remote QNX4 node.
but it does allow RtP to access all the QNX4 nodes filesystems, is suitable
for fetching souce code, and is more convenient than using ftp.

YMMV

Your solution is quite interesting, I’m not very familiar with how to setup
an NFS server,
common on Unix/Linux servers.

The main idea, with the common /home directory, is that anyone on any node
can access their home dir and there is only one machine to backup, quite
handy.

What do I have to do on the QNX RtP side ?

We also need to access process, one way was to have a /dev/board driver,
that everyone read from.

So, people could access from node 3

fd1 = open( " //2/dev/ser1 ", … );
fd2 = open( " //2/dev/board ", … );

Will that be possible with NFS ?

In a way or another !?

Node 2 is the Arcom ELAN-104 board.

I didn’t install RtP on it yet, I have to solve the problem
with the workstation before we can think of installing RtP on a 486 !

Fred.

In article <V_hB5.59429$dZ2.20181071@news3.rdc1.on.home.com>,
“James Boucher” <jaboucher@home.com> wrote:

I know this is a bit of flamebait, but as an ADA programmer
from the old school… I love ADA, but it is DEAD. DEAD.
DEAD.

Well I won’t comment specifically on this piece of nonsense,
but I do have a general comment, applicable to Ada folks
as well, that it is remarkable how people are ready to assume
that a technology is dead just because they don’t use it
any more.

All the time I meet people

o who think Pascal is not used for serious industrial
projects any more (or perhaps never was).

o who think that OS/2 is no longer in use

Make me laugh !! Lol
Our “up to date” multi trunk corprate NEC 3500 is controlled by OS/2 !!
Keeps all 2500 phones in the biulding up and running, solid as a rock.

I am amazed at how people have only replied to the first
“eye catching line”. The rest of this post was my explanation
of the greatness and potential of ADA and why I
was so sad when I and several other who were in
charge of promoting/enforcing the Canadian ADA policy
were forced to abandon our efforts. I noted that
they pulled this post and left people only to
read the first line which was meant as a joke to
open my disertation on my love for ADA. By the
way, who pulled the post?
Jim
“ahummmm” <nope@nope.na> wrote in message
news:8FCDFD7EEnopenopena@63.209.170.206

In article <V_hB5.59429$> dZ2.20181071@news3.rdc1.on.home.com> >,
“James Boucher” <> jaboucher@home.com> > wrote:
I know this is a bit of flamebait, but as an ADA programmer
from the old school… I love ADA, but it is DEAD. DEAD.
DEAD.


Well I won’t comment specifically on this piece of nonsense,
but I do have a general comment, applicable to Ada folks
as well, that it is remarkable how people are ready to assume
that a technology is dead just because they don’t use it
any more.

All the time I meet people

o who think Pascal is not used for serious industrial
projects any more (or perhaps never was).

o who think that OS/2 is no longer in use

Make me laugh !! Lol
Our “up to date” multi trunk corprate NEC 3500 is controlled by OS/2 !!
Keeps all 2500 phones in the biulding up and running, solid as a rock.

In article <sXeG5.8390$N%1.4346661@news3.rdc1.on.home.com>,
James Boucher <jaboucher@home.com> wrote:

I am amazed at how people have only replied to the first
“eye catching line”. The rest of this post was my explanation
of the greatness and potential of ADA and why I
was so sad when I and several other who were in
charge of promoting/enforcing the Canadian ADA policy
were forced to abandon our efforts. I noted that
they pulled this post and left people only to
read the first line which was meant as a joke to
open my disertation on my love for ADA. By the
way, who pulled the post?
Jim

My understanding is that Java has given new life to Ada code. That
is there is an Ada to Java `compiler’ which takes Ada code and
turns it into Java class files.

http://www.math.fsu.edu/~bellenot
bellenot math.fsu.edu
+1.850.644.7189 (4053fax)

ahummmm wrote:

In article <V_hB5.59429$> dZ2.20181071@news3.rdc1.on.home.com> >,
“James Boucher” <> jaboucher@home.com> > wrote:
I know this is a bit of flamebait, but as an ADA programmer
from the old school… I love ADA, but it is DEAD. DEAD.
DEAD.

From time to time I hear somone say that COBOL is dead. Yet I spent three
hours today preparing a briefing on COBOL for someone who will present
it to a large corporation’s programming staff beginning Monday of this
week.

If a programming language dies in the middle of a forest, will anyone
hear it? If someone says a programming language is dead often
enough, will it become a self-fulfilling prophecy? Does the word
“dead” when used to describe the state of a programming language,
preclude the later use of the word, “resurrected” or perhaps, for
those of you with a more mystical bent, “reincarnated?” Whatever
you may think, an idea does not disappear so easily from the world
and as long as there are advocates of that idea, it can find its way
back into popularity.

I wonder if the authormeans Ada is obsolete. If so, his amorous
proclamation may be like that of a long-married spouse slipping over
the brink of a forties crisis. Those who know Ada realize that it
is far from obsolete. Those who do not make such pronouncements
out of ignorance.

Some of the alternatives to Ada are more popular. Some misguided
managers have mistaken popularity for quality and several DoD
contractors have made the error of forsaking Ada in favor of inferior
technologies such as C++. Does this mean Ada is dead in those
organizations? Not really.

As people seek to abandon Ada in favor of the glitzy languages so
popular in Dr. Dobbs discover how dreadful those languages are, they
reconsider the benefits of Ada. C++, for example, turns out to be just
another pretty face. Even as early as the wedding night, scrubbed of its
makeup, shed of its adornments, the C++ honeymoon can quite suddenly
be over. Sadly, we continue to see some make decisions for form over
substance.

But “Ada is DEAD?” Hardly. It appears that a prodigality of resources
dedicated to opposing technologies was important so those deluded souls
could understand the importance of what they had in the first place.
Now they need to get over buyer’s remorse and get back to the solid
capabilities available in Ada.

So, you might want to rethink you use of the adjective, “DEAD.” Then
again,
one could consider the admonition of the poet, John Donne, in "Death Be Not

Proud."

Richard Riehle

Lao Xiao Hai wrote:

Some of the alternatives to Ada are more popular. Some misguided
managers have mistaken popularity for quality and several DoD
contractors have made the error of forsaking Ada in favor of inferior
technologies such as C++. Does this mean Ada is dead in those
organizations? Not really.

As people seek to abandon Ada in favor of the glitzy languages so
popular in Dr. Dobbs discover how dreadful those languages are, they
reconsider the benefits of Ada. C++, for example, turns out to be just
another pretty face. Even as early as the wedding night, scrubbed of its
makeup, shed of its adornments, the C++ honeymoon can quite suddenly
be over. Sadly, we continue to see some make decisions for form over
substance.

To contuinue the analogy, it sounds pretty much like a rant of a left
woman about how foolish her guy was to marry another woman, because her
breasts are fake and most of her face is a surgeons’s talent. Those
rants never bring the guy back, because if he’s left then it was for a
good reason. He probably did not like her enough with all her real good
amenities.

But “Ada is DEAD?” Hardly. It appears that a prodigality of resources
dedicated to opposing technologies was important so those deluded souls
could understand the importance of what they had in the first place.
Now they need to get over buyer’s remorse and get back to the solid
capabilities available in Ada.

Oh, yeah. I bought Ada book some years ago. So many capabilities. Couple
hundred pages worth of docs printed in small-font. If someone manages to
a) write a good compiler for that (portable and with runtime-efficient
code) and b) somehow teach programmers to understand the whole damn
thing, then yes it might resurrect. Even then, I have doubts personally.
Ada is way too high and abstract to be good for system level programming
(even C++ is too high). And yet it is not as portable and distributable
as Java to be good for new-age applications. Plus, it smells too much
like Pascal and that turns me down immediately. Of course, those are
just my humble personal opinions, I know that others will disagree and I
don’t say that those opinions are absolute right.

In any case I don’t think that pissing into C++ pool will do any good
for Ada. At best it might just serve you as a good way to kill time
until a) and b) is done.

  • Igor

Igor Kovalenko:

Oh, yeah. I bought Ada book some years ago. So many capabilities. Couple
hundred pages worth of docs printed in small-font. If someone manages to
a) write a good compiler for that (portable and with runtime-efficient
code)

Ok, this is done: GNAT.

and b) somehow teach programmers to understand the whole damn
thing, then yes it might resurrect. Even then, I have doubts personally.
Ada is way too high and abstract to be good for system level programming
(even C++ is too high).

If you can do high and abstract things, it doesn’t mean that you can’t
do system level programming. Ada provides it, and it is easy.
Maybe you make a confusion with Pascal which doesn’t provide it by default.

And yet it is not as portable and distributable
as Java to be good for new-age applications. Plus, it smells too much
like Pascal and that turns me down immediately.

It’s a personal taste - nothing to discuss. However C (and decendents)
and Pascal share some archaisms, like the lack of true modularity or
obligation of enclosing every group of more than 1 instruction by
‘{’,‘}’ (resp. “begin”,“end” in Pascal).

Of course, those are
just my humble personal opinions, I know that others will disagree and I
don’t say that those opinions are absolute right.

In any case I don’t think that pissing into C++ pool will do any good
for Ada. At best it might just serve you as a good way to kill time
until a) and b) is done.

Maybe your conditions are more advanced than you think -
and yes, it is a very good way to kill time!


Gautier – http://members.nbci.com/gdemont/gsoft.htm

“Igor Kovalenko” <kovalenko@home.com> wrote in message
news:39EA9161.6469DDE2@home.com

[snip]

Oh, yeah. I bought Ada book some years ago. So many capabilities. Couple
hundred pages worth of docs printed in small-font.

An odd metric… My copy of “Standard C” by Plauger and Brodie is 207 pages
of fairly small font.

If someone manages to
a) write a good compiler for that (portable and with runtime-efficient
code)

GNAT appears to be fairly portable (at least, it’s available on a number of
hosts). Without knowing what the precise definition of “efficient” is in
this context, I can’t say if there’s a compiler that meets your needs in
that respect. It’s certainly been used in hard real-time embedded
environments, which is a pretty good operational definition of “efficient”.

and b) somehow teach programmers to understand the whole damn
thing, then yes it might resurrect.

I haven’t seen any problems in this area in my organization.

Even then, I have doubts personally.
Ada is way too high and abstract to be good for system level programming
(even C++ is too high).

I’m trying to think of a low-level construct available in C, but not Ada,
that would be used for system level programming, and I’m drawing a blank.
Bit-level operations? Pointer manipulation? Interrupt management? I’ve done
all those in Ada without any difficulty.

And yet it is not as portable and distributable
as Java to be good for new-age applications.

Since Ada can run on the JVM, how could it be less portable or
distributable?

Plus, it smells too much
like Pascal and that turns me down immediately.

Now I think you’re on to something. Too many programmers have the “secret
handshake” syndrome: They want to use languages that are inscrutable to the
unwashed non-programmer.

Of course, those are
just my humble personal opinions, I know that others will disagree and I
don’t say that those opinions are absolute right.

In any case I don’t think that pissing into C++ pool will do any good
for Ada. At best it might just serve you as a good way to kill time
until a) and b) is done.

“a) and b)” are not the problem. Ada’s troubles are not technology related.
Ada’s troubles come from poor marketing earlier in its history – too many
vendors making too many mistakes. The worst performers are gone now, but
they left behind bitter feelings in a lot of potential users.

Igor Kovalenko wrote:

Oh, yeah. I bought Ada book some years ago. So many capabilities. Couple
hundred pages worth of docs printed in small-font. If someone manages to
a) write a good compiler for that (portable and with runtime-efficient
code) and b) somehow teach programmers to understand the whole damn
thing, then yes it might resurrect. Even then, I have doubts personally.

A) There are good quality compilers for Ada for lots of platforms.
B) Nobody needs to know “the whole damn thing” in order to do useful work with
it. (I doubt anybody knows all of C, Cobol, Java, Lisp, etc. since you
seldom need all of a language to get a job done.)

Ada is way too high and abstract to be good for system level programming
(even C++ is too high). And yet it is not as portable and distributable

I’ve heard this old saw so often I just want to cry. Would you accept as
“system level programming” a jet engine control system functioning in a
hard-realtime setting where there is no OS except for that which you write
yourself? As in “I’m programming down at the bare metal, building my own
interrupt handlers, low-level device I/O, etc.”? Chances are, you’ve flown in
a jet with such an engine control. Yes, it’s really been done a number of
times. There are a lot more examples, but these I can testify to in court
since I developed them. Can we please never again hear that “Ada is no good
for systems programming”?

as Java to be good for new-age applications. Plus, it smells too much
like Pascal and that turns me down immediately. Of course, those are
just my humble personal opinions, I know that others will disagree and I
don’t say that those opinions are absolute right.

You’re never wrong about what you “like” or “prefer”. You don’t have to like
Ada. I don’t have to like C. However, I’ll concede that C has its place in the
world an often has either technical or business merits that make it the right
choice for some applications. I would like people to look at Ada in a serious
technical way with an eye toward trying to recognize its strengths & an honest
effort to look for where it would be useful. All too often, people begin their
inspection of Ada with an attitude of: “I hate Ada. Now let me learn enough
about it to find or invent reasons why hating Ada is the right answer.” This
is a very human action. We all do it from time to time. But like many human
actions, it is not terribly useful or constructive.

In any case I don’t think that pissing into C++ pool will do any good
for Ada. At best it might just serve you as a good way to kill time
until a) and b) is done.

A and B are done. See http://www.Adapower.com/ for sources for good quality
compilers and a bibliography of good books for learning Ada. (Either all of
it or just the parts you need to do your job.) I personally like Bard
Crawford’s book (see: www.LearnAda.com.) as a “quick” introduction to the
language for those who need to get familiar with the basic features of the
language without becoming a language lawyer. See also:
http://www.seas.gwu.edu/~mfeldman/ada95books.html#1 for more books about Ada.

MDC

======================================================================
Marin David Condic - Quadrus Corporation - http://www.quadruscorp.com/
Send Replies To: 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/

“Giving money and power to Government is like giving whiskey
and car keys to teenage boys.”

– P. J. O’Rourke

Summarizing what you and others replied, it looks like everything is
cool with Ada. Just wondering why it is not yet really resurrected and
blooming and shining in all its glory.

Perhaps my personal doubts aren’t that personal, huh? Nobody appears to
write an OS in Ada, being so good for system level work. And by the way,
many people say that GCC does not generate good code for C, so I’m kinda
curious how does GNAT manage to generate good code for such a more
complex language as Ada. Aside from code generation itself, how do they
manage to implement things like rendesvous in an efficient AND portable
way? Such things normally belong to system-dependent runtime libraries,
but in Ada they are part of language and having no proof I nevertheless
suspect that they are implemented by trading efficiency for portability.

It could be that I simply don’t know enough and miss something. Would be
glad to be enlightened :slight_smile:

  • igor

Marin David Condic wrote:

Igor Kovalenko wrote:

Oh, yeah. I bought Ada book some years ago. So many capabilities. Couple
hundred pages worth of docs printed in small-font. If someone manages to
a) write a good compiler for that (portable and with runtime-efficient
code) and b) somehow teach programmers to understand the whole damn
thing, then yes it might resurrect. Even then, I have doubts personally.

A) There are good quality compilers for Ada for lots of platforms.
B) Nobody needs to know “the whole damn thing” in order to do useful work with
it. (I doubt anybody knows all of C, Cobol, Java, Lisp, etc. since you
seldom need all of a language to get a job done.)


Ada is way too high and abstract to be good for system level programming
(even C++ is too high). And yet it is not as portable and distributable

I’ve heard this old saw so often I just want to cry. Would you accept as
“system level programming” a jet engine control system functioning in a
hard-realtime setting where there is no OS except for that which you write
yourself? As in “I’m programming down at the bare metal, building my own
interrupt handlers, low-level device I/O, etc.”? Chances are, you’ve flown in
a jet with such an engine control. Yes, it’s really been done a number of
times. There are a lot more examples, but these I can testify to in court
since I developed them. Can we please never again hear that “Ada is no good
for systems programming”?


as Java to be good for new-age applications. Plus, it smells too much
like Pascal and that turns me down immediately. Of course, those are
just my humble personal opinions, I know that others will disagree and I
don’t say that those opinions are absolute right.


You’re never wrong about what you “like” or “prefer”. You don’t have to like
Ada. I don’t have to like C. However, I’ll concede that C has its place in the
world an often has either technical or business merits that make it the right
choice for some applications. I would like people to look at Ada in a serious
technical way with an eye toward trying to recognize its strengths & an honest
effort to look for where it would be useful. All too often, people begin their
inspection of Ada with an attitude of: “I hate Ada. Now let me learn enough
about it to find or invent reasons why hating Ada is the right answer.” This
is a very human action. We all do it from time to time. But like many human
actions, it is not terribly useful or constructive.


In any case I don’t think that pissing into C++ pool will do any good
for Ada. At best it might just serve you as a good way to kill time
until a) and b) is done.


A and B are done. See > http://www.Adapower.com/ > for sources for good quality
compilers and a bibliography of good books for learning Ada. (Either all of
it or just the parts you need to do your job.) I personally like Bard
Crawford’s book (see: > www.LearnAda.com> .) as a “quick” introduction to the
language for those who need to get familiar with the basic features of the
language without becoming a language lawyer. See also:
http://www.seas.gwu.edu/~mfeldman/ada95books.html#1 > for more books about Ada.

MDC

======================================================================
Marin David Condic - Quadrus Corporation - > http://www.quadruscorp.com/
Send Replies To: 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/

“Giving money and power to Government is like giving whiskey
and car keys to teenage boys.”

– P. J. O’Rourke

In article <39EA9161.6469DDE2@home.com>,
Igor Kovalenko <kovalenko@home.com> wrote:

Oh, yeah. I bought Ada book some years ago. So many capabilities.
Couple
hundred pages worth of docs printed in small-font.

You bought -a- book!? You don’t state that you’ve used Ada, or even
that you know it, but only that you bought -a- book. And some years
ago at that – maybe it didn’t even cover the current standard (Ada 95
vs. Ada 83).

If someone manages to
a) write a good compiler for that (portable and with runtime-efficient
code)

What evidence do you have that there are no good compilers? BTW,
compilers aren’t portable. Ada the language, OTOH, allows one to write
very portable code. And there are compiler implementations that
produce runtime code at least as efficient as equivalent C runtime code.

…and b) somehow teach programmers to understand the whole damn
thing,

Since when does one need to know “the whole damn thing” to use any
programming language or other complex tool?

Ada is way too high and abstract to be good for system level
programming

What low-level system-programming functionality is missing in Ada? In
fact Ada has more low-level functionality than C or C++. It was, after
all, originally designed for -embedded- applications.

Mike


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

In article <39EB283A.9F7B4F76@motorola.com>,
Igor Kovalenko <Igor.Kovalenko@motorola.com> wrote:

Summarizing what you and others replied, it looks like
everything is
cool with Ada. Just wondering why it is not yet really
resurrected and
blooming and shining in all its glory.

perhaps because mere technical superiority is not enough.
Remember that the really successful programming languages
in terms of usage (COBOL, Visual Basic, and I guess even
Excel Macro language should count) do not succeed solely
because of technical excellence, but because of historical
factors.

After all Fortran succeeded over Algol-60, and for SURE
that was not a matter of superiority of language. I also
note that Windows-9X succeeded over OS/2, which is even
more surprising.

Technical folks always suppose that technical excellence
is enough to succeed in the market place. I would have
thought that the dominance of Microsoft in the operating
system arena (even in the MS DOS days!) would have perhaps
reminded people that this is not the case, but …

Perhaps my personal doubts aren’t that personal, huh?

and perhaps they most certainly are, a lot of decisions are
made on the basis of uninformed personal prejudice of the
kind you exhibited.

Nobody appears to write an OS in Ada, being so good for
system level work.

Actually Ada would be an excellent technical choice for writing
an operating system, the reason that the current operating
systems are written in some other language is mostly historical.

And by the way, many people say that GCC does not generate
good code for C

Well many people say all sorts of unsupported things (you
demonstrate this principle in your post), but that does not
mean much. How does gcc compare with other compilers? Well
it varies from target to target, it is also pretty hard to
judge in some cases, since many proprietary compilers have
been specialized carefully to the SPEC suite, and this has
not been done for GCC. So you need to be careful what you
are comparing.

Even if you do use the SPEC suite to compare, gcc often does
quite well in the comparison. There are certainly cases where
gcc does better than other compilers, and there are cases
where it does worse, and of course things are a moving target
because gcc is constantly being worked on, and more and more
major development depends on gcc (many large scale C users,
e.g. AOL, at this stage have standardized on the use of gcc,
and large system houses like HP and Sun are definitely paying
attention to gcc performance).

So I’m kinda
curious how does GNAT manage to generate good code for such a
more
complex language as Ada.

It would be easy to satisfy your curiosity, the compiler and
sources are out there.


Aside from code generation itself, how do they
manage to implement things like rendesvous in an efficient AND
portable
way? Such things normally belong to system-dependent runtime
libraries,
but in Ada they are part of language and having no proof I
nevertheless
suspect that they are implemented by trading efficiency for
portability.

You suspect wrong, in fact RV is programmed using standard
POSIX primitives that are typically available on all commonly
used systems. Now of course RV is a fairly high level
abstraction, which you use if you want to abstract at this
level. If you want lower level things, then you use them
in Ada (indeed there is nothing to stop you using any
low level system dependent gizmo that you would use in
C if you like).

In general you seem a bit too willing to substitute your
ill-informed guesses for facts.

It could be that I simply don’t know enough and miss
something.

Yup, it could be :slight_smile:

Would be
glad to be enlightened > :slight_smile:

  • igor

As I say, the sources for GNAT are out there, you are welcome
to work on enlightenment!



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

Igor:

Summarizing what you and others replied, it looks like everything is
cool with Ada. Just wondering why it is not yet really resurrected and
blooming and shining in all its glory.

You should take courses about psychology of the masses…

Perhaps my personal doubts aren’t that personal, huh? Nobody appears to
write an OS in Ada, being so good for system level work. And by the way,
many people say that GCC does not generate good code for C,

Who says that ?! Did you play the famous Quake 1 game, it is entirely made
with GCC, including graphics…

so I’m kinda curious how does GNAT manage to generate good code for
such a more complex language as Ada.

It doesn’t matter. With strong typing, GCC-GNAT knows better what animals
are the variables (not just pointers to something) and optimizes indices,
shifts, registers, inlinings, generics etc. nicely. You can take a look at
my pure-software 3D experiments (see link below).

Aside from code generation itself, how do they
manage to implement things like rendesvous in an efficient AND portable
way? Such things normally belong to system-dependent runtime libraries,
but in Ada they are part of language and having no proof I nevertheless
suspect that they are implemented by trading efficiency for portability.

For tasking, I can’t tell, but e.g. for exceptions, they don’t alter at all
performance: they are well implemented !.. Anyway you can see the resulting
assembler code (gcc -S -O2 -gnatpn) for checking what GCC/GNAT does…


Gautier – http://members.nbci.com/gdemont/e3d.htm

mjsilva@my-deja.com wrote:

In article <> 39EA9161.6469DDE2@home.com> >,
Igor Kovalenko <> kovalenko@home.com> > wrote:
Oh, yeah. I bought Ada book some years ago. So many capabilities.
Couple
hundred pages worth of docs printed in small-font.

You bought -a- book!? You don’t state that you’ve used Ada, or even
that you know it, but only that you bought -a- book. And some years
ago at that – maybe it didn’t even cover the current standard (Ada 95
vs. Ada 83).

Sure, I bought a book simply to have it collect some dust. That’s very
reasonable assumption given that such fat books are usually rather
expensive.

Since when does one need to know “the whole damn thing” to use any
programming language or other complex tool?

Since the time it became obvious that if you don’t want the whole Ada
you might as well go with C/C++.

Ada is way too high and abstract to be good for system level
programming

What low-level system-programming functionality is missing in Ada? In
fact Ada has more low-level functionality than C or C++. It was, after
all, originally designed for -embedded- applications.

I did not say anything is missing. I said that it is ‘too high’ which
should mean there is just too much stuff to bear along with what you
really need in most cases.

Note that strictly speaking I never said Ada is wrong thing in general,
I just stated that it is not good for my personal taste. My original
intention was not to denounce Ada, but to say that pissing on C++ does
not do any good for Ada. I see, nobody seems to want to continue the
wedding analogy, but many are happy to let off some steam on me no
matter how many disclaimers I put. I guess it was mistake to give you
guys such an easy target :slight_smile:

  • Igor

On Mon, 16 Oct 2000 11:09:30 -0500, Igor Kovalenko wrote:

Perhaps my personal doubts aren’t that personal, huh? Nobody appears to
write an OS in Ada, being so good for system level work.

Tradition; what the programmers know; popularity; compiler availability -
all reasons why OSs are implemented in the langauges they are.

And by the way,
many people say that GCC does not generate good code for C, so I’m kinda
curious how does GNAT manage to generate good code for such a more
complex language as Ada.

GCC produces pretty good code. It’s not best, but it’s not bad code either.
Ada’s range constraints can often help the compile produce better code than
a language without range constraints?

As for Ada compilers, I remember a Dr. Dobbs article a few years back,
an interview with Prof. Kahan, who pointed out that the only compiler
to take full advantage of the ix87 stack was one specific Ada compiler.
Like all other compilers, Ada compilers range from the good to the bad.

Aside from code generation itself, how do they
manage to implement things like rendesvous in an efficient AND portable
way? Such things normally belong to system-dependent runtime libraries,
but in Ada they are part of language and having no proof I nevertheless
suspect that they are implemented by trading efficiency for portability.

Why would you suspect that? What justifaction would you have to assume that?
It’s just like C - you can implement the C library in a portable way, or
an efficent way, and it varies, but most good C implementations are done
the efficent way. Same with Ada.


David Starner - dstarner98@aasaa.ofe.org
http://dvdeug.dhis.org
If you wish to strive for peace of soul then believe;
if you wish to be a devotee of truth, then inquire.
– Friedrich Nietzsche

Hi Igor,

In article <39EB283A.9F7B4F76@motorola.com>, Igor says…

Summarizing what you and others replied, it looks like everything is
cool with Ada. Just wondering why it is not yet really resurrected and
blooming and shining in all its glory.

Perhaps my personal doubts aren’t that personal, huh? Nobody appears to
write an OS in Ada, being so good for system level work.

I deed a lot of system level work ( file control processor of a PBX computer
system) with the language CHILL. It is very similar to ADA because CHILL
inherited a lot of ADA contructs … so I can imagine to do the same work in
ADA.

And by the way, many people say that GCC does not generate good code for C, so
I’m kinda curious how does GNAT manage to generate good code for such a more
complex language as Ada. Aside from code generation itself, how do they
manage to implement things like rendesvous in an efficient

BTW the rendesvous based IPC of ADA is 99,9% similar to the QNX IPC … so
QNX seems to be the perfect platform for an ADA runtime environment :slight_smile:

AND portable way?

Where is the problem? The implementations might be different … but not the
validated interface to the runtime environment of ADA.

Such things normally belong to system-dependent runtime libraries,
but in Ada they are part of language

… not of the language, it’s part of the runtime environment and that ‘can’ be
build on top of a RTOS.

and having no proof I nevertheless
suspect that they are implemented by trading efficiency for portability.

I can’t see why an ADA application should not be portable at source code level
between validated ADA compilers and runtime environments …

It could be that I simply don’t know enough and miss something. Would be
glad to be enlightened > :slight_smile:

Hope someone could do the GNAT port to QNX RTP for you … so you could play a
little bit with ADA :wink:

ADA was created to support huge software projects … so it contains a lot of
paradigms which makes our life easier.

Armin

BTW … the biggest disadvantage with ADA is(was) the puristic validation
process (defined for by the DoD and used often as a competitiv wappen against
non US implementations. Just my OBSERVATION … years ago.)