[Info-vax] VSI: "Official 8.4-1H1 Launch"
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Mon Jun 15 21:22:25 EDT 2015
On 2015-06-15 23:05:04 +0000, mcleanjoh at gmail.com said:
> I guess itemlists were a reasonable approach when memory was in short supply.
>
> These days, with greater memory, would you opt for a fixed structure
> per call (e.g. getjpi_struct) with a flag value (composite of OR'ed
> item codes) to say what data should be loaded into that structure by
> the called routine? Or would you do it some other way?
I happen to like the OO messaging approach. It's at least as flexible
and quite probably more flexible than itemlists, and it's cleaner —
that deals with the API flexibility, with whatever the data that should
be returned, as well as releasing the memory when you're done with it.
Delegates when you want to be notified of something. I've posted an
example of a request for the host names else-thread.
Somebody that knows Microsoft .NET can provide what that platform does
here; I'd expect it's roughly similar.
For not-OO code on OpenVMS, the equivalent lib$ calls are easier for
most operations, but they're still pretty clunky. Particularly around
the memory management. (Yes, I know that the system services can get
more than one item in each call.)
For the existing itemlist morass, it'd be nice if there were wrapper
calls or macros or compiler assistance; something that generated a blob
on the heap and dealt with the creation and linkages and cleanup for
you. An itemlist parser for use in the called code, too. But I'd
spend little time on the older tooling. There's not really any fixing
it in the existing application source code and you're going to have to
support the old ways for the foreseeable future, and if you're going to
expend the effort to start draining the swamps, then rethink the
interfaces and go all in and expend it on a different and better
approach. Make it so that the folks with the old code see how much
less code and how much easier it is, and really want to move forward.
I don't expect to see something like Swift or Objective C on OpenVMS,
but it'll be in the range of possibilities on x86-64.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list