On Thu, May 9, 2024, 6:10 PM Paul Koning via cctalk <cctalk@classiccmp.org>
wrote:

>
>
> > On May 9, 2024, at 7:55 PM, Fred Cisin via cctalk <cctalk@classiccmp.org>
> wrote:
> >
> >>> ...
> >>> I've written code in Pascal, as well as Modula-2.  Never liked
> >>> it--seemed to be a bit awkward for the low-level stuff that I was
> doing.
> >
> > On Thu, 9 May 2024, Paul Koning via cctalk wrote:
> >> Not surprising, since that's not what it is all about.  Both, like
> their predecessor ALGOL-60 as well as successors like Ada, are strongly
> typed languages where doing unsafe stuff is made very hard.  Contrast that
> with C, which sets out to make it easy to do unsafe things and partly for
> that reason has a feeble type system.  So doing low level stuff like device
> drivers is difficult, unless you create extensions to break out of the type
> system.  An example of how to do that is the Burroughs extension of ALGOL
> called ESPOL, which is what they used to write the OS.  Actually, Burroughs
> did a number of extended versions for different purposes; there's also
> DCALGOL (Data comm ALGOL) intended for writing communications software.
> Why that's separate from ESPOL I don't really know; I only ever got to do
> regular ALGOL programming on Burroughs mainframes.  One reason for that:
> those systems depend on the compilers for their security; if ordinary users
> got access to ESPOL they could write dangerous code, but in ALGOL they
> cannot.
> >
> > One of the things that _I_ love about C is that it is easy to get it out
> of the way when you want to do something lower level.
> >
> > Rather than feeble type system, it could have had a requirement to
> explicitly "cast" anything being used as a "wrong" type.
> >
> > One of Alan Holub's books about C is titled
> > "Enough rope to shoot yourself in the foot"
>
> True, and Stroustrup added that "and C++ is a cannon that blows off your
> entire leg".
>

The other joke is that C++ lets you shoot off the 27 identical legs you
didn't know you had...

Warner

> Each language has its own specialty.  And you need to find the one that
> fits you best.
> >
> > It used to be (and likely still is), that every computer science grad
> student created a new language.  A requirement (usually UNSPOKEN) was that
> the compiler be able to compile itself.  That the language compiler is
> written (actually normally RE-written) in that language and compiled by
> that compiler.  That certainly seems to bias things towards languages that
> are well suited for writing compilers!  If you were to create a language
> that was specializzed for something completely different, and poorly suited
> for writing compilers, then it would not be respected.
>
> If you don't mind the total lack of protection, FORTH is very nice: it
> even more easily than C lets you do low level things, and it is also very
> small.  And the implementation is by definition entirely extensible.  A
> large FORTH program I wrote in the 1980s, on PDP-11 FORTH, starts out by
> redefining the language as a 32-bit version.
>
> I still remember a classmate of mine, who told me when we were both at DEC
> that he had written an expression parser in COBOL.  I think he also tried
> to do one in RPG but found it was too hard.
>
>         paul
>
>

Reply via email to