That's a longer answer than a single number or range of numbers.
Huh? When? What year? The p-system is released around the same time as the microcomputer. Pascal never approaches the ROM/Basic/OS combo those systems defaulted to.
The reason is both the reason for its success and the reason for its failure. The Pascal language makes a lot of compromises in areas of readability and organization to allow for small compilers. In the case of PCs, it was much easier to write a Pascal compiler that ran well off a 128k floppy than a C compiler. That stopped mattering pretty quickly.
Well first off the super computers aren't about the Pascal language but the Pascal chip. I'd disagree that Pascal was all that proven out. It seemed very quickly to have had structural flaws which caused other languages to overtake it. Pascal was fairly low level yet it lacked good low level interfaces. Which is why it lost out to C. Pascal supports admit this and one of the main directions of Turbo Pascal / Delphi was to introduce into Pascal handling for lower level code (example partial compilation).
If you think of Pascal as a higher level language where bad handling of low level code is acceptable it also wasn't competitive. Pascal is strongly typed but has a poor type system without abstractions. Making types difficult to work with under almost all conditions. It had poor handling of static vs. dynamic data including things like abstracting networks or file systems. There are lots of sacrifices in organization for ease in writing small compilers. A very good choice for early 1980s PC compilers that had to run off a floppy not a good choice since. The languages strictness on looping structures tended to result in duplicate code.
Etc... Pascal was a partial success. But it died for good reasons.
Apple from the days of the 128k Mac has discouraged consumer tampering. They want to control the repair eco system. That's not incompetence it is policy.
FWIW the banks are behind the Apple / Google solutions. The people being stodgy are the storefronts that want to keep their equipment costs low. The banks can't afford to alienate them so they side loading this technology into the ecosystem.
Banks? They are highly trusted. They allow for key regeneration / recovery because they have physical locations and can check ID. They are technically savvy when they want to be. They have international and national bodies. They are regulated.
I would agree consistent documentation is not the strong suit. That being said the help topic in mail, "Sign or encrypt messages for increased security" is there.
Giving credit where credit is due. mail.app and keychain make it a breeze. You can drag and drop public keys, sign email, use 3rd party sources or generate keys all with a gui that is rather intuitive.
That's a very good answer. I'm going to digest it for a day or two and think about it. This forum doesn't lend itself to long conversations. But I'll see if it is still open for a response. My initial thinking is your argument seems strong.
I guess the question then is, given your attitude above why do you think even single inheritance is useful? How does the above not argument equally apply in that case? In other words why not do what functional languages do and have polymorphic methods not tied to classes and get rid of base / parent classes entirely?
Inheritance / linking in gives you finer grained control for upgrades. The recompile / link can do abstractions. Think about how Linux applications upgrade with libraries piecemeal.
Interesting point Xest. And phrased politely for a correction as well. I guess it comes down to fundamentally do you view Honda as a collection of cars or do you view Honda as a brand that is applied to cars. I was thinking the former you were thinking the later. I do agree that under the later no reason that brand shouldn't be a property is-a relationship.
Let me ask you the classic GUI examples: button inheriting from rectangle and clickable. How would you unwrap that?
Yes of course my car is a type of Honda. "My car is an Accord" is a perfectly natural thing to say. Similarly among all registered entities in NJ my car is one particular type.
Yes. An interface of small programs and thus keeps design constraints reasonable. The big issue with that is when you have to do complex changes across the system and keep things in sync.