[Info-vax] Greg Kroah-Hartman on backwards compatibility

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Tue Dec 1 12:04:48 EST 2020


On 2020-12-01 15:39:17 +0000, Arne Vajhj said:

> On 12/1/2020 10:03 AM, Stephen Hoffman wrote:
>> I've spoken at conferences discussing the limits of these API designs, 
>> and around more modern and more flexible alternatives.  For many apps, 
>> OO is less code for the caller and less errors, while also providing 
>> equal and variously better flexibility and isolation and abstraction.
> 
> That is definitely the way to go for future API's.

And of course as a replacement for existing OpenVMS APIs, as those too 
will need to transition for this to be useful. But then I don't see an 
overhauled OpenVMS calling standard anytime soon.

>> This adoption does require updating languages and run-times to allow OO 
>> and require developers adopting OO. Having started using Objective C 
>> after years of C, and using Cocoa from years of OpenVMS APIs, the 
>> transition was striking—how much less code was needed, and how much 
>> more flexible and capable the resulting apps were.
> 
> Shouldn't you be using Swift instead of Objective-C?
> 
> :-)

Apropos of this very discussion, Swift was making breaking source 
changes until version 4 (2017), and was making breaking binary ABI 
changes until version 5 (2019). That has all stabilized in more recent 
versions.

The volume of existing Objective C code means that language is not 
going away soon, allowing for an incremental transition to new work in 
Swift (or Rust or others) as appropriate.

I don't foresee Swift (or Rust) becoming hugely popular on OpenVMS, either.

>> Put differently, BASIC and C and such could be staggeringly better than 
>> now, and OpenVMS itself much easier to work with, and so much more than 
>> what inflexible APIs including $qio will permit.
> 
> Basic and Pascal are obvious languages to utilize higher level API's.
> 
> I do not see C in that role.

As C? No. As Objective C? Yes. Objective C allows all the classic and 
lower-level C shenanigans (and yes, the downsides of same), while is 
also fully OO. Which is really handy.


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list