[comp.os.vms] Free Software and Digital's VAX C Compiler

nagy%warner.hepnet@LBL.GOV (Frank J. Nagy/VAX Guru) (10/09/87)

I'm afraid I don't understand the difficulties some people have with
the Free Software Foundation.  I've been using and contributing *free*
software all my professional life: mostly via the DECUS Library and
the VAX and other SIG Tapes (more than a Gigabyte and going strong :-).
This software runs from the useful and sublime to the pointless and
ridiculous but often you can find just the tool you need to solve a
problem (or a program close to it which you can easily modify).

In the microcomputer world (Macintosh), I've seen PD software whose
usefulness and quality put to shame many of the high-priced commercial
packages.

(* FLAME ON *)

What has really irritated me are the comments that VAX C is not a
*real* C compiler.  This is sort of like *real men don't eat quiche*.
Come on...  The VAX C compiler produces code, not the best but quite
good and (I feel) getting better (unlike some vendors whose MS-DOS
FORTRAN compiler optimizes your subroutine calls right out of your
DO loops; makes your code run faster, so I guess its *optimized*).
I use VAX C extensively, my current project is building its complete
system on VAX C to good effect.  I would like to see the compiler get
some extensions to help with the interface to the VMS system services
and RTL routines; but VAX C certainly beats having to code in MACRO
(the alternative is FORTRAN).  I originally got VAX C into the lab here
because I wanted a language with data structure capabilities; at the
time BLISS was to $$$$$, VAX PASCAL was in V1-useless stage and FORTRAN
was a long way from the V4 /STRUCTURE/ extensions (sigh!).

Being an old FORTRAN person, I found the transition to VAX C to be quite
smooth.  Instead of my system calls being filled with %VAL()'s, I now
had to use $DESCRIPTOR's to make string descriptor structures.  Since I
don't write code to port to/from UNIX (well, sometimes I port a tool from
UNIX), whatever problems there are in the C RTL have not really be a
major problem.  The biggest problem was the fact that stdout was written
as a stream file, but I now use freopen() with extra arguments like
"rfm=var" and "rat=cr" to have normal VMS text files written by my C
utilities.

So, if you have problems with VAX C don't bemoan them here.  Write SPRs
to Digital.  Go to the DECUS Symposia and make your concerns known
to the developers.  Within DECUS, the Languages and Tools SIG provides
the best interface to the Digital language developers (the VAX SIG for
the VMS development team).

(* Pant! Pant! FLAME OFF *)



= Frank J. Nagy   "VAX Guru"
= Fermilab Research Division EED/Controls
= HEPNET: WARNER::NAGY (43198::NAGY) or FNAL::NAGY (43009::NAGY)
= BitNet: NAGY@FNAL
= USnail: Fermilab POB 500 MS/220 Batavia, IL 60510