I’m not sure if Ada counts as “simple” as C (maybe so, maybe not depending on where you find complexity, but I find it funny at at this point the Ada spec is smaller than the C++ spec.
Ada is definitely more complex than C, but not as complex as C++. If you can draw the parallel between .h/.c and .ads/.adb files, you're halfway to using Ada-as-C. If you then learn the basic procedural syntax and just enough about packages to be dangerous, you can use Ada as a moderately safer C.
You have to learn the type system, task and protected types, and a few other things to really get the advantages of Ada, though. While those aren't hard, they aren't "simple" in the same way that C is simple. But you can learn them piecewise, which is good, as it permits incremental learning of the language.
Yeah I guess part of my line of thinking was the the undefined behavior of C is a sort of complexity you may not get in Ada.
I actually love the language, and am kinda sad it doesn’t see much use anymore. I saw a job some weeks back that involved porting a bunch of Ada code on VAX to C#/Windows and I just didn’t have the heart to apply lmao.
You have to learn the type system, task and protected types, and a few other things to really get the advantages of Ada, though. While those aren't hard, they aren't "simple" in the same way that C is simple. But you can learn them piecewise, which is good, as it permits incremental learning of the language.