<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 24, 2020 at 11:47 AM Per Dalgas Jakobsen <<a href="mailto:pdj@knaldgas.dk">pdj@knaldgas.dk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <p>Hi,</p>
    <p>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.<br></p></div></blockquote><div><br></div><div>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. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p>
    </p>
    <p>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?</p></div></blockquote><div><br></div><div>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. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
    <p>If you are interested there is a video of its final run (Danish
      speaking, sorry):
      <a href="http://knaldgas.dk/~pdj/robocup/DTU_RoboCup_Roadrunner_Finale_2019.mp4" target="_blank">http://knaldgas.dk/~pdj/robocup/DTU_RoboCup_Roadrunner_Finale_2019.mp4</a><br>
    </p>
    <p>Anyhow, books, guidance, etc.:<br>
    </p>
    <ul>
      <li>Book: "Programming in Ada 2012" by John Barnes, ISBN
        978-1-107-42481-4</li>
      <li>IRC: #Ada</li>
      <li>Google group:
        <a href="https://groups.google.com/forum/#!forum/comp.lang.ada" target="_blank">https://groups.google.com/forum/#!forum/comp.lang.ada</a></li></ul></div></blockquote><div><br></div><div>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!</div><div><br></div><div>Also any book by Alan Burns or Andy Wellings comes recommended even though I haven't read them all. :)</div><div><br></div><div>--joel</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><ul>
    </ul>
    <p>See you out there :-)<br>
    </p>
    <p>~Per<br>
    </p>
    <p><br>
    </p>
    <div>On 6/24/20 5:27 PM, Joel Sherrill
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr"><br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Wed, Jun 24, 2020 at 3:39
            AM Ярослав Лещинский <<a href="mailto:midniwalker@gmail.com" target="_blank">midniwalker@gmail.com</a>>
            wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div dir="auto">Hello,</div>
            <div dir="auto"><br>
            </div>
            <div dir="auto">AFAIK RTEMS has an ada support maybe someone
              can suggest any useful manual, guides, books, etc about
              this language? Level - newbie. </div>
          </blockquote>
          <div><br>
          </div>
          <div>Yes. When you use the RSB to build the RTEMS C and C++
            tools, there is an option to enable building Ada support. </div>
          <div><br>
          </div>
          <div>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 <a href="https://learn.adacore.com/" target="_blank">https://learn.adacore.com/</a> which
            should be a good starting point.  Once you are past that, <a href="https://en.wikibooks.org/wiki/Ada_Programming/Tutorials" target="_blank">https://en.wikibooks.org/wiki/Ada_Programming/Tutorials</a> lists
            a number of other tutorials.</div>
          <div><br>
          </div>
          <div>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.</div>
          <div><br>
          </div>
          <div>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. </div>
          <div><br>
          </div>
          <div>Learn it as a language on a native platform and then try
            it on RTEMS once you are comfortable with it.</div>
          <div><br>
          </div>
          <div>--joel</div>
          <div><br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div dir="auto"><br>
            </div>
            <div dir="auto">Thanks.</div>
            -- <br>
            <div dir="ltr">
              <div dir="ltr">
                <div>
                  <div dir="ltr">
                    <div dir="ltr"><span>
                        <div style="font-size:12.8px"><font face="verdana, sans-serif" color="#000000">--</font></div>
                        <div style="font-size:12.8px"><font face="verdana, sans-serif" color="#000000">Kind
                            regards,</font></div>
                        <div style="font-size:12.8px"><font face="verdana, sans-serif" color="#000000"><b>Yaroslav
                              Leshchinsky</b></font></div>
                      </span></div>
                  </div>
                </div>
              </div>
            </div>
            _______________________________________________<br>
            users mailing list<br>
            <a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
            <a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a></blockquote>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
users mailing list
<a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a>
<a href="http://lists.rtems.org/mailman/listinfo/users" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a></pre>
    </blockquote>
  </div>

_______________________________________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a></blockquote></div></div>