[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

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.RTitleUserPersonal
Name
DateLines
278.1FLUME::dikeThu Feb 23 1989 09:2514
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