[Info-vax] Dependencies and Calling Standards (was: Re: Opportunity for VSI?)
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Sun Dec 16 14:10:01 EST 2018
On 2018-12-15 18:29:01 +0000, Dave Froble said:
> On 12/15/2018 1:14 PM, Stephen Hoffman wrote:
>> On 2018-12-15 17:08:48 +0000, John Reagan said:
>>
>>> The spread of OpenVMS languages is not what the rest of the world
>>> expects.
>>
>> There's no small difference between the expectations and experiences of
>> the current OpenVMS installed base and those of others.
>
> Probably rather true. VMS users demand better.
And are willing to accept much worse, in some areas. The developer
tools are a bit of a mess, around the lack of a modern IDE, and around
having to integrate other development tools. And missing frameworks
and libraries. But these tools do matter for folks looking to allow
OpenVMS to coexist with or to add support for OpenVMS. Some of the
motivation for developers to use clustering as part of a software
source code platform migration effort is reduced when git or mercurial
is in use, for instance; a different approach to the problem.
>> Also part of why porting off of OpenVMS is often expensive.
>
> Because other systems don't provide reasonable capabilities?
More than a little of the OpenVMS code was not written with portability
in mind, and tends to be filled with RMS calls, with system services
and itemlists and RTL calls, with extensive DCL, and with other
less-than-portable constructs.
I am well aware of some very large OpenVMS projects that were ported
off to Linux and quickly, though those projects had worked to isolate
the system dependencies.
>> And why porting onto OpenVMS is often expensive.
>
> Because other systems use unreasonable capabilities?
Finding and porting over dependencies and prerequisites, and—prior to
the arrival of the work that VSI has undertaken—with downgrading source
code to older compiler standards, among other details.
Dependencies on PostgreSQL or SQLite, too. These tools and these
frameworks matter matter less for the traditional and existing apps
found on OpenVMS.
>> OpenVMS is weird. And at times, not in a good way.
>
> Why, because it hasn't (at least totally) accepted that C is everything?
>
> Why, because of those who say "we want standards", and then declare
> "Unix is the standard"?
>
> I'm curious, how many other systems are you aware of that have a common
> calling standard, such that routines in different languages can easily
> be used together?
>
> Hmmm... perhaps not even VMS, since C doesn't really conform.
The Microsoft Common Language Runtime (CLR) is what the OpenVMS calling
standard looks like twenty years on, and after substantial improvements
in its features and capabilities, and after evolving descriptors into
objects and other changes.
https://docs.microsoft.com/en-us/dotnet/standard/clr
https://en.wikipedia.org/wiki/.NET_Framework
Though there's little reason for VSI to chase this particular set of
ECMA standards, that is an option. And .NET Core and CoreCLR source
code is available with reasonable licensing, as has been mentioned
around here before.
Biggest issue with C and C++ on OpenVMS and the calling standard was
arguably that the languages were never extended to integrate
OpenVMS-isms such as string descriptors and itemlists and other -isms.
Which is how we ended up with $DESCRIPTOR() and descrip.h and iledef.h
and ilk, and how C sprouted as much or more glue code than some of the
existing programming languages such as BASIC and Fortran. That C and
C++ enhancement work is less interesting now, but it would have been
beneficial many years ago. New OpenVMS work for developers is likely
best happening elsewhere. Not in retrofitting current C and C++ into
OpenVMS. I certainly don't expect to encounter ObjC or ObjC++ on
OpenVMS.
The opportunities for VSI here involve understanding what is available
and used on and necessary on other platforms, and around providing
options and alternatives if not explicit support for that. This effort
differs substantially from working on what will help existing OpenVMS
folks keep using the OpenVMS platform. Clustering and RMS and the DLM
and HBVS aren't going to particularly attract new interest going
forward. Not much more than what those same longstanding features have
attracted over the past decades. And features and changes intended to
attract new users variously won't be interesting to existing users. A
few might even disrupt existing users.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list