thindil
Joined 7 years ago
Joined 7 years ago
2. Functions can be expression functions which can be set in the code specification or used in expressions. Procedures can be written only in packages' bodies.
3. Procedures can be set to no-return state: that kind of procedure doesn't end in the normal way, but, for example, only by raising an exception.
4. Procedures can be null procedures, empty. That not the same as abstract subprograms from other programming languages.
Also, the difference is, in my opinion, more visible in the safe subset of Ada, SPARK, where still exists the rule which forbids side effects on functions.
Out of curiosity, what do you mean by "lack of infrastructure"? About 3rd party libraries, that's true, Ada is far behind more popular languages but due to it nice binding capabilities it is not a problem to use C or C++ libraries in the Ada projects.
About comp.lang.ada I can say too much, I don't spend much time there. To be honest I stopped using Usenet many years ago. Many people who can help you with Ada related problems are on Stack Overflow, Reddit or Gitter too. I think list here: https://github.com/ohenley/awesome-ada#Community is the best place to start to ask for help.
And about the language popularity: as for someone who is inside it, probably it looks for me too optimistic. :) But I think in the last few months Ada got a second (small, but second) chance.
Homepage: https://www.laeran.pl/