[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | DECWINDOWS 26-JAN-89 to 29-NOV-90 |
Notice: | See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit |
Moderator: | STAR::VATNE |
|
Created: | Mon Oct 30 1989 |
Last Modified: | Mon Dec 31 1990 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 3726 |
Total number of notes: | 19516 |
278.0. "Application portability and languages" by ULTRA::WRAY (John Wray, Secure Systems Development) Wed Feb 22 1989 23:28
One of the goals of DECwindows is application portability. Currently
if you want to write an application that's portable between VMS and
Ultrix, you have to use the C-bindings, and therefore probably C too.
As far as I know, C is the only DEC-supported language that runs on
both software platforms, and can produce transportable DECwindows
source code.
This leads me to wonder what the future holds for the VAX bindings. Is
there any intent to port them across to Ultrix so that (for example)
FORTRAN programs can enjoy portability at source-code level too?
Is there a market for alternative language-independent bindings? For
me, this would mean at least providing descriptor-based strings as an
alternative to the use of null-terminated strings at the DECwindows
interface, and removing "by-value" parameter passing.
We currently have VAX bindings and C bindings under VMS. There's just
the C bindings under Ultrix. This looks very much like an interim
solution. If the VAX bindings aren't going to be ported, they're doing
more harm than good by existing.
Some people are going to start writing programs that use the VAX
bindings in the expectation that such programs can be ported to
VAX/Ultrix. After all, we call them VAX bindings, not VMS bindings.
VMS customers will also expect the VAX bindings to be maintained -
after all, doesn't marketing make much of the fact that "if it ran on
VMS version 1, it'll run on VMS version 10"?
Less trusting people aren't going to use them at all, and therefore are
going to be forced to adopt C as a programming language.
So we end up in the situation where only a few people are using the VAX
bindings, but we are committed to supporting them forever, because we
chose to ship them and document them as part of VMS, rather than as a
layered product.
So it seems that DECwindows *of itself* hasn't (yet) really done
anything to help port applications. What it is doing is convincing
more people to write in C, which (by virtue of the fact that by common
agreement 'C' seems to include most of Unix as part of its library) is
pretty portable anyway. Those applications that were portable anyway,
can now draw pictures on both systems. What DECwindows may well end up
doing is providing a short-term bridge for people to migrate from VMS
to Unix. After all, if there's a significant commercial gain to be
made by writing my applications in C, what's the real advantage of
developing them under VMS? If I'm writing in C, I might as well use
the native C development environment - Unix.
Isn't language-independence too valuable an asset to give up without a
good reason?
This has been a bit rambling (it's late), but I really am interested in
hearing what people's perceptions are of the future of the C and VAX
bindings. Are we committed to C as the preferred development language
for future Digital layered-products (assuming that a portable
application is worth considerably more to Digital than a non-portable
one)? Is there a future for a wide choice of application languages on
either or both software platforms? Could we design a language-
independent calling standard for Ultrix (and PMAX, come to that)? Is
there a market for such a capability? No-one else has done this on
Unix (as far as I know), so maybe nobody's really tested the waters.
T.R | Title | User | Personal Name | Date | Lines |
---|
278.1 | | FLUME::dike | | Thu Feb 23 1989 09:25 | 14 |
| The VAX bindings exist on both Ultrix and VMS, giving you portability with
either set of bindings with C or Fortran code, as long as you're only
interested in running on a VAX. Both sets of bindings exist for at least Xlib
and the toolkit on the VAX. I'm not sure about other libraries.
The story is different for PMAX. If you want to run on both VAX and MAX, you
have to use the C bindings because the VAX bindings don't exist. There is no
reason that they couldn't exist. We just had more important things to do than
write a brand new interface for every entry point in Xlib and the toolkit.
Bindings exist for both C and Fortran. The correctness of the fortran bindings
is somewhat suspect at this point because I'm not sure how much they have been
used.
Jeff
|