AdaCore Blog

Ada in Practice, a New Learn Course

Ada in Practice, a New Learn Course

by Pat Rogers

A new Learn course has been deployed, titled "Ada in Practice."

You can view it here: https://learn.adacore.com/cour...

The goal of the course is to show how to make the most effective use of the language in non-trivial applications.

In particular, this new course is intended for developers who are familiar with the Ada language syntax and semantics, but are wondering how best to apply what they know. Their situation is analogous to someone familiar with a spoken language but not the idiomatic expressions used in conversations. My favorite example is a French idiom that (in English) is something like "We didn't raise the pig together." The idiom means "We don't know each other well enough for what you just said to be appropriate. You're violating social etiquette." The phrase probably has other similar meanings as well.

In the case of programming languages, an idiom is the recognized expression of a solution to a programming problem or scenario. The scenario might be common to many programming languages, or might be specific to a given language. But in either case the implementation of the solution is one recognized by the community as the best in that scenario.

Note that some people would equate idioms with design patterns, and they're not wrong. But this isn't a course on implementing design patterns in Ada. What we have in mind is more general in scope, and in some cases lower-level. For example, "type punning" is a well-known approach to applying different types and operations to a single object and the concept is independent of the programming language. However, type punning is not a design pattern.

In addition to these language-independent scenarios, we also include solutions for situations specific to the Ada language. These idioms arise due to the particular capabilities of the language and can be considered "best practices" for those situations.

Note that this is only the first release. More idiom entries will be added over time.

Let us know what you think! Put in your two cents. Talk turkey. Weigh in. Lay it on the line...

Posted in #Ada    #Learn.adacore.com    #Ada   

About Pat Rogers

Pat Rogers

Dr. Patrick Rogers has been a computing professional since 1975, primarily working on embedded real-time applications including high-fidelity flight simulators and Supervisory Control and Data Acquisition (SCADA) systems controlling hazardous materials. He was director of the Ada9X Laboratory for the U.S. Air Force’s Joint Advanced Strike Technology Program, Principal Investigator in distributed systems and fault tolerance research projects using Ada for the U.S. Air Force and Army, and Associate Director for Research at the NASA Software Engineering Research Center. As a member of the Senior Technical Staff at AdaCore, he specializes in supporting real-time/embedded application developers, develops bare-board products and demonstrations, and creates training courses and presentations. He serves as Convenor of ISO/IEC JTC 1/SC 22/WG 9, the group responsible for the Ada standard.