View Single Post
  #27 (permalink)  
Old 08-04-2012, 02:48 AM
Vasiliy Molostov
Guest
 
Posts: n/a
Default Re: Suitability of Ada as a general-purpose language

Yannick Duchêne (Hibou57) <yannick_duchene@yahoo.fr> писал(а) в своём
письме Fri, 03 Aug 2012 23:21:15 +0400:

> Le Tue, 31 Jul 2012 06:19:58 +0200, Randy Brukardt
> <randy@rrsoftware.com> a écrit:


> Does that mean that “not decently sized” applications are not Ada's
> target?


Ada main target are processors (hardware), while typical "Hello world"
rely on console output and/or libc stdout file operations (e.g. implies
file system operations, including mapping of errno to exceptions and the
rest), and therefore it is for testing something about related to high
level I/O primitives and are environment dependent. So, the test to
establish and compare sizes of "Hello World" executable is dumb (due to
irrelevant conclusions about result).

To get the benefit on image size a developer can restrict compiler with
usual basic operations, e.g. to build "The Hello World program here, as a
place‑holder for tiny applications" a developer can import I/O operations
similar to competitors (since test environment is the same, I suppose),
e.g. using puts(3) from libc instead of ada.text_io.put_line. In this case
you might want to discover that these image sizes are closest to be
similar to ones in C. With more ada related restrictions applied to ada
compiler you can get image sizes even smaller than you can imagine.

How much Ada with gcc (e.g. GNAT) can take in image size was tested by
Stephane Carrez
(see http://www.vacs.fr/wiki/index.php/VA...s:Software:Gel - "GNU
Ada compiler works for creation of a 256 bytes program"), obviously clear.

Regarding to Janus, on some targets its run-time is based on direct
interfacing with environment, and the resulting image size can be even
smaller than the same in C (where libc acts as an interface to the same
environment).

As you can see, ada is just more flexible than C (or any other competitor)
in building images of any desired/required size, and even makes this
comparison incorrect and meaningless.

--
Написано в почтовом клиентебраузера Opera: http://www.opera.com/mail/
Reply With Quote