upvote
The way you express it is different from most other languages I’ve come across. It doesn’t make it bad in any way ( I’ve written Ada professionally), just unusual. Basically Ada already provides natively substantial capabilities relative to encapsulation, modularities, generics etc but in a procedural context. The designers bolted on OO facilities on top of said existing mechanisms.

While it may look reasonably clean in the link below, I’ve always found it integrates badly with an existing codebase, the primary problem being that the ‘boundaries’ of the objects are not clearly visible.

https://learn.adacore.com/courses/Ada_For_The_CPP_Java_Devel...

I will add that the existing non oo features are excellent and I would even argue that in many cases you don’t need OO.

reply
Thanks.

>I will add that the existing non oo features are excellent and I would even argue that in many cases you don’t need OO.

Somewhat the same in Python, because of the built-in data structures such as lists, dicts and sets, and the ability to compose them.

reply