comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: Have the Itanium critics all been proven wrong?
Date: Wed, 22 Aug 2012 03:28:24 -0700 (PDT)
Date: 2012-08-22T03:28:24-07:00	[thread overview]
Message-ID: <741f71aa-deb9-49eb-8d33-1f6d5bebdacd@googlegroups.com> (raw)
In-Reply-To: <4c83f0f4-30e2-44bd-8b73-ada05de9322b@q22g2000vbx.googlegroups.com>

Michael S a wrote on comp.lang.ada:
> "not possible to clobber arbitrary memory locations" is probably good
> enough definition of what I consider "safe" computer language.
[...]
> So let's do not call it "two languages". Let's talk about "full Ada"
> and "checked Ada" where "checked Ada" is a subset in which "it is not
> possible to clobber arbitrary memory locations". Hopefully  "checked
> Ada" is still much closer in # features to the "full Ada" than to
> SPARK.

Yes.  SPARK imposes a lot of restrictions which in turn exclude most of
the standard run-time library.

>>> Q.
>>> Do people actually use the "second" Ada language for really big
>>> and really complex application programs?
>>
>> It is certainly possible. For example, the main SPARK tools are
>> written in SPARK.
> 
> Well, so let's define "really big and really complex application
> programs" (RBaRCAP) as something that not only executes complex
> processing, but also handles multiple tightly or loosely related
> inputs for hours/days/weeks/months either as long-running service or
> as an interactive [GUI] application.
> Then compilers or lint-like tools are not RBaRCAP.

I work on such an application: 2 million lines of code, multiple
processes running 24x7 on multiple machines, mission-critical,
multiple GUIs.  This application uses almost every feature of Ada and
then some more :) (e.g. we've patched the compiler and run-time
library so that every exception dumps core for post-analysis before
being handled the normal way).  SPARK would be unsuitable for this
application but full Ada is *eminently* suitable.

Like I said we use almost every feature Ada has to offer, from high-
level tasks and protected objects to the lowest level of bit
manipulation in memory addresses (e.g. in a tree structure we align
all objects on 8 bytes; the 3 low-order bits of all addresses are
therefore zero and we use some of them to store booleans).  We also
use custom memory pools that call mprotect(2).  But these "scary" bits
are few, far between and well isolated; they must represent less than
0.5% of our code base (still, 10 kSLOC or so...).  It is important to
note that we could do without those low-level tricks; they exist only
for performance reasons or to detect and diagnose rare errors.

-- 
Ludovic Brenta.
The standard-setters boost roadmaps.



  parent reply	other threads:[~2012-08-22 10:30 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <5021874F.1747D0BF@sonic.net>
     [not found] ` <1e1tf9-0kp2.ln1@ntp6.tmsw.no>
     [not found]   ` <k0gn5r$l9h$1@needham.csi.cam.ac.uk>
     [not found]     ` <GPRWr.31944$Bw1.31300@newsfe05.iad>
     [not found]       ` <k0gq97$li8$1@needham.csi.cam.ac.uk>
     [not found]         ` <k0h6ef$jke$1@speranza.aioe.org>
     [not found]           ` <46f19bfc-930e-4f06-b5a6-c60f39cfda0c@p14g2000yqk.googlegroups.com>
     [not found]             ` <k0r609$4ij$1@speranza.aioe.org>
     [not found]               ` <077b12f6-1196-4b5c-bbdb-04291b1ae616@q22g2000vbx.googlegroups.com>
     [not found]                 ` <k0rree$lkn$1@speranza.aioe.org>
     [not found]                   ` <CC5730C5.1BC2E%yaldnif.w@blueyonder.co.uk>
     [not found]                     ` <k0t67b$b8r$1@speranza.aioe.org>
     [not found]                       ` <CC585119.1BCCC%yaldnif.w@blueyonder.co.uk>
     [not found]                         ` <k0uenp$fbg$1@speranza.aioe.org>
     [not found]                           ` <k0vo9u$fer$1@dont-email.me>
     [not found]                             ` <589825d2-d998-456a-9c37-c8ae13e1e7bc@e29g2000vbm.googlegroups.com>
2012-08-21 20:48                               ` Have the Itanium critics all been proven wrong? Niklas Holsti
2012-08-21 22:32                                 ` Robert A Duff
     [not found]                                 ` <keb838pn40uf3pq1536e9b3dptgd57h3se@invalid.netcom.com>
2012-08-22  2:32                                   ` Bill Findlay
2012-08-22  2:42                                     ` Adam Beneschan
2012-08-22  4:08                                       ` Bill Findlay
2012-08-22  4:40                                         ` Adam Beneschan
2012-08-22  9:29                                 ` Michael S
2012-08-22 10:14                                   ` Dmitry A. Kazakov
2012-08-22 10:28                                   ` Ludovic Brenta [this message]
2012-08-22 12:48                                     ` Brian Drummond
2012-08-22 15:42                                       ` Ludovic Brenta
2012-08-22 10:54                                   ` Niklas Holsti
2012-08-22 12:43                                     ` Michael S
2012-08-22 13:20                                       ` Michael S
2012-08-22 22:30                                         ` Randy Brukardt
     [not found]                               ` <k10tdr$nm6$1@dont-email.me>
     [not found]                                 ` <bb4e5231-142b-437c-8c2a-bbd6daf34df8@g2g2000vba.googlegroups.com>
2012-08-22 12:39                                   ` Brian Drummond
2012-08-22 14:00                                     ` Michael S
2012-08-22 15:06                                       ` Brian Drummond
2012-08-22 15:21                                         ` Bill Findlay
2012-08-22 15:59                                         ` Michael S
2012-08-22 16:01                                           ` Michael S
2012-08-22 16:58                                           ` Georg Bauhaus
2012-08-22 18:18                                           ` Bill Findlay
2012-08-22 15:05                                     ` Simon Wright
     [not found] <k0jkb3$hm1$1@dont-email.me>
     [not found] ` <632eec054470aafb59e98744e950ea8b@dizum.com>
     [not found]   ` <k0m5c3$t6t$1@dont-email.me>
     [not found]     ` <CC545B6F.1BA11%yaldnif.w@blueyonder.co.uk>
2012-08-22 22:35       ` Bill Findlay
replies disabled

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