When I talk about Ada, one can probably assume I’m about to tell something about the programming language Ada and he might be right. Ada is an object oriented programming language which was initially developed by the DoD because they needed a solid base to build on. They needed tested, compatible, and sane tools. They needed a standardized programming language that’s strongly typed, so this is where Ada came in.
Read more about the Ada programming language on wikipedia.
If you are a pascal programmer or even a “delphi” coder you might feel at home when you put your hands on Ada because it all looks and feels like pascal though Ada is much more than a blind copy.
What compiler should I use?
GNAT. Really…this is the best supported Ada compiler these days and it’s almost available everyhwere. If you are running debian or ubuntu you can simply install gnat by issuing “apt-get install gnat” or if not search for it “apt-cache search gnat” and install the appropriate package.
I want to learn Ada
Don’t believe Ada is a widely supported language. There will be times when you can’t fix an issue yourself and are stuck on yourself, too…there is a mailinglist but it’s run by adacore and you have to rely on them.
In the www there are many resources to learn Ada and due to the standards defined you can rely on almost every piece of code out there. Some books are horribly and some are good. You will have to find out yourself…
- Ada95 by Gordon Dodrill
- Ada95 by John Barnes
- Quick Ada
- Practical Ada
- Rational Ada
- Ada and Linux
So is Ada the right choice?
In the first few moments I really liked Ada because I like the pascal syntax and because I developed with pascal and delphi earlier before I felt home somehow…but there is this thing what programmers and software engineers heavily rely on and which is missing in Ada…the 3rd party libraries. I’m not talking about missing bindings to connect to postgresql, mysql or oracle but you may find yourself in a strange mood when you find out that these libs are very old but due to the standardized language the chance that these old bindings work is really good. In fact I could easily establish a connection to a postgresql database but still you have the feeling there is something missing. The “big support”, the feeling that some big company is taking care…no, you don’t have it. And then you also begin to realize that nobody or at least not the mass is needing this knowledge.
This is just my personal opinion and I can’t judge for you. You will have to do it on your own. Selecting the appropriate programming language is also a task of a software developer and if you are unable to choose the right thing, it’s your fault.