Safe, Dynamic Task Creation in Ada

I’m a pretty big fan of R. Tyler Croy because his articles are always well-written and to the point, and his latest addition to the interwebs is no exception: Safe, Dynamic Task creation in Ada.

A few years ago, Ada become my hobby/tinker programming language of choice, for a number of reasons, concurrency being one of them. In this post I’d like to walk you through an example of dynamic task creation in Ada, which uses Ada.Task_Termination handlers, a new feature in Ada 2005.

The article is packed with neat little snippets of code for maximum entertainment value. It’s a good read if you’re interested in seeing Ada.Task_Termination in action.

Here’s hoping we wont have to wait forever before mr. Croy gets busy on his next Ada programming article.

Parallel programming for sequential programmers

Our very own Jacob Sparre Andersen is doing a course on Parallel Ada programming for sequential programmers at Open Source Days 2013:

Assuming you already know sequential programming in a procedural programming language, this course can get you started writing parallel programs using the Ada programming language.

Short and sweet. The course contents are as follows.

  1. A quick introduction to the basics of sequential programming in Ada. — Just enough to allow you to map your existing programming knowledge to Ada. 45 minutes lecture + 45 minutes exercises.
  2. Creating and understanding basic tasks (parallel threads of execution) with Ada. — I.e. parallel programming without interaction. 45 minutes lecture + 45 minutes exercises
  3. Communication between tasks using safe, shared objects. One kind of interaction between tasks. 45 minutes lecture + 45 minutes exercises
  4. Direct communication between tasks using rendezvous. — Another kind of interaction between tasks. 45 minutes lecture + 45 minutes exercises
  5. Patterns for implementing parallel execution. 45 minutes lecture

I’m so going. Next step: Getting an Open Source Days 2013 ticket.

Concurrent Ada Programming

I wrote a short article about concurrent Ada programming, and a mere handful of minutes after I put it online a reader had found a bug in it.

You gotta love the interwebz! 😀

It’s definitely an article for beginners, and I do plan on adding it to the Ada-DK Wiki as soon as possible. Feel free to let me know what you think about it, and don’t hold back on suggestions for improvements.