From: Markus E Leypold <development-2006-8ecbb5cc8aREMOVETHIS@ANDTHATm-e-leypold.de>
Subject: Re: System calls - GNAT library vs. direct bindings
Date: Fri, 01 Jun 2007 12:17:02 +0200
Date: 2007-06-01T12:17:02+02:00 [thread overview]
Message-ID: <pqfy5cm129.fsf@hod.lan.m-e-leypold.de> (raw)
In-Reply-To: KtP7i.84653$p47.48437@bgtnsc04-news.ops.worldnet.att.net
> In <1180623520.303981.191090@q75g2000hsh.googlegroups.com>, Maciej Sobczak <see.my.homepage@gmail.com> writes:
>>Hi,
>>
>>I would like to now your opinion about the two options in the subject.
>>
>>Let's suppose that the problem is a network-aware application on the
>>POSIX system. Ada doesn't know about network per RM, so we have to
>>look around for libraries.
>>One option is to use the GNAT library that has some package for
>>sockets.
>>Another is to write thin wrappers that bind directly to relevant
>>system calls (socket, connect, read, write, close, bind, listen,
>>accept, select - that's it for the basic stuff).
>>
>>1. The advantage of using GNAT library is portability across various
>>systems that are targeted by GNAT. (I assume that the GNAT library is
>>available outside of POSIX - if not, please correct me.)
>>
>>2. The advantage of writing custom thin wrappers is portability across
>>various compilers that target POSIX platforms.
>>
>>The first is not really important for me, I will probably use only
>>POSIX systems.
>
> One factor is that Ada was designed for portability there if you do not care
> about portability then do not use Ada!
What nonsense, Mr anon@anon.org.
Since there is no portable library for reading any sensors, then your
kind of portability is gone as soon as there is a hardware specific
driver for sensors anywhere. By your definition, almost all real world
code is unportable.
The right way to achieve portability is, of course, to encapsule the
environment / target specific parts of your system into an abstract
layer (say, abstract over sockets towards a send_message_to_my_server
and recieve_message_from_my_server module). Then one has only port the
layer(s) that interface to the outside world, if the target changes.
<snipped>
> But portability gives an average stable performance with a reduced
> maintainability cost. Which means that development cost may be high but
> installation and maintains cost afterwards for the software team is very
> low. Especially in this age of upgrading the hardware every 6 to 18 months.
> So unless one wants to spend the rest on the days updating and rewritting
> code to maintain that package, portability should be the highest priority.
Astonishin argument. You know that you don't need to port software to
a higher cpu clock speed?
Regards -- Markus
next prev parent reply other threads:[~2007-06-01 10:17 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-31 14:58 System calls - GNAT library vs. direct bindings Maciej Sobczak
2007-05-31 15:06 ` Ludovic Brenta
2007-05-31 15:23 ` Maciej Sobczak
2007-05-31 16:14 ` Ludovic Brenta
2007-05-31 19:08 ` Michael Bode
2007-05-31 19:48 ` Markus E Leypold
2007-05-31 20:07 ` Simon Wright
2007-05-31 21:10 ` Georg Bauhaus
2007-06-01 19:50 ` Simon Wright
2007-06-01 6:27 ` Maciej Sobczak
2007-06-01 19:29 ` Simon Wright
2007-06-01 6:59 ` anon
2007-06-01 10:17 ` Markus E Leypold [this message]
2007-06-01 13:01 ` Maciej Sobczak
2007-06-01 20:13 ` Pascal Obry
2007-06-01 20:35 ` Pascal Obry
2007-06-01 17:42 ` Jeffrey R. Carter
2007-06-01 19:32 ` Simon Wright
2007-06-01 20:45 ` Maciej Sobczak
2007-06-02 5:35 ` Jeffrey R. Carter
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox