Offtop: ada programming

Gedare Bloom gedare at rtems.org
Wed Jun 24 18:02:50 UTC 2020


For $25USD: https://www.amazon.com/Analysable-Real-Time-Systems-Programmed-Ada/dp/1530265509

On Wed, Jun 24, 2020 at 11:07 AM Joel Sherrill <joel at rtems.org> wrote:
>
>
>
> 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 list
>> users at rtems.org
>> http://lists.rtems.org/mailman/listinfo/users
>>
>> _______________________________________________
>> users mailing list
>> users at rtems.org
>> http://lists.rtems.org/mailman/listinfo/users
>
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users


More information about the users mailing list