On LinkedIn Richard Riehle suggested that strong typing was claimed by many languages but Ada offers more in precision typing. I wonder if precision would fit around the coin?
On Mon, 18 Aug 2025, Dmitry A. Kazakov wrote: |-----------------------------------------------------------------------------|
|"These are unrelated issues. Strong typing is about: |
| |
|1. Any object has a type. Note that many OO languages violate this principle,|
|but not Ada which has T'Class and T separate. |
| |
|[. . .]" |
|-----------------------------------------------------------------------------|
Ada is a strongly typed language so Ada is not an OOP language.
What Richard refers to is an accuracy of mapping a type to the problem
space. Talking about numerical entities the model types have precision, range, accuracy (float vs. fixed-point vs. unbounded), behavior like rounding, handling of exceptional states (breaking out the model) etc.
On Mon, 18 Aug 2025 13:08:32 +0200, Dmitry A. Kazakov wrote:
What Richard refers to is an accuracy of mapping a type to the problem
space. Talking about numerical entities the model types have precision,
range, accuracy (float vs. fixed-point vs. unbounded), behavior like
rounding, handling of exceptional states (breaking out the model) etc.
Subclassing?
Ada is a strongly typed language so Ada is not an OOP language.
Ada is a strongly typed OO language.
Le 18/08/2025 à 17:03, Dmitry A. Kazakov a écrit :
Ada is a strongly typed language so Ada is not an OOP language.
Ada is a strongly typed OO language.
More precisely:
OOP implies a weakening of the typing system, since a wider class can contain any object of the subclass.
But in Ada, this can happen only for objects of a class-wide type; so
you get it only if you ask for it, and you immediately know from the
type of an object which values it can hold.
OOP implies a weakening of the typing system, since a wider class can
contain any object of the subclass.
Constrained subtypes are even "weaker" in that respect, e.g. Positive
vs. Integer.
OOP implies a weakening of the typing system, since a wider class can| contain any object of the subclass. || |
On Wed, 20 Aug 2025, so became written: |-----------------------------------------------------------------------| |"On Tue, 19 Aug 2025 08:24:23 +0200, J-P. Rosen wrote: |
| |
OOP implies a weakening of the typing system, since a wider class can| contain any object of the subclass. || |
|Or conversely, a strengthening, since operations defined only on a | |subclass will not work on the superclass." |
|-----------------------------------------------------------------------|
Operations defined only on a subclass would result in a superclass (or
any unrelated class) receivng a message which does not match its
protocol so it would crash. That is OOP. We do not need that. That is
not Ada. We need Ada.
Constrained subtypes are even "weaker" in that respect, e.g. Positive
vs. Integer.
On 2025-08-18 15:59, Niocláisín Cóilín de Ghlostéir wrote:
On Mon, 18 Aug 2025, Dmitry A. Kazakov wrote:
|-----------------------------------------------------------------------------|
|"These are unrelated issues. Strong typing is
about: |
| |
|1. Any object has a type. Note that many OO languages violate this
principle,|
|but not Ada which has T'Class and T
separate. |
| |
|[. .
.]" |
|-----------------------------------------------------------------------------|
Ada is a strongly typed language so Ada is not an OOP language.
Ada is a strongly typed OO language.
Some people called Ada 83 an "object-based" language, perhaps because
Ada programs typically modelled the real application objects (as
abstract data types) even before tagged types were available.
I get lost in OOP talk. So much...meh.
Constrained subtypes are even "weaker" in that respect, e.g. Positive
vs. Integer.
I don't understand this point as you can just use new types instead of subtypes as needed.
So Ada is not an OOP language. Cf. Professor Alan Curtis Kay says:
Cf. a Smalltalk superclass can receive a subclass message for which no superclass counterpart exists, so causing a crash. OOP is poop!
So Ada is not an OOP language. Cf. Professor Alan Curtis Kay says: || |
superclass counterpart exists, so causing a crash. OOP is poop! || |
Please stop misusing a term which Prof. Kay coined.
On Wed, 20 Aug 2025, Dmitry A. Kazakov wrote: |------------------------------------------------------------------------| |"On 2025-08-20 19:18, Niocláisín Cóilín de Ghlostéir wrote: |
| |
So Ada is not an OOP language. Cf. Professor Alan Curtis Kay says: || | |To be clear, I don't care what Prof. Kay says." | |------------------------------------------------------------------------|
Please stop misusing a term which Prof. Kay coined. If you do not care
about what Prof. Kay says, then you do not care about object orientation.
It is fair enough for some person to not care about object orientation. Instead, incorrectly boasting about being an OO expert who writes in an OO language when this languague - Ada - is not an OO language is a bad idea,
so please stop so.
|-------------------------------------------------------------------------|
|"> Cf. a Smalltalk superclass can receive a subclass message for which no|
superclass counterpart exists, so causing a crash. OOP is poop! || | |I care even less about Smalltalk. It is about Ada. I explained that your | |suggestion about Ada subclasses evidently wrong." | |-------------------------------------------------------------------------|
I made no "suggestion about Ada subclasses" in this thread, as I clearly referred to an OOP language so clearly excluding Ada. Indeed, you actually quote me saying: "So Ada is not an OOP language."!
Another thing which he did not do is wanting persons to call circles "squares".
Some people called Ada 83 an "object-based" language, perhaps becauseThis guy researched the origins of OOP with a focus on C++ apparently
Ada programs typically modelled the real application objects (as
abstract data types) even before tagged types were available.
botching it up. I'm not sure how interesting anyone might find it to
be.
"https://youtu.be/wo84LFzx5nI"
It is with increasing frequency that video presentations, or plain-old >written articles are making these assertions about OOP, and it's origins, >and obvious problems in the context of C++. They all ignore Ada, and the >Lisps, and their contributions, and their sound design in the context of >OOP.
Personally I have only used any OOP features in Dart and Ada. In Dart I
hate the seemingly excessive boiler plate.
Personally I have only used any OOP features in Dart and Ada. In Dart I| hate the seemingly excessive boiler plate. || | |Try Python. Both functions and classes are first-class objects, so there |
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 1,064 |
Nodes: | 10 (0 / 10) |
Uptime: | 152:38:38 |
Calls: | 13,691 |
Calls today: | 1 |
Files: | 186,936 |
D/L today: |
2,520 files (731M bytes) |
Messages: | 2,411,051 |