From: quiet_lad <gavcomedy@gmail.com>
Subject: Re: Practicalities of Ada for app development
Date: Wed, 13 Jun 2012 03:20:55 -0700 (PDT)
Date: 2012-06-13T03:20:55-07:00 [thread overview]
Message-ID: <4dc8878f-22d7-44fb-866e-48b70d770eb3@h10g2000pbi.googlegroups.com> (raw)
In-Reply-To: jqtr7u$3r9$1@adenine.netfront.net
On Jun 8, 2:35 pm, Jeffrey Carter <spam.jrcarter....@spam.not.acm.org>
wrote:
> On 06/08/2012 01:48 PM, wrp wrote:
>
>
>
> > 1. To begin with, I've heard it said that Ada, designed for embedded
> > system building, is simply not suited to apps for a general computing
> > platform. That's rather vague and I haven't seen any detailed
> > justification of that claim. What would you say?
>
> I would say everything you've heard is wrong. Ada is a general-purpose language
> that has been used successfully in every application domain. Ada is the language
> of choice for S/W that must be correct. Since I want all my S/W to be correct, I
> always use Ada. Examples of small Ada applications I've written include one to
> choose the signature (like the one at the end of this message), one to choose
> the sound to be played next time I log in (next time it will say, "What is your
> favorite color?"), and one to display a quote in a dialog window (today's is,
> "If you think you got a nasty taunting this time, you ain't heard nothing
> yet!"). There seems to be a theme there.
>
> A larger application is the Mine Detector game
> (http://pragmada.x10hosting.com/mindet.html).
>
> At work we have a large, concurrent, distributed, soft-real-time, web-accessible
> call-center application, but large parts of it do DB access and things that
> would be common in the kind of applications you want to make.
>
> > 2. I don't need tools to be free, but they have to be affordable to a
> > small shop. If I'm targeting x86-64 (and possibly ARM) is GNAT the
> > only compiler option I have?
>
> RR Software's Janus/Ada (for Windows) is reasonably priced. You might also look
> at Atego.
>
> Note that most compiler are for Ada 95. Only 3 of 7 compilers I'm aware of
> support the entire language in the current standard (published in 2007). GNAT is
> the only compiler I'm aware of that supports features from the next standard
> (hopefully published this year).
>
> Ada 95 is a very good language, so that might not be a concern. (Even Ada 83 is
> a better language than most of the competition.)
>
> > 3. How about the quality and availablity of supporting tools like
> > debuggers and profilers?
>
> One nice thing about Ada is not needing to use a debugger.
>
> > 4. How about production quality, open source libraries for things like
> > Unicode support, sockets, network communication, GUIs, etc? The stuff
> > atwww.dmitry-kazakov.delooks good, but most of what I have seen
> > online is from the 1980s and pretty rough to begin with.
>
> There are plenty of libraries available. You can find many through adaic.org.
>
> > 5. How well is incremental development supported? I'm thinking of
> > things like modular compiling and speed of the edit-compile-test
> > cycle.
>
> Unlike C, Ada has modules ("packages"). With them, stubs, and separate
> compilation, incremental development is supported well.
>
> > 6. Size and latency are sometimes an issue. I've heard that since GNAT
> > is oriented to building larger systems, the executables it produces
> > are comparatively bulky. What is the situation relative to C in that
> > regard?
>
> As I've said, everything you've heard is wrong. Equivalent programs in Ada and C
> create executables of about the same size using gcc (the key word is
> "equivalent"). Robert Dewar of AdaCore claims to have a collection of equivalent
> Ada and C programs that produce identical object code using gcc.
>
> > 7. What advanced tutorial material is there for using Ada in this way?
> > Say that I have Norman Cohen's _Ada as a Second Language_. What more
> > advanced material is available on subjects other than concurrency,
> > distributed processing, or real-time systems? On a related note, what
> > projects would you recommend looking at as examples of great code?
>
> Cohen is a pretty good book; I'm not sure that you need anything else. Note that
> even small applications can sometimes benefit from concurrency. Since Ada
> tasking is high-level and safe, it would a mistake not to learn about it so you
> can use it when warranted. Barne's book is a good choice. You might want to look
> at "Ada Distilled" by Richard Riehle. Again, adaic.org has a list of texts and
> tutorials.
>
> --
> Jeff Carter
> "When Roman engineers built a bridge, they had to stand under it
> while the first legion marched across. If programmers today
> worked under similar ground rules, they might well find
> themselves getting much more interested in Ada!"
> Robert Dewar
> 62
>
> --- Posted via news://freenews.netfront.net/ - Complaints to n...@netfront.net ---
roman quote best this year!!!
wow is ada really even awesome for web?
watch out ruby!!
as unix admin I love idea of safety and correctness...
next prev parent reply other threads:[~2012-06-14 16:53 UTC|newest]
Thread overview: 112+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-08 20:48 Practicalities of Ada for app development wrp
2012-06-08 21:35 ` Jeffrey Carter
2012-06-09 0:40 ` Adam Beneschan
2012-06-09 6:38 ` Jeffrey Carter
2012-06-21 17:14 ` Randy Brukardt
2012-06-21 18:16 ` Adam Beneschan
2012-06-21 19:18 ` J-P. Rosen
2012-06-21 20:30 ` Adam Beneschan
2012-06-21 21:09 ` Randy Brukardt
2012-06-22 4:59 ` Simon Wright
2012-06-22 5:32 ` Tero Koskinen
2012-06-22 19:51 ` Randy Brukardt
2012-06-21 21:15 ` J-P. Rosen
2012-06-22 10:43 ` Tero Koskinen
2012-06-21 21:00 ` Randy Brukardt
2012-06-21 21:18 ` J-P. Rosen
2012-06-22 19:55 ` Randy Brukardt
2012-06-23 6:43 ` J-P. Rosen
2012-06-09 4:30 ` BrianG
2012-06-09 7:11 ` Georg Bauhaus
2012-06-13 10:20 ` quiet_lad [this message]
2012-06-09 6:55 ` gautier_niouzes
2012-06-09 7:04 ` Georg Bauhaus
2012-06-09 9:25 ` Nomen Nescio
2012-06-09 9:36 ` Dmitry A. Kazakov
2012-06-10 3:46 ` Yannick Duchêne (Hibou57)
2012-06-12 20:10 ` i3text
2012-06-13 7:55 ` Dmitry A. Kazakov
2012-06-21 17:21 ` Randy Brukardt
2012-06-13 10:28 ` quiet_lad
2012-06-13 13:07 ` Dmitry A. Kazakov
2012-06-09 16:09 ` tmoran
2012-06-13 10:29 ` quiet_lad
2012-06-09 23:18 ` darkestkhan
2012-06-10 3:56 ` Yannick Duchêne (Hibou57)
2012-06-10 14:04 ` Dmitry A. Kazakov
2012-06-10 16:51 ` Yannick Duchêne (Hibou57)
2012-06-10 17:00 ` Dmitry A. Kazakov
2012-06-10 17:18 ` Yannick Duchêne (Hibou57)
2012-06-10 19:33 ` Dmitry A. Kazakov
2012-06-10 21:36 ` Nomen Nescio
2012-06-11 8:22 ` Dmitry A. Kazakov
2012-06-11 14:27 ` Georg Bauhaus
2012-06-11 14:43 ` Dmitry A. Kazakov
2012-06-11 16:19 ` Jacob Sparre Andersen
2012-06-11 18:38 ` Dmitry A. Kazakov
2012-06-11 17:14 ` Georg Bauhaus
2012-06-11 18:38 ` Dmitry A. Kazakov
2012-06-11 20:50 ` Georg Bauhaus
2012-06-11 21:43 ` Yannick Duchêne (Hibou57)
2012-06-12 7:55 ` Dmitry A. Kazakov
2012-06-12 9:48 ` Georg Bauhaus
2012-06-12 11:44 ` Dmitry A. Kazakov
2012-06-12 12:17 ` Georg Bauhaus
2012-06-12 12:18 ` Dmitry A. Kazakov
2012-06-11 18:29 ` Adam Beneschan
2012-06-11 19:16 ` Jeffrey Carter
2012-06-11 21:47 ` Yannick Duchêne (Hibou57)
2012-06-21 17:39 ` Randy Brukardt
2012-06-21 17:34 ` Randy Brukardt
2012-06-10 18:15 ` darkestkhan
2012-06-10 19:25 ` Dmitry A. Kazakov
2012-06-11 6:34 ` Jacob Sparre Andersen
2012-06-21 17:41 ` Randy Brukardt
2012-06-10 15:49 ` Shark8
2012-06-10 17:04 ` Yannick Duchêne (Hibou57)
2012-06-10 19:47 ` Dmitry A. Kazakov
2012-06-11 0:37 ` Nasser M. Abbasi
2012-06-11 8:37 ` Dmitry A. Kazakov
2012-06-12 6:24 ` Yannick Duchêne (Hibou57)
2012-06-12 7:59 ` Dmitry A. Kazakov
2012-06-13 10:35 ` quiet_lad
2012-06-13 13:09 ` Dmitry A. Kazakov
2012-06-14 3:21 ` quiet_lad
2012-06-14 7:58 ` Dmitry A. Kazakov
2012-06-14 8:39 ` Yannick Duchêne (Hibou57)
2012-06-14 9:26 ` Dmitry A. Kazakov
2012-06-21 17:51 ` Randy Brukardt
2012-06-11 0:00 ` Nasser M. Abbasi
2012-06-11 3:23 ` Jeffrey Carter
2012-06-11 21:10 ` Nomen Nescio
2012-06-11 21:55 ` Adam Beneschan
2012-06-12 8:07 ` Nomen Nescio
2012-06-12 15:28 ` Fritz Wuehler
2012-06-12 21:34 ` Nomen Nescio
2012-06-14 11:12 ` Nomen Nescio
2012-06-21 18:01 ` Randy Brukardt
2012-06-12 21:12 ` Nomen Nescio
2012-06-13 0:04 ` Adam Beneschan
2012-06-13 3:04 ` Shark8
2012-06-13 8:21 ` Dmitry A. Kazakov
2012-06-13 18:21 ` Shark8
2012-06-13 19:11 ` Dmitry A. Kazakov
2012-06-13 22:01 ` Yannick Duchêne (Hibou57)
2012-06-14 8:02 ` Dmitry A. Kazakov
2012-06-14 9:10 ` Yannick Duchêne (Hibou57)
2012-06-14 9:33 ` Dmitry A. Kazakov
2012-06-21 18:10 ` Randy Brukardt
2012-06-13 8:35 ` Yannick Duchêne (Hibou57)
2012-06-13 8:37 ` Georg Bauhaus
2012-06-13 10:14 ` Georg Bauhaus
2012-06-11 22:49 ` Jeffrey Carter
2012-06-13 10:31 ` quiet_lad
2012-06-13 12:57 ` Maciej Sobczak
2012-06-14 4:18 ` quiet_lad
2012-06-14 7:35 ` Ludovic Brenta
2012-06-14 10:02 ` Georg Bauhaus
2012-06-12 19:17 ` i3text
2012-06-12 19:52 ` Vadim Godunko
2012-06-27 18:39 ` Eryndlia Mavourneen
2012-06-27 18:46 ` Eryndlia Mavourneen
2012-06-28 13:23 ` Simon Wright
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox