> 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".

> 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