[comp.unix.questions] VMS vs. UNIX s/w development tools - query

rayl@bionov.UUCP (Ray Lillard) (03/29/89)

I am a software consultant working with a client company with lots
of code developed for RSX-11.  We are casting about for a new
system (hardware and software) to replace the existing imbedded
target system.  At the same time we are also addressing the
issue of a development system.  My personal favorite is 
of course, UNIX.  VMS is the favorite of some permanent staff
members.  I have extolled the virtues of the UNIX software 
environment and have been told that VMS has tools which are
equally good. (They haven't been using them and the results
are obvious.)  What I have been shown of VMS doesn't begin
to cover the UNIX tools set.  It seems that the concept of
a regular expression is almost completely missing from VMS.

The question:
	Are tools available under VMS which are as powerful
	as YACC, LEX, AWK, SCCS, grep, make, etc... to name
	a few.

Please email responses to me at this account or post to one
of the newsgroups other than comp.os.vms.  This machine doesn't
carry it.  Also, please be rational, I don't wish to start a
VMS bashing session.  Thanks to all who respond.

todd@stiatl.UUCP (Todd Merriman) (03/29/89)

In article <401@bionov.UUCP> rayl@bionov.UUCP (Ray Lillard) writes:
>I am a software consultant working with a client company with lots
>of code developed for RSX-11.  We are casting about for a new
>system (hardware and software) to replace the existing imbedded
>target system.........

I do cross development between Unix, VMS, and MSDOS; and I have
a few opinions on the subject.  I consider Unix to be a superior
*development* environment, but VMS to be a superior *production*
environment.  The variety of tools and power of the Shell make Unix
an ideal choice for technical types and programmers.  The 
sophistication of VMS, combined with its excellent documentation 
and reliability make it the clear winner in production.

   ...!gatech!stiatl!todd
   Todd Merriman * 404-377-TOFU * Atlanta, GA
   Note:  I have no idea what my employer's views on the subject are.

piet@cs.ruu.nl (Piet van Oostrum) (03/29/89)

In article <401@bionov.UUCP>, rayl@bionov (Ray Lillard) writes:

	    I have extolled the virtues of the UNIX software 
 `environment and have been told that .....

My question is: What do people generally consider to be a ``software
development environment''. Is it something like the collection of tools
that Unix has or is there much more in it, for example tools for the
specification and design parts of the software life cycle.

What experience do you have with additional tools in the Unix environment?
-- 
Piet van Oostrum, Dept of Computer Science, University of Utrecht
Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands
Telephone: +31-30-531806. piet@cs.ruu.nl (mcvax!hp4nl!ruuinf!piet)

eversoler@hw-allen.UUCP (Rick Eversole) (03/31/89)

In article <401@bionov.UUCP>, rayl@bionov.UUCP (Ray Lillard) writes:
> I have extolled the virtues of the UNIX software 
> environment and have been told that VMS has tools which are
> equally good. (They haven't been using them and the results
> are obvious.)  What I have been shown of VMS doesn't begin
> to cover the UNIX tools set.  It seems that the concept of
> a regular expression is almost completely missing from VMS.
> 
> The question:
> 	Are tools available under VMS which are as powerful
> 	as YACC, LEX, AWK, SCCS, grep, make, etc... to name
> 	a few.


VMS has tools that can replace SCCS and make. The VMS debugger is one of the
better debuggers I've used. It is still superior the Microsoft Codeview
debugger on the PC.

MMS (module management system) is analogous to make. 
CMS (code management system) is anlogous to SCCS.

Also interesting in VMS are SCAN (a lexical analysis language {I've
never used it}) and the performance analizer (I can not remember 
real name of tool but it is a profiler)

As for YACC, LEX, GREP, and AWK you have a couple of choices :
	1) Purchase EUNICE from Wollongong and run a UNIX shell
		on your VMS system.
	2) Obtain the GNU versions of these excellent developement tools.

I used EUNICE under VMS for about 3 years. It is very close to a complete
implementation of UNIX. We've had trouble with cron, uucp, and the 
berkley series of TCP/IP commands (rsh and rlogin). yacc, lex, awk,
sed, nroff, grep, fgrep, egrep, cc and lint all work great!

You can get LINT for VMS from the Free Software Foundation (GNU) or else
from IPT (Information Processing Technologies).

IPT's LINT-PLUS is very good. It also can be purchased to check FORTRAN
(I've no experience with the Fortran version). LINT-PLUS catches everything
that UNIX LINT does plus more. LINT-PLUS has a whole lot of options to
control the things it reports on. I've used LINT-PLUS for 2 years and it
has saved me on several occassions. LINT-PLUS messages are a whole lot less
cryptic than UNIX LINT. For the first year I would use LINT-PLUS until I had
eliminated all the messages. Then I would run EUNICE's UNIX LINT (nothing
new would show up). I finally started using only LINT-PLUS.

Now, I'm in an Apollo environment and LINT-PLUS is not readily available here.
I have to use UNIX LINT..... oh well ....

VMS does not really have pipes and that can be a real pain !

It aint' cheap but EUNICE on top of VMS will give you access to the best of
both worlds. While in EUNICE you can use most VMS commands. Many can even
be put in a pipe. This little feature has been very helpful on several
occassions. Most of the pipe work I did in EUNICE tended to be a very
one-shot deal. 



----------------------------------------------------------------
Rick Eversole                  AG Communication Systems

	# No association with IPT or DEC
	# The views expressed are soley my own and not those of the
	#  company. 
	# Opposing views are welcome.

 UUNET!zardoz!hrc!gtephx!eversoler

session@uncw.UUCP (Zack Sessions) (04/03/89)

As far as grep and awk are concerned, grep is handled by the DCL Command
SEARCH. And the functionality of awk, though in no way similar, can be
done with the optional layered product, Datatrieve.

Zack Sessions

gph@hpsemc.HP.COM (Paul Houtz) (04/04/89)

session@uncw.UUCP (Zack Sessions) writes:

>As far as grep and awk are concerned, grep is handled by the DCL Command
>SEARCH. And the functionality of awk, though in no way similar, can be
>done with the optional layered product, Datatrieve.

   Having used both systems, I can tell you that SEARCH does not even
  do part of what grep does.   Grep is a real tool, SEARCH is a simple
  string search utility.   In search's favor, however, is that it 
  traverses the directory tree, as does "find . -exec grep".

  Datatrieve is not like awk at all.  Datatrieve is a report writer for
  the VMS RMS files.   It does not have anywhere near the power of AWK.
  You can't really program in Datatrieve, but you can use it to generate
  reports.

   VMS has debuggers that make the Unix debuggers look like the jokes that
  they are.  The VMS debugger has a common command interface for C, Fortran,
  Cobol, and Pascal.  I have not used it with Basic, but I bet it works on
  that language as well (compiled basic is a Big Deal on VMS--many, many
  applications are written in it, so don't laugh :-)). 

   The nice thing about the VMS debugger:  It is very robust (I never found
  a bug using it, I have found many using the unix debuggers), it displays
  data items using the format appropriate for the given language, etc.
  

arrom@aplcen.apl.jhu.edu (Ken Arromdee) (04/05/89)

>   The nice thing about the VMS debugger:  ... (I never found
>  a bug using it, I have found many using the unix debuggers) ...

That's nothing!  the nice thing about using grep as a C compiler is that I
have never compiled a C program with it...

(yes, I know what you really mean; assume :-)'s)
--
               EARTH          |       --Kenneth Arromdee
           smog  |   bricks   |      UUCP: ....!jhunix!ins_akaa
        AIR     mud       FIRE|  INTERNET: arromdee@crabcake.cs.jhu.edu
      soda water |   tequila  |    BITNET: g49i0188@jhuvm
               WATER          |(please, no mail to arrom@aplcen)
Element chart from "Science Made Stupid".  (The chart seems rather popular...)

phil@dhw68k.cts.com (Phil Suematsu) (04/05/89)

In article <401@bionov.UUCP> rayl@bionov.UUCP (Ray Lillard) writes:
>          ...  What I have been shown of VMS doesn't begin
>to cover the UNIX tools set.  It seems that the concept of
>a regular expression is almost completely missing from VMS.
>
>The question:
>	Are tools available under VMS which are as powerful
>	as YACC, LEX, AWK, SCCS, grep, make, etc... to name
>	a few.
>

I use the GNU Yacc, GNU Lex, DECUS grep, and a public-domain
make for software development under VAX/VMS.  The GNU software
has distribution restrictions.  If you distribute a binary
that includes any of GNU's code, you have to distribute the
source to generate the binary.

DEC distributes a source control system called CMS and a 'make'
type program called MMS.  VMS has routines for terminal independent 
I/O (what you might use curses for under Unix).

I also have the Zmodem file transfer programs sz and rz and the
LZW compress programs from Unix working under VMS.  I can't easily 
distribute things on tape, but I can easily distribute source code 
by MS-DOS diskettes if you are interested in the utilities I have 
that may be freely distributed (Yacc, Lex, Grep, Make).  In summary, 
yes, you can have your Make and EDT it too.

-----------------+------------------------------------------------------
  Phil Suematsu  | InterNet: phil@dhw68k.cts.com
Optical Research | or  uucp: ...{trwrb,hplabs}!felix!dhw68k!phil
   Associates    | or  Work: (818) 795-9101  or  Home: (714) 633-0876
-- 
-----------------+------------------------------------------------------
  Phil Suematsu  | InterNet: phil@dhw68k.cts.com or phil@turnkey.tcc.com
Optical Research | or  uucp: ...{trwrb,hplabs}!felix!dhw68k!phil
   Associates    | or  Work: (818) 795-9101  or  Home: (714) 633-0876

friedl@vsi.COM (Stephen J. Friedl) (04/05/89)

In article <810033@hpsemc.HP.COM>, gph@hpsemc.HP.COM (Paul Houtz) writes:
> 
>    VMS has debuggers that make the Unix debuggers look like the jokes that
>   they are.  The VMS debugger has a common command interface for C, Fortran,
>   Cobol, and Pascal.  I have not used it with Basic, but I bet it works on
>   that language as well (compiled basic is a Big Deal on VMS--many, many
>   applications are written in it, so don't laugh :-)). 

When System V Release 4 comes out, the /proc interface will make
it possible for *phenomenal* debuggers to be built (as I'm told
already exist somewhere within AT&T).  The ptrace(2) interface
has its limits, but /proc is not so encumbered.  /proc is easier
to understand and is much higher performance.

/proc is cool.  I wish I knew more about writing debuggers...

     Steve

-- 
Stephen J. Friedl / V-Systems, Inc. / Santa Ana, CA / +1 714 545 6442 
3B2-kind-of-guy   / friedl@vsi.com  / {attmail, uunet, etc}!vsi!friedl

"I do everything in software, even DMA" - Gary W. Keefe (garyk@telxon)

gph@hpsemc.HP.COM (Paul Houtz) (04/05/89)

arrom@aplcen.apl.jhu.edu (Ken Arromdee) writes:
I wrote:
>   The nice thing about the VMS debugger:  ... (I never found
>  a bug using it, I have found many using the unix debuggers) ...

He writes:

>That's nothing!  the nice thing about using grep as a C compiler is that I
>have never compiled a C program with it...
>(yes, I know what you really mean; assume :-)'s)

   Oh man.  I never thought I was capable of such terrible english.

   In case people other than Ken don't know what I really mean, I mean
that I have found many bugs using both debuggers, but I have never 
been hampered with bugs in the VMS debugger ITSELF, as I have with
Unix debuggers!

   Yow!  

reschly@BRL.MIL (Robert J. Reschly Jr.) (04/06/89)

>   The nice thing about the VMS debugger:  It is very robust (I never
> found a bug using it, I have found many using the unix debuggers), it
> displays data items using the format appropriate for the given
> language, etc.

      Paul,

   If you have never found a bug using the VMS debugger, why do you
praise it so highly? :-)  I know what you mean't to say, but it sure did
not come out that way....

				Later,
				    Bob

guy@auspex.auspex.com (Guy Harris) (04/07/89)

>When System V Release 4 comes out, the /proc interface will make
>it possible for *phenomenal* debuggers to be built

It also makes it possible to reimplement the same old crufty debuggers
like "sdb"; I don't know if they'll provide up anything better or not. 
A lot of the stuff that other debuggers have to offer that make them
superior to "sdb" have nothing to do with extra stuff you can do with
"/proc"; they have to do with additional information stuffed into the
symbol table and better, more powerful, command languages.

"/proc" makes it possible to do some more stuff, but there are a *lot*
of improvements you can make without it, and I suspect a lot of the nice
stuff from the VMS debuggers can be added without it.  Some may have
their complaints about "dbx", but I find it *tons* better than "sdb" -
and it's implemented atop "ptrace" on most UNIX systems, at present.

darin@nova.laic.uucp (Darin Johnson) (04/08/89)

In article <1081@vsi.COM> friedl@vsi.COM (Stephen J. Friedl) writes:
>In article <810033@hpsemc.HP.COM>, gph@hpsemc.HP.COM (Paul Houtz) writes:
>> 
>>    VMS has debuggers that make the Unix debuggers look like the jokes that
>>   they are.  The VMS debugger has a common command interface for C, Fortran,
>>   Cobol, and Pascal.  I have not used it with Basic, but I bet it works on
>>   that language as well (compiled basic is a Big Deal on VMS--many, many
>>   applications are written in it, so don't laugh :-)). 

Hmmn.  Except for using a full screen display, I don't think too much of
the VMS debugger.  Dbx mode inside Emacs, or dbxtool, do a lot more for
me (so I can't see the assembler, but so what?).  The VMS debugger will
not work correctly with C, even in version 5.0 (only certain types of
strings can be printed out, and even then, you usually have to precede
them with a '.').  Then you have complex commands (you can alias them
or assign them to keys though, if you figure out how), different types
of variables have different commands to print them (at least in C),
you can't re-run a program without leaving the debugger, etc.  A nice
feature though, is command recall, but that is a feature of VMS, not
the debugger.

I'm sure someone will come out with an X-based debugger that really
shines (separate windows for separate call frames, assembler window, etc
- eg: more than dbxtool or xgdb).

Darin Johnson (leadsv!laic!darin@pyramid.pyramid.com)
	Can you "Spot the Looney"?