* Ada Libraries
@ 1988-02-19 19:58 Randy Neff
0 siblings, 0 replies; 3+ messages in thread
From: Randy Neff @ 1988-02-19 19:58 UTC (permalink / raw)
Read "Source Code" by Mark Weisner of Xerox PARC, in IEEE Computer, Nov 87.
This paper is an excellent discussion of why programmers should have reading
access to all source code. My twenty odd years of programming experience
agrees with his arguements. I.E. writing an Ada interface to Un*x curses
required reading the source code; a complete Ada interface to Sun CGI
was aborted because no source was available.
I have wasted weeks of time with buggy Ada compilers when the error
messages (like internal assertion error 59) were meaningless. Having the
source code and debugger would at least allow me to find out what caused
the error and how to write a work around. No way will I fix the compiler;
it is just that the error messages and documentation are useless.
However, if a vendor wants to cripple the programmers that buy its library by
not providing source code, then here is one note: the Verdix compiler
library has the source file name, which is used by the debugger.
Delete or rename the source file and the debugger cannot find it.
Motherhood: One of the big unanswered questions in CS is how to
define the word 'guarantee' as in: "I, the vendor, guarantee that the
specifications are complete, correct, and consistent; and that the
hidden code I provide is complete, correct, and consistent with the
specifications." Unfortunately, today's state of the art is that the
only trustworthy specification is the machine code; if you trust your
assembler, then the assembly code; if you trust your Ada compiler (I don't),
then the Ada source code.
Randall Neff @sierra.stanford.edu
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: howto make system calls (newbie question)
@ 2001-05-04 20:56 Beard, Frank
2001-05-07 14:42 ` Marin David Condic
0 siblings, 1 reply; 3+ messages in thread
From: Beard, Frank @ 2001-05-04 20:56 UTC (permalink / raw)
To: 'comp.lang.ada@ada.eu.org'
I totally agree with Marin.
Frank
-----Original Message-----
From: Marin David Condic [mailto:marin.condic.auntie.spam@pacemicro.com]
Sent: Friday, May 04, 2001 11:49 AM
To: comp.lang.ada@ada.eu.org
Subject: Re: howto make system calls (newbie question)
While I'm basically on your side here, Marc, I think it is fair to point out
that in Kernighan & Ritchie (I don't have the ANSI C standard in front of
me) it says there is a "Standard Library" that, while "not part of the C
language proper" is considered to be part of the C environment that a
standard implementation of C will provide. In that library, we find
<stdlib.h> which contains a function "system" that one can reasonably expect
to be part of a standard C implementation.
I would consider this analogous to the Ada appendices that define things
like Unbounded_String, etc. The various string packages are not part of the
Ada language per se, but are an expected library of things available in Ada
if the implementation is conformant with the standard. I see no reason that
Ada couldn't provide similar libraries (perhaps optional for implementations
where it makes no sense to have them - e.g. embedded machines) for functions
like "system" so that calling conventions, etc., were Ada-ish and required
no understanding of anything outside Ada to use. (No pragma import stuff,
etc.) If it were legal for us mere mortal hackers to extend the package Ada,
it might have already been done. (This is how a lot of things crept into C,
after all.)
Its fair for someone to criticize Ada for not providing the sort of
reasonable and customary libraries one gets with lots of other languages.
(Where "reasonable and customary" stops is subject to debate, but I'd think
some basic OS services ought to fall within scope.) Saying "well you can get
there by binding to the C libraries" is a bit of a "me too!!!" syndrome that
keeps Ada a follower rather than a leader. Ada has to get out in front of
the issue and create its own interfaces or it will forever find itself
fighting the "well then why not just use C/C++ and be done with it?"
criticism. That's a hard one to win.
I like the idea of having Ada include lots of apendices to bind to things in
a standard way. A lot of what is in the C libraries Ada doesn't need because
it has other ways of getting there, but why not look over the C libraries
and provide an Ada standard way of getting the same services? (Not in a
slavish "me too!!!" way - do it "The Ada Way" (tm).)
A quick scan of K&R-II Appendix B, suggest the following as things Ada
provides no immediate alternative to that could be added in some way:
<stdlib.h> system
<stdlib.h> getenv
<stdlib.h> bsearch
<stdlib.h> qsort
<assert.h> (Yes, it exists, but should be part of the standard...)
<signal.h> (Yeah, you have some of it with exceptions - OS stuff is what I
have in mind here - can we have a standard exception (or other mechanism?)
for SIGINT, SIGTERM, SIGABRT?)
<time.h> clock
<time.h> asctime
<time.h> ctime
<time.h> gmtime
<time.h> localtime
<time.h> strftime
A little thought about other things commonly supplied by most OS's would
probably yield a bunch more ideas. Maybe we'd start seeing some posts in
Comp.Lang.C(++) to the effect of "I can do XYZ in Ada - how do I do the same
thing in C(++)?" and "Why doesn't C(++) provide me with a function/class to
do ABC which I can do in Ada so easily?" (Maybe we can start some shill
postings? :-)
Just an idea....
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/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: howto make system calls (newbie question)
2001-05-04 20:56 howto make system calls (newbie question) Beard, Frank
@ 2001-05-07 14:42 ` Marin David Condic
2001-05-08 7:34 ` Tarjei T. Jensen
0 siblings, 1 reply; 3+ messages in thread
From: Marin David Condic @ 2001-05-07 14:42 UTC (permalink / raw)
Its nice to find myself being totally agreed with! :-) Maybe you can expand
on the idea. What sort of standard libraries would you like to see in Ada?
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/
"Beard, Frank" <beardf@spawar.navy.mil> wrote in message
news:mailman.989009884.30531.comp.lang.ada@ada.eu.org...
> I totally agree with Marin.
> Frank
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: howto make system calls (newbie question)
2001-05-07 14:42 ` Marin David Condic
@ 2001-05-08 7:34 ` Tarjei T. Jensen
2001-05-08 13:43 ` Marin David Condic
0 siblings, 1 reply; 3+ messages in thread
From: Tarjei T. Jensen @ 2001-05-08 7:34 UTC (permalink / raw)
Marin David Condic wrote in message <9d6c89$1nd$1@nh.pace.co.uk>...
>Its nice to find myself being totally agreed with! :-) Maybe you can expand
>on the idea. What sort of standard libraries would you like to see in Ada?
The obvious ones. E.g. console I/O, adafied sockets, buffered I/O, national
language support (NLS), turbo pascal style strings, NLS string comparison,
file utilities (expand wildcards, get file names from a directory, delete
file, set file protection, etc), dynamic library support (load library,
symbols under program control), standard datatypes for system calls,
standard datatypes for the C library.
Greetings,
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: howto make system calls (newbie question)
2001-05-08 7:34 ` Tarjei T. Jensen
@ 2001-05-08 13:43 ` Marin David Condic
2001-05-12 2:58 ` Randy Brukardt
0 siblings, 1 reply; 3+ messages in thread
From: Marin David Condic @ 2001-05-08 13:43 UTC (permalink / raw)
I like the Ada-fied sockets part in particular. It would be nice to get
bindings to common things that used Ada-ish parameters. (Sockets made to
line up nicely with Ada.Streams? Hmmmmm???? A nice Object Oriented approach
to sockets rather than the customary C-ish approach?)
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/
"Tarjei T. Jensen" <tarjei.jensen@kvaerner.com> wrote in message
news:9d87id$oll15@news.kvaerner.com...
>
> Marin David Condic wrote in message <9d6c89$1nd$1@nh.pace.co.uk>...
> >Its nice to find myself being totally agreed with! :-) Maybe you can
expand
> >on the idea. What sort of standard libraries would you like to see in
Ada?
>
> The obvious ones. E.g. console I/O, adafied sockets, buffered I/O,
national
> language support (NLS), turbo pascal style strings, NLS string comparison,
> file utilities (expand wildcards, get file names from a directory, delete
> file, set file protection, etc), dynamic library support (load library,
> symbols under program control), standard datatypes for system calls,
> standard datatypes for the C library.
>
>
> Greetings,
>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: howto make system calls (newbie question)
2001-05-08 13:43 ` Marin David Condic
@ 2001-05-12 2:58 ` Randy Brukardt
2001-05-14 13:29 ` Ada Libraries (was Re: howto make system calls (newbie question)) Marin David Condic
0 siblings, 1 reply; 3+ messages in thread
From: Randy Brukardt @ 2001-05-12 2:58 UTC (permalink / raw)
Marin David Condic wrote in message <9d8t6a$t8r$1@nh.pace.co.uk>...
>I like the Ada-fied sockets part in particular. It would be nice to get
>bindings to common things that used Ada-ish parameters. (Sockets made
to
>line up nicely with Ada.Streams? Hmmmmm???? A nice Object Oriented
approach
>to sockets rather than the customary C-ish approach?)
Already done. Take a look at Claw.Sockets (a subset is available in the
Claw Introductory Version, which is a free download from
www.rrsoftware.com).
Randy.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Ada Libraries (was Re: howto make system calls (newbie question))
2001-05-12 2:58 ` Randy Brukardt
@ 2001-05-14 13:29 ` Marin David Condic
2001-05-14 19:16 ` Randy Brukardt
0 siblings, 1 reply; 3+ messages in thread
From: Marin David Condic @ 2001-05-14 13:29 UTC (permalink / raw)
It may already be done in Claw, which is great for Windows based stuff, but
doesn't help much for non windows systems. Originally this came up as a
discussion about some sort of standardized library of stuff that would
generally be available to all Ada compilers. Sort of like being able to
count on the class libraries in Java. (Data structures, math stuff,
communications, etc. Anything that could reasonably be expected to work on
most systems to which Ada is targeted.) The question would be, how easily
would the Claw.Sockets stuff port to - say - a Linux environment? And what
is the liklihood that Claw.Sockets could be bundled up with a bunch of other
things and put under some sort of GPL-ish license so that compiler vendors
would be free to distribute it with their product?
BTW: I liked the Ada Developers Cooperative License proposed by Bob Leif as
a means by which an individual or small company could make Ada code
available at no charge, but could lay claim to revenue if the code is
incorporated in a product for resale. I think it would need to come up with
some sort of payment scheme beyond a straight percentage of gross sales, and
a lot of details would need to be hammered out, but in general, I think the
concept is a good one.
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/
"Randy Brukardt" <randy@rrsoftware.com> wrote in message
news:pE1L6.1995$A07.421101@homer.alpha.net...
> Already done. Take a look at Claw.Sockets (a subset is available in the
> Claw Introductory Version, which is a free download from
> www.rrsoftware.com).
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Ada Libraries (was Re: howto make system calls (newbie question))
2001-05-14 13:29 ` Ada Libraries (was Re: howto make system calls (newbie question)) Marin David Condic
@ 2001-05-14 19:16 ` Randy Brukardt
2001-05-14 22:35 ` Ada Libraries Marin David Condic
0 siblings, 1 reply; 3+ messages in thread
From: Randy Brukardt @ 2001-05-14 19:16 UTC (permalink / raw)
Marin David Condic wrote in message <9domjk$h4t$1@nh.pace.co.uk>...
>It may already be done in Claw, which is great for Windows based stuff,
but
>doesn't help much for non windows systems. Originally this came up as a
>discussion about some sort of standardized library of stuff that would
>generally be available to all Ada compilers. Sort of like being able to
>count on the class libraries in Java. (Data structures, math stuff,
>communications, etc. Anything that could reasonably be expected to work
on
>most systems to which Ada is targeted.) The question would be, how
easily
>would the Claw.Sockets stuff port to - say - a Linux environment? And
what
>is the liklihood that Claw.Sockets could be bundled up with a bunch of
other
>things and put under some sort of GPL-ish license so that compiler
vendors
>would be free to distribute it with their product?
Sockets stuff isn't very Windows specific; the implementation would of
course need to be redone for other systems.
As far as the license goes, the question is more whether the license
would allow vendors to distribute it with their compilers. Indeed, I
would expect a GPL license to PREVENT most of the vendors from
distributing it. (GPL poisoning, anyone?)
It was always our intent that Claw be distributed with compilers, indeed
it is distributed with Janus/Ada, and the introductory version is
distributed with Rational Apex and it also is on the ASE CD-ROM (as well
as our website).
In any case, I was responding more to the notion that "someone needs to
design" a O-O sockets library -- that's been done. Not that Claw.Sockets
as it stands would actually be the answer to everyone's needs.
Hopefully, this will be one of the areas that will be addressed in Ada
0y. As directory operations already is.
Randy Brukardt.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Ada Libraries
2001-05-14 19:16 ` Randy Brukardt
@ 2001-05-14 22:35 ` Marin David Condic
0 siblings, 0 replies; 3+ messages in thread
From: Marin David Condic @ 2001-05-14 22:35 UTC (permalink / raw)
O.K. Just to be fair - I did say "GPL-ish". :-) I'd hate to start that whole
GPL/LGPL/GMGPL thing all over again. I was only observing that if someone
were to develop something that hoped to make its way into Ada as a library,
there needs to be some means that makes it very easy for a compiler vendor
just to bundle it up and ship it. (That and it has to be good quality,
general purpose & portable. We could go on for days about all the possible
requirements. For now I'll stick to the licensing issue.)
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/
"Randy Brukardt" <randy@rrsoftware.com> wrote in message
news:MaWL6.2162$A07.433578@homer.alpha.net...
> Marin David Condic wrote in message <9domjk$h4t$1@nh.pace.co.uk>...
> >things and put under some sort of GPL-ish license so that compiler
> vendors
> >would be free to distribute it with their product?
>
>
> As far as the license goes, the question is more whether the license
> would allow vendors to distribute it with their compilers. Indeed, I
> would expect a GPL license to PREVENT most of the vendors from
> distributing it. (GPL poisoning, anyone?)
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Ada Libraries
@ 1987-09-28 13:24 amiram
0 siblings, 0 replies; 3+ messages in thread
From: amiram @ 1987-09-28 13:24 UTC (permalink / raw)
Is there any standard and/or recommended spec for what needs to be
included in an Ada Library system, and how it should be represented?
Any agreement among compiler writers about it?
Amiram Yehudai.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2001-05-14 22:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1988-02-19 19:58 Ada Libraries Randy Neff
-- strict thread matches above, loose matches on Subject: below --
2001-05-04 20:56 howto make system calls (newbie question) Beard, Frank
2001-05-07 14:42 ` Marin David Condic
2001-05-08 7:34 ` Tarjei T. Jensen
2001-05-08 13:43 ` Marin David Condic
2001-05-12 2:58 ` Randy Brukardt
2001-05-14 13:29 ` Ada Libraries (was Re: howto make system calls (newbie question)) Marin David Condic
2001-05-14 19:16 ` Randy Brukardt
2001-05-14 22:35 ` Ada Libraries Marin David Condic
1987-09-28 13:24 amiram
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox