Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83 (MC830713); site vu44.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!seismo!mcvax!vu44!jack
From: jack@vu44.UUCP (Jack Jansen)
Newsgroups: net.lang.c,net.lang.pascal
Subject: Re: PASCAL as a systems programming langugage
Message-ID: <571@vu44.UUCP>
Date: Sat, 12-Jan-85 17:33:53 EST
Article-I.D.: vu44.571
Posted: Sat Jan 12 17:33:53 1985
Date-Received: Mon, 14-Jan-85 03:17:31 EST
References: <282@harvard.ARPA> <7211@brl-tgr.ARPA>
Distribution: net
Organization: The Retarded Programmers Home, VU, Amsterdam
Lines: 41
Xref: watmath net.lang.c:3856 net.lang.pascal:186

Ok, let me throw in my $1E-1 worth of opinion.

I use both Pascal (mainly on a prime and on a cyber) and C (on
unix) a lot, especially for system-programming.
Although I haven't written any kernel stuff in pascal, I did
write things like an uucp-like package, an editor and stuff
like that in it.

Well, what I like most about pascal is that it *works*.
By this, I mean that if a C program takes an hour to write
and a pascal program 2 hours, the pascal program is debugged
in 20 minutes, and the C program in 2 days.

As an example, I wrote a program to read tar tapes on a prime
(in pascal) *yesterday*.
This is exactly what I mean. It took me no more than 8 hours to
write *AND DEBUG* a ~600 line pascal program. (Ok, there's still
ONE bug, it won't extract a file if an intermediate directory
name starts with a digit, but I'll fix that mondaymorning between
11:00 and 11:01 hour:-).

Now, if anyone ever succeeded in accomplishing something like
this in C, I would be very interested. Usually, I find that C programs
of that size (say, 200-1000 lines) take about 1 day per 100 lines
to write.
I have seen this also with friends of mine, so I don't think it
can be influenced by a difference in experience or other personal
factors, I think that pascal, by *forcing* you to define your
data, parameters, etc. correctly points you to a lot of logic errors
(and typing errors), where C will have you addicted to coffee and
tobacco by the time you locate the missing &.

It's a *real* pity, though, that there are no standard ways to do
even mildly funny things (opening a named file, static variables or
other forms of modularization, *any* kind of string handling, etc etc),
and that there are no *fast* pascal compilers for unix (are there?
I'd *love* to hear about them!!).
-- 
	Jack Jansen, {seismo|philabs|decvax}!mcvax!vu44!jack
	or				       ...!vu44!htsa!jack
Help! How do I make a cup of tee while working with an acoustic modem?