comp.lang.ada
 help / color / mirror / Atom feed
* RE: howto make system calls (newbie question)
@ 2001-05-09 22:19 Beard, Frank
  2001-05-10  6:18 ` Pascal Obry
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Beard, Frank @ 2001-05-09 22:19 UTC (permalink / raw)
  To: 'comp.lang.ada@ada.eu.org'

Marin,

I didn't see this one when I wrote my last response.  I agree with you.
And the answer to your question:

> Is the Posix binding going to just come with my
> compiler and I can go along fat, dumb and happy using it at will with no
> thought as to where to find it and no concern for transportability of my
> code?

is NO, at least not yet.  Even Pascal Obry's effort is not 100% complete.

And I haven't seen anything for the POSIX Ada Real-Time Extensions, which
has the support for Thread IDs, priorities, etc).  The Real-Time extensions
may be where the Message Queues and Shared Memory fell as well.  If my
project, which used Message Queues and Shared Memory, had needed to be
ported to Windows, it would have been a nightmare.

Frank

-----Original Message-----
From: Marin David Condic [mailto:marin.condic.auntie.spam@pacemicro.com]
Sent: Monday, May 07, 2001 2:26 PM
To: comp.lang.ada@ada.eu.org
Subject: Re: howto make system calls (newbie question)


Well, not everything in the world needs to be in an annex to the ARM. The
Posix binding is a fair example. Of course, there you have the problem that
the interface may not be made available by a given compiler and it might not
be applicable in all environments anyway. That's a binding to a specific
class of OS that may not be common across all OS's & one would want to give
that some thought.

Is there a reason to maybe make an OS independent package available that
provided some of the things that might exist in Posix, but might be provided
by a different system in a different manner? Or is Posix widely spread
enough that Ada could just say "If you want access to system facilities of
this type - go see Posix"? Is the Posix binding going to just come with my
compiler and I can go along fat, dumb and happy using it at will with no
thought as to where to find it and no concern for transportability of my
code? The answers are not clear to me.

However, I still think there is room to add some standard libraries to Ada
that make it more useful to the programmer. Clearly the Ada.Strings...
branch is a good example - C may supply some fairly lame string handling
functions but Ada83 provided none at all. Now Ada95 has an area of clear
superiority in that you get some really good pre-fabricated string utilities
that are just there on any implementation and are at your disposal. Might
there not be similar libraries of things that Ada could provide in some
standardized manner? If a C programmer can say "I can do this thing in C -
how do I do it in Ada?" should it be fair game to ask how we might have that
provided in all Ada implementations?

I really wish the Ada Standard Library Working Group had managed to get
somewhere with defining even a starting point for this sort of thing. Even
if a library didn't come by virtue of the ARM, if it was available with a
standard interface and provided by most, if not all, implementations, it
would enhance the value of Ada to the programmer. Then we'd be off in other
newsgroups asking "I can do this in Ada - how do I do it in your language?"
:-)

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/


"Samuel T. Harris" <u61783@gsde.hou.us.ray.com> wrote in message
news:3AF6D040.FF71B782@gsde.hou.us.ray.com...

> Of course, there are other "standards" which are not part
> of the Ada standard. For instance, the POSIX Ada binding
> has been invaluable to me in writing portable code which
> requires facilities from the operating system.
>
> Since this is standardized by IEEE, I feel any particular
> need to include it as an Ada LRM annex.
>



_______________________________________________
comp.lang.ada mailing list
comp.lang.ada@ada.eu.org
http://ada.eu.org/mailman/listinfo/comp.lang.ada




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

* Re: howto make system calls (newbie question)
  2001-05-09 22:19 howto make system calls (newbie question) Beard, Frank
@ 2001-05-10  6:18 ` Pascal Obry
  2001-05-10 12:40 ` Samuel T. Harris
  2001-05-10 14:13 ` Ted Dennison
  2 siblings, 0 replies; 5+ messages in thread
From: Pascal Obry @ 2001-05-10  6:18 UTC (permalink / raw)



"Beard, Frank" <beardf@spawar.navy.mil> writes:

> > Is the Posix binding going to just come with my
> > compiler and I can go along fat, dumb and happy using it at will with no
> > thought as to where to find it and no concern for transportability of my
> > code?
> 
> is NO, at least not yet.  Even Pascal Obry's effort is not 100% complete.

Note that it was not the goal anyway. I have built up a binding just to have
the most common features (working with the environment and launching external
program) and only the ones I needed for a project to achieve portability
between UNIX and Windows. And this has proved to be successful, I use Florist
under Linux and my binding under Win32. I have large distributed application
(yes using GLADE) that I have ported from Windows to Linux (that's the trend
here) without changing a single line :) Only one feature was not working. My
project was send e-mail by launching an NT program... To solve this I have
done an SMTP library that I do distribute too... see my homepage.

In anycase, some POSIX features will be hard to do under Win32 or you'll need
to build a shared library.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--|
--| "The best way to travel is by means of imagination"



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

* Re: howto make system calls (newbie question)
  2001-05-09 22:19 howto make system calls (newbie question) Beard, Frank
  2001-05-10  6:18 ` Pascal Obry
@ 2001-05-10 12:40 ` Samuel T. Harris
  2001-05-10 15:44   ` Stephen Leake
  2001-05-10 14:13 ` Ted Dennison
  2 siblings, 1 reply; 5+ messages in thread
From: Samuel T. Harris @ 2001-05-10 12:40 UTC (permalink / raw)


"Beard, Frank" wrote:
> 
> Marin,
> 
> I didn't see this one when I wrote my last response.  I agree with you.
> And the answer to your question:
> 
> > Is the Posix binding going to just come with my
> > compiler and I can go along fat, dumb and happy using it at will with no
> > thought as to where to find it and no concern for transportability of my
> > code?
> 
> is NO, at least not yet.  Even Pascal Obry's effort is not 100% complete.
> 
> And I haven't seen anything for the POSIX Ada Real-Time Extensions, which
> has the support for Thread IDs, priorities, etc).  The Real-Time extensions
> may be where the Message Queues and Shared Memory fell as well.  If my
> project, which used Message Queues and Shared Memory, had needed to be
> ported to Windows, it would have been a nightmare.
> 
> Frank
> 

These areas, as well as all the process stuff, requires
an intimate working relationship between the binding implementation
and the compiler itself. There are many ramifications to
the compiler's support for task when it must support POSIX.

I expect a complete POSIX binding can only come from the compiler vendor.
Ad hoc efforts, such a Pascal Obry's, are necessary at this stage
of the game but are not sufficient. I'd really like GNAT to
fully support the POSIX binding and not have to rely upon
some third-party, incomplete, add-on thing.

I do not mean to demean Pascal's effort. In fact, I applaud them.
I feel that if customers need POSIX, then they simply must insist
on POSIX as a requirement for compiler choice. Vendors who do not
support it directly and complete are simply dropped from consideration.

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



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

* Re: RE: howto make system calls (newbie question)
  2001-05-09 22:19 howto make system calls (newbie question) Beard, Frank
  2001-05-10  6:18 ` Pascal Obry
  2001-05-10 12:40 ` Samuel T. Harris
@ 2001-05-10 14:13 ` Ted Dennison
  2 siblings, 0 replies; 5+ messages in thread
From: Ted Dennison @ 2001-05-10 14:13 UTC (permalink / raw)


In article <mailman.989446808.17201.comp.lang.ada@ada.eu.org>, Beard, Frank
says...
>
>has the support for Thread IDs, priorities, etc).  The Real-Time extensions
>may be where the Message Queues and Shared Memory fell as well.  If my
>project, which used Message Queues and Shared Memory, had needed to be
>ported to Windows, it would have been a nightmare.

Not entirely. NT does have those features, just not implemented similarly.

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



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

* Re: howto make system calls (newbie question)
  2001-05-10 12:40 ` Samuel T. Harris
@ 2001-05-10 15:44   ` Stephen Leake
  0 siblings, 0 replies; 5+ messages in thread
From: Stephen Leake @ 2001-05-10 15:44 UTC (permalink / raw)


"Samuel T. Harris" <u61783@gsde.hou.us.ray.com> writes:

> I expect a complete POSIX binding can only come from the compiler vendor.
> Ad hoc efforts, such a Pascal Obry's, are necessary at this stage
> of the game but are not sufficient. I'd really like GNAT to
> fully support the POSIX binding and not have to rely upon
> some third-party, incomplete, add-on thing.

GNAT is a set of source code, not a company. The point being that
_you_ have the source to GNAT, so does Pascal, so does everybody else.
Any of us could modify the run time system of GNAT to fully support
Posix.

If we did a good job, ACT (the GNAT support company) might be willing
to incorporate our work into their supported product. Then we'd have a
widely available, supported Posix/Ada implementation.

I don't have a need for Posix in my work, so I won't be doing this :).

> I do not mean to demean Pascal's effort. In fact, I applaud them. I
> feel that if customers need POSIX, then they simply must insist on
> POSIX as a requirement for compiler choice. Vendors who do not
> support it directly and complete are simply dropped from
> consideration.

Or perhaps customers need to realize that new development costs money,
and negotiate with the vendors to pay for the development.

-- 
-- Stephe



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

end of thread, other threads:[~2001-05-10 15:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-09 22:19 howto make system calls (newbie question) Beard, Frank
2001-05-10  6:18 ` Pascal Obry
2001-05-10 12:40 ` Samuel T. Harris
2001-05-10 15:44   ` Stephen Leake
2001-05-10 14:13 ` Ted Dennison

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