Starting an Ada track

I would be good to have an Ada track to educate the masses about the blessings of her deeds. Anyone else like to contribute ?


Are you willing to take over maintership?

The existing Ada track got deactivated a couple of months ago.

I need to have someone help me on this. First of all a logo Is needed and I do not do gfx.

I don’t think that you have to use gfx, you could use any tool. (I take it you are talking about using GFX Maker, since that is the only thing I know about that uses that name.)

If you have a logo that you have in mind, I think that we could come up with a solution for that, though.

Ada does not have an official logo.
We have
The Ada Coin - Old school
The Hummingbird - Ada is not small and lightweight
The Lady Ada in many variants - Well…

I suggest the King/Emperor penguin.
I guess it can be changes later anyway…

1 Like

Yes, I will take over maintainship.

1 Like


1 Like

Skærmbillede 2023-01-09 kl. 07.25.45

1 Like

The AWK track already has a penguin-y icon:
Exercism AWK icon

1 Like

To be clear, there isn’t an Ada track. There are no exercises or a test runner, so it needs to be created from scratch. There was a repo created but no work happened on it.

So the work would be creating the full track. Logos are created by Exercism staff (specifically @taiyab) so you don’t need to worry about this bit - instead it required 20 exercises to be created from our Problem Specifications data and then a test runner to be created!

@jquorning Creating a track is quite a bit of work (@glennj can probably estimate the amount of hours) so we’d require that commitment from you in order to restart work on it, but if you’re up for that, then we’d love to have an Ada track :)


Thanks for letting us know :-)

1 Like

I have given it some thought and I really like more manpower on this especially the build infrastructure. The track: I think it should be modeled near 1:1 to the book ‘Ada as a second language’ bu Norman H. Cohen. The book is an Ada (95) walk through for a programmer familiar with imperative programming. The book has no exercises. Its is the least problem. The track should appeal to the Software Engineer wannabe!

1 Like

Ada: ‘I have heard that kind of talk before, boy!’

1 Like

The picture is (c) Apple

1 Like

I’d be willing to help, too.

Ada is one of my favourite languages, and I would like to see it represented here!

1 Like

Starting a track from scratch is daunting but doable. First suggestion is to build a team. Cobol happened quickly because we had a team. 8th had a considerably smaller team and took ages. If it hadn’t been for @ErikSchierboom i doubt it would have happened at all. Euphoria is going to take some time too. Will i still be sane enough at the end to do SNOBOL4?

I did write some Ada a few years ago.

Make sure someone on the team understands github actions as CI/CD is a requirement.


Hi all. So we’re happy to re-explore the idea of an Ada Track.

Exercism tracks are consistent in terms of the fact they have exercises based on our problem specifications repository. The first thing to do to get a track launched is to implement ~20 exercises. Chapel and Gleam are two good examples of where this has been going on. So @jquorning, we wouldn’t be basing it on that book etc.

The first step is to agree on the Hello World exercise. You can do that here, and once it’s agreed we’ll create a new repo where you can PR it. Every track has a Hello World and they all follow the exact same pattern. You can see the spec here and check any language to see it working. The three things we need agreed as a starting point are an exercise stub, and example file and a test suite. Once you’ve agreed that here, let us know and we’ll create the repo.

Further down the line we’ll then need a test runner and some other stuff, but let’s get towards 20 exercises implemented first :slight_smile:



So, to defuse the whole “blank page” thing, here’s the Hello World from Imperative language —

with Ada.Text_IO;

procedure Greet is
   --  Print "Hello, World!" to the screen
   Ada.Text_IO.Put_Line ("Hello, World!");
end Greet;

To make this match the spec we probably want to name it Hello instead of Greet, and it needs to return the string rather than Put_Line it.

What would that look like?


Maybe like this(?):

procedure Hello return String is
   return  "Hello, World!";
end Hello;
1 Like