Offtop: ada programming

Joel Sherrill joel at rtems.org
Wed Jun 24 17:07:00 UTC 2020


On Wed, Jun 24, 2020 at 11:47 AM Per Dalgas Jakobsen <pdj at knaldgas.dk>
wrote:

> Hi,
>
> I've been using Assembler, C, C++, C#, Pascal, Delphi, etc. but never
> found a language so pleasant to use on larger projects than Ada - A shame
> that it's knowledge is not more widespread. Maintaining a +30 year old code
> base of +1MSLOC written in Ada turned out *not* to be a nightmare :-) - On
> the contrary, implementing Web Services (SOAP and REST) and Web Clients
> into this old code base was actually quite easy. The old saying/joke: "If
> it compiles it works" is *almost* right.
>

Ada was designed for programming in the large. I loved going to Ada
conferences because the problems being solved were huge.  Experience
presentations always came with a bit of "we tried this and it didn't
scale." Great place to see patterns that work.

> Together with two friends I programmed an autonomous robot in Ada for a
> competition - I actually considered RTEMS for the job, but were too lazy,
> so we used Linux for this one, perhaps next year should be with RTEMS?
>

One of the lesser know capabilities of Ada is that there is a distributed
systems annex. Since the package specification boundary is so strong, you
can pick which packages represent services and RPC interfaces. This allows
you to transparently split an application into a distributed set of
executables. Long ago, the folks who implemented that for GNAT had a robot
that ran RTEMS and they used this for the control interface.

> If you are interested there is a video of its final run (Danish speaking,
> sorry):
> http://knaldgas.dk/~pdj/robocup/DTU_RoboCup_Roadrunner_Finale_2019.mp4
>
> Anyhow, books, guidance, etc.:
>
>    - Book: "Programming in Ada 2012" by John Barnes, ISBN
>    978-1-107-42481-4
>    - IRC: #Ada
>    - Google group: https://groups.google.com/forum/#!forum/comp.lang.ada
>
>
John Barnes is an interesting fellow. I've had the pleasure of meeting him
a few times over the years. Wonderful dinner company! His books are great!

Also any book by Alan Burns or Andy Wellings comes recommended even though
I haven't read them all. :)

--joel


>
>
> See you out there :-)
>
> ~Per
>
>
> On 6/24/20 5:27 PM, Joel Sherrill wrote:
>
>
> On Wed, Jun 24, 2020 at 3:39 AM Ярослав Лещинский <midniwalker at gmail.com>
> wrote:
>
>> Hello,
>>
>> AFAIK RTEMS has an ada support maybe someone can suggest any useful
>> manual, guides, books, etc about this language? Level - newbie.
>>
>
> Yes. When you use the RSB to build the RTEMS C and C++ tools, there is an
> option to enable building Ada support.
>
> As to learning Ada, GNU Ada  (GNAT) was initially developed to provide a
> path for folks to learn Ada and make it more approachable. AdaCore still
> carries on that mission and has https://learn.adacore.com/ which
> should be a good starting point.  Once you are past that,
> https://en.wikibooks.org/wiki/Ada_Programming/Tutorials lists a number of
> other tutorials.
>
> You may be surprised to learn that Ada95 is still very widely used and
> introduced some object-oriented support. Ada 2005 added more
> object-oriented capabilities. Ada 2012 added the SPARK annotation which
> allows for formal program correctness checks. There are obviously other
> differences between the editions of the language but those are the
> highlights.
>
> Ada is strongly typed, includes tasking, and was designed for use in
> critical systems. A goal is to find errors at compile or analysis time and
> not in the field.
>
> Learn it as a language on a native platform and then try it on RTEMS once
> you are comfortable with it.
>
> --joel
>
>
>> Thanks.
>> --
>> --
>> Kind regards,
>> *Yaroslav Leshchinsky*
>> _______________________________________________
>> users mailing list
>> users at rtems.org
>> http://lists.rtems.org/mailman/listinfo/users
>
>
> _______________________________________________
> users mailing listusers at rtems.orghttp://lists.rtems.org/mailman/listinfo/users
>
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20200624/0cca5499/attachment-0001.html>


More information about the users mailing list