C Programming environments was Re: Just a minor new twist on free()
Rahul Dhesi
dhesi%cirrusl at oliveb.ATC.olivetti.com
Sat Oct 27 02:58:26 AEST 1990
In <119 at nazgul.UUCP> bright at nazgul.UUCP (Walter Bright) writes:
In my experience, MS-DOS has the most advanced and polished
programming tools available on it....If other systems are so
superior, why aren't their programming environments up to the
standards of the MS-DOS world?
There are a number of reasons why the jury is still out. At one time I
was doing C programming on a number of systems in parallel:
(a) MS-DOS/Turbo C 1.0, (b) MS-DOS/Datalight C, an old version;
(c) 4.3BSD; (d) AT&T UNIX PC, SVR1 with SVR2 utilities;
(e) Xenix/68000; (f) Microport System V/AT 2.2; (g) Xenix/86; (h) AT&T
3B2 SVR3; (i) VAX/VMS. Believe it or not, despite not having even a
near-ANSI compiler or any fancy screen-oriented debugging, 4.3BSD
appeared to be the most powerful environment. Why? Because of the
many tools available. For one thing, a good revision control system is
practically a must, and RCS (comes with 4.xBSD, now also from Free
Software Foundation) is excellent. MS-DOS doesn't come with one, so
you need to add one. Being on a low budget, I didn't add one; had I
done so, MS-DOS might have been a better environment. But even so,
MS-DOS lacks most of the advantages of UNIX: The ability to have
several things going on; the ability to suspend jobs (big plus for
4.3BSD over everything else); ability to do lots of text processing and
filtering.
However, I ended up doing most of the development on a Microport System
V/AT machine. It has SCCS for source control, it could reliably check
the dereferencing of NULL pointers (try that with MS-DOS), and it, too,
allowed me to have multiple sessions going between which I could switch
instantaneously. (Something similar is possible under MS-DOS if you
add Desqview, but that is a bad idea if you're doing programming and
your machine is liable to crash at any time.)
Machine crashes...the final reason why MS-DOS is not the best. (This
may now be changing with the availability of 80386 machines and virtual
environments...or maybe not. Strange things can still happen if the
underlying MS-DOS gets messed up, or if the keyboard goes into a
strange state and you can't type keystrokes any more, so that even
Ctrl-Alt-Del won't work.)
Here's what it would take to being MS-DOS up to the level of 4.3BSD:
(a) A good revision control system. I haven't tried any for MS-DOS.
(b) Protection against crashes. (Not yet possible under MS-DOS, though
I haven't check to see if the 386-based debuggers might provide that.)
Also protection against NULL-pointer and invalid memory references.
(c) Decent multitasking. I don't think Windows or Desqview quite cuts
it, though Desqview sometimes comes close. (d) The standard 4.3BSD +
SVR3 suite of tools, especially things like grep/sed/awk and the
ability to string them in pipes. I hear good things about the MKS
tools, but until they can do multitasking they probably won't suffice.
A good compiler and debugger aren't enough. For a good *programming
environment*, as opposed to merely generating good code, they probably
aren't even necessary.
--
Rahul Dhesi <dhesi%cirrusl at oliveb.ATC.olivetti.com>
UUCP: oliveb!cirrusl!dhesi
A pointer is not an address. It is a way of finding an address. -- me
More information about the Comp.lang.c
mailing list