comp.lang.ada
 help / color / mirror / Atom feed
From: Robert Dewar <robert_dewar@my-dejanews.com>
Subject: Re: Linux Kernel in Ada. Repost
Date: 1999/04/11
Date: 1999-04-11T00:00:00+00:00	[thread overview]
Message-ID: <7ep7hh$on3$1@nnrp1.dejanews.com> (raw)
In-Reply-To: 7en7kg$o9d@drn.newsguy.com

In article <7en7kg$o9d@drn.newsguy.com>,
  Mich@western_world_somehwere wrote:
> Do you think it is trivial to write a fully working Ada
> posix binding? by saying just go read a book to do it,
> shows that you really do not know what is involved here.
> Have a look at the current Ada binding posix code just to
> see what is there. Remember, you have to implement all
> the posix standard, not just 5 easy little functions.

First of all one thing to realize is that a *thin* binding
to Posix is trivial. Indeed I would guess that the SGI
binding generator would automatically get you 98% or more
of the way there, and even if you had to do it by hand,
it would not be more than a week's work.

However, the relatively thick binding for Ada prescribed
by the IEEE standard is indeed a larger effort, and one
that is not something you can knock off quickly. The reason
is that you are building something at a significantly
higher abstraction level.

Indeed to call this a "binding" is a bit peculiar
(certainly at some level of change-of-abstraction, we
do not use the word binding, the Win32 interface is not
a binding to the NT kernel -- ok, not a fair comparison
of course but you see the idea).

Was it a good idea to decide on a thick binding? I think
not, and have always felt this, but there has always been
a lot of controversy.

Thin bindings

Advantages
   easy to learn (same knowledge base as underlying system)
   easy to implement
   already documented in texts etc

Disadvantages
   level of abstraction is lower than one would like

Thick Bindings

Advantages
   operate at a higher level of abstraction more suitable
   for Ada.

Disadvantage
   much harder to implement, may not get implemented widely
   or quicly.

   new ada-specific knowledge base required

   no existing texts etc

My opinion is that the best approach is to go for thin
bindings, which can be largely generated automatically.
Then let individual applications layer on top of these
choosing abstractions particularly suited for the
application at hand (as indeed a good C programmer
would do to -- if you can find one who understands
abstraction :-)

But as I say this is an old argument.

Just remember no one requires you to use the IEEE bindings
to POSIX as *the* one and only way to interface to Unix
style functionality -- go ahead and bind thin if you
prefer.



-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    




  parent reply	other threads:[~1999-04-11  0:00 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-04-07  0:00 Linux Kernel in Ada. Repost Bruce MacDonald
1999-04-07  0:00 ` Matthew Heaney
1999-04-08  0:00 ` Jeffrey D. Cherry
1999-04-09  0:00   ` Corey Ashford
1999-04-09  0:00     ` Jeffrey D. Cherry
1999-04-09  0:00     ` me
1999-04-09  0:00       ` Tarjei Tj�stheim Jensen
1999-04-09  0:00         ` bill_
1999-04-10  0:00           ` Tarjei Tj�stheim Jensen
1999-04-10  0:00             ` Mich
1999-04-10  0:00               ` Tarjei Tj�stheim Jensen
1999-04-11  0:00                 ` Robert Dewar
1999-04-12  0:00                 ` OpenToken project announcement dennison
1999-04-11  0:00               ` Robert Dewar [this message]
1999-04-10  0:00                 ` Linux Kernel in Ada. Repost Kevin
1999-04-13  0:00                 ` Harry Tanovich
1999-04-13  0:00                   ` Robert Dewar
1999-04-11  0:00             ` Jerry van Dijk
1999-04-11  0:00           ` Jerry van Dijk
1999-04-11  0:00             ` Robert Dewar
1999-04-14  0:00               ` Aidan Skinner
1999-04-11  0:00           ` Robert Dewar
1999-04-10  0:00             ` mike
1999-04-11  0:00               ` Robert Dewar
1999-04-12  0:00                 ` Samuel Mize
1999-04-13  0:00                   ` Robert Dewar
1999-04-16  0:00                     ` Samuel Mize
1999-04-11  0:00             ` Accessing C macro constants from Ada95 Markus Kuhn
1999-04-11  0:00               ` Jerry van Dijk
1999-04-12  0:00               ` Robert Dewar
1999-04-13  0:00                 ` Markus Kuhn
1999-04-13  0:00                   ` Robert Dewar
1999-04-13  0:00                     ` dennison
1999-04-12  0:00               ` Aidan Skinner
1999-04-13  0:00                 ` Robert Dewar
1999-04-12  0:00               ` Robert Dewar
1999-04-12  0:00               ` Tarjei Tj�stheim Jensen
1999-04-12  0:00               ` Robert Dewar
1999-04-09  0:00       ` Linux Kernel in Ada. Repost Larry Kilgallen
1999-04-09  0:00         ` David Starner
1999-04-09  0:00           ` Brian Rogoff
1999-04-11  0:00           ` Robert Dewar
1999-04-12  0:00         ` Hans N. Beck
1999-04-11  0:00   ` Robert Dewar
1999-04-12  0:00     ` Bruce MacDonald
1999-05-03  0:00 ` Buz Cory
1999-05-03  0:00   ` Hans N. Beck
replies disabled

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