Programming Language: Ada (typesafe, like RUST)


FBnil

They'll own everything and be miserable.
Joined
Dec 14, 2012
Messages
5,118
Location
Yurp
Before RUST there was... is ADA.

15 minutes explaining how to make tetris with guarantees that it does not divide by zero, nor has buffer overflows. The power is in the SPARK and GNAT
uses: car/automotive industries to NOT have bluescreens or coredumps in the car software. Medical software, etc.

Video: http://video.fosdem.org/2017/H.2215/spark.vp8.webm


A little bit more about save/secure and proved programs:

 
Last edited:
I just watched 5 minutes of programming language propaganda. I'll use whatever programming language that I like. Beep boop. Am I real? Yes, because I just shit my pants.
 
I am actually writing Ada code for my current customer. The language certainly has its advantages and disadvantages.

The fact that it is effectively a near-dead language and does not have any worthwhile ecosystem does not help (few and poor tools, lack of libraries, etc...)

That said, it has some nice features which make it interesting to learn. To name some:
A very strong type system, representation clauses (i.e. fine-grained control over memory layout), Tasks (the way ada handles multi-threading), and programming by contract.

Unfortunately we are not using SPARK yet. It can be tricky to transition to SPARK with an existing codebase.
 
I am actually writing Ada code for my current customer. The language certainly has its advantages and disadvantages.

The fact that it is effectively a near-dead language and does not have any worthwhile ecosystem does not help (few and poor tools, lack of libraries, etc...)
I've always been interested in SPARK, but the chicken-and-egg problem is quite offputting. Are there any (Ada) online communities that you would recommend? Any Ada and/or SPARK learning resources in particular?
 
I don't have any experience with the online ada communities, so I will refrain from recommending any.
Your guess is as good as mine.

As for learning resources, we utilize the usual top-level search hits, such as:
http://www.adahome.com/Tutorials/Lovelace/lovelace.html

AdaCore also organizes and provides trainings.
You could contact Martyn Pike, see e.g. http://www.adacore.com/public-ada-training/
Some colleagues followed a training by him, seemed to be worth the time and money.

I found the Ada Annotated Reference Manual to be of interest as well. You can fine it here:
http://www.ada-auth.org/standards/ada12.html
It is more a reference manual than a tutorial, but useful nevertheless.

Aside from that, just start using it. Best way to learn is to solve actual problems.

<edit>A nice overview of the basics: http://www.adacore.com/uploads_gems/Ada_for_the_C++_or_Java_Developer-cc.pdf</edit>
 
Last edited:
Back
Top