[net.lang.mod2] Wirth...

rcd@opus.UUCP (Dick Dunn) (02/13/85)

> ... Tell me some
> good things about Pascal. I happen to think it is pathetic. Let's see, first
> there was Pascal, then Modula-1, then Modula-2. Looks like it took Wirth three
> tries to get it right (if in fact he did). The claim that "It was designed as a
> teaching language" doesn't cut it with me. It's a toy. If I were Blaise I'd be
> rolling over in my grave. 

[My turn to return a zing at a DeadHead...oh well...]
As long as we're doing history, let's be careful about it...Pascal wasn't
"first" for Wirth.  There was PL/360, which was designed as a decent
alternative to assembly language for the IBM 360--not bad, for its time.
There was Euler (a much earlier "name it after someone" language) which was
an experiment with some new concepts.  Pascal WAS designed as a teaching
language, like it or not.  It's useful for writing certain classes of
programs, and it's a DAMNED GOOD language for teaching--I know; I've used
it for just that.  Pascal has a lot of characteristics which make it
interesting for constructing serious software.  It also has a handful of
serious drawbacks.  These could not be solved without bad boogie on
compatibility.  Wirth had also learned a bunch about languages,
particularly for systems and low-level use.  So we get Modula.  Modula 1
was an oops; Modula 2 is at a somewhat lower level than Pascal but is
otherwise basically a cleaned-up Pascal.  It's not three (or five) tries to
get it right--it's 3 or 5 different languages with different goals and
different results.  The guy's a language designer.  Look--Pascal came in
around 1970 and had the serious smell of CDC 6x00 batch about it.  Modula 2
came in around 1977 and had a lot of feel of PDP-11 and RT-11 about it.
Someone has said that language designers turn out a new language every
seven years.  We're about due--any guesses about what will come from Wirth
next?
-- 
Dick Dunn	{hao,ucbvax,allegra}!nbires!rcd		(303)444-5710 x3086
   ...Cerebus for dictator!

thomas@utah-gr.UUCP (Spencer W. Thomas) (02/13/85)

Hey, guys, if you want to know what Wirth was about when he designed
PL360, Euler, Pascal, Modula, .... why don't you read his Turing award
lecture in this month's CACM.  Right from the horse's mouth.  Then we
don't need to wade through these inane, interminable discussions about
whether Pascal was, or was not, designed as a teaching language, and so
on.  And in net.lang.c, of all places!!!

Followups to this message will go to net.flame.

-- 
=Spencer
	({ihnp4,decvax}!utah-cs!thomas, thomas@utah-cs.ARPA)
	"A sharp tongue is the only edge tool that grows keener with
	 constant use" - Washington Irving

rcd@opus.UUCP (Dick Dunn) (02/14/85)

In the parent article, I made a few comments about the various languages
Wirth has done over the years--a real candidate for a "Gee, I'm glad I
didn't screw that one up", since the Feb 1985 issue of CACM just arrived
today with the Turing Award lecture by Niklaus Wirth...in which he recounts
some experiences with the various languages he has done over the years.
It's pleasant reading--you may not agree with all he says, but it's worth a
look anyway.
-- 
Dick Dunn	{hao,ucbvax,allegra}!nbires!rcd		(303)444-5710 x3086
   ...Cerebus for dictator!

bob@sdcsvax.UUCP (Robert Hofkin) (02/14/85)

> any guesses about what will come from Wirth next?

I heard Wirth admit last weekend that Modula-2 is not perfect, but he
has recently issued revisions to the language definition.  Wirth seems
to be spending his time on Modula-related activities, so I'm not sure
how soon a successor language will appear.  Anyway, his relations with
PARC convince me that the next language will support more dynamic
bindings.

mark@rtech.ARPA (Mark Wittenberg) (02/18/85)

On the topic of PASCAL and MODULA-2:

	Pascal doesn't allow declaring a "pointer to pointer to ..." directly
	(you need an intermediate type), but given such a thing allows you to
	say "object pointed to by object pointed to by ...".  I thought that
	Wirth had fixed this when I saw that M-2 does allow declaring a
	"pointer to pointer to ..." directly.  My enthusiasm was tempered when
	I noticed that it does NOT allow "ptr^^"; you must use a run-time
	temp variable.  Anybody know why the change?

Mark Wittenberg
Relational Technology, Inc
ucbvax!mtxinu!rtech!mark