On Thu, Aug 31, 2017 at 3:47 PM, Toby Thain <toby(a)telegraphics.com.au>
wrote:
[snip]
But the
problem was that in those days, because Wirth had designed it
for complete small student programs, it was hard to write large real
programs (as Brian points). So people fixed it and every fixed it
differently. Pascal was hardly standardized. ...
And this was the root of the real problem.
You could not write “real” programs in it and really make them run on
actual systems. Brian was writing that paper, after an exercise in
Professor Knuth seemed to manage OK, writing TeX and METAFONT in Pascal
(using his literate programming toolset, but that did not extend the
language much).
To be fair, I think that Knuth originally wrote both TeX and METAFONT in
the SAIL language for the PDP-10. He switched to Pascal (again on the
PDP-10) later.
I've often wondered to what extent (natural) language shapes thought; for
instance, to what extent does grammatical gender influence patriarchy or
matriarchy of the society that speaks that language, etc. If some thought
is relatively harder to express in a given language, will less attention be
given to areas associated with that thought? It is my limited understanding
that linguists and social scientists have studied this and seen a positive
correlation between language and culture/society (I don't know if it's
causal).
But if we go out on a branch and assume that it *is* causal for a moment,
it naturally raises the question: is the same true of other types of
languages? How about programming languages or mathematical notations (or
other similar domain specific languages)?
I have long suspected that it is true of programming. While most of the
languages we use are Turing complete (I suppose that in the limit one can
write a Common Lisp implementation in C, for example), it is unarguable
that some languages make it *easier* to express some things than other
languages. In some cases this is deliberate: consider languages with
strong, static type systems versus dynamic but strongly typed languages (or
statically but weakly typed). Here the language designers have
intentionally made it hard to escape the tyranny of the type system in
order to prevent bugs.
Anyway, I wonder if Knuth would have produced the same TeX and METAFONT had
he started in Pascal; perhaps he would have, but maybe he would have given
up on some of the more ambitious parts of both because the language made it
much less convenient (not knowing SAIL, I'm speculating). Perhaps having
gone through the exercise of producing TeX in SAIL gave him insight that
inspired him to work around Pascal's expressive limitations. Or perhaps the
opposite is true.
Regardless, comparing the work of a Knuth to the industry average is more
than a bit unfair. :-)
I suppose Apple's Pascal and Object Pascal -- used for Lisa and
Macintosh applications and systems software -- comes
under the "so
people fixed it" category?
Object Pascal, Delphi and Free Pascal (which seeks to implement the best of
both) seem to have definitely fallen into that category.
- Dan C.