[fpc-pascal] Be careful of too many features

Steve Litt slitt at troubleshooters.com
Tue May 31 06:59:42 CEST 2022


Brian via fpc-pascal said on Mon, 30 May 2022 22:36:00 -0400

>On 5/30/22 14:59, Steve Litt via fpc-pascal wrote:
>> Hi all,
>> 
>> In 1984 I started my programming career with Whitesmith Pascal,  
>
>Sorry for the off-topic post, folks, but this just opened a wound from 
>my distant past... :(
>
>I was a couple of years ahead of you, Steve, but at least in 1982 on 
>the PDP-11, Whitesmith Pascal was a truly *awful* thing - a 
>translation engine, not a compiler. It was a front end to Whitesmith 
>C, which in turn translated to Macro-11 and then compiled and linked 
>that (we watched these steps via RMD). The code produced was horribly 
>inefficient (we looked at the Macro-11 listings), and using RSX-11M 
>rather than M+, with no library space, code space was at a premium.
>
>We quickly switched to Oregon Pascal (which DEC later bought as the 
>foundation of RSX Pascal) and it was a *far* superior compiler. Apart 
>from the debugger, that is, which took up so much space that you could 
>just about debug 'Hello, world' and that was it.
>
>Hopefully Whitesmiths improved in the couple of years before you 
>started with it, or there was a better implementation if you used it 
>on a machine other than a PDP-11.

It didn't get better. It got worse. By 1985, the same piece of code
would successfully compile about 6 times out of 10. When you had all
sorts of modules to compile, that meant SOMETHING would fail, and
whatever make facility we had as I remember made us do the whole mass
compile over again.

Through trial and error I observed that once it compiles successfully,
it would compile several more times. So I created whatever you called
shellscripts on RT-11, called PMA, which stood for "Positive Mental
Attitude". It would compile a trivial program about 7 times, and only
after that would it do the real compile. PMA increased our success a
little.

I called Whitesmith in 1986 asking if this would be fixed and offering
to help, and they told me they weren't doing any more work on their
Pascal because only three companies worldwide still used it. At that
point I reported that we'd need to rewrite in another language.

By the way, during the day I'd program in Whitesmith Pascal with its 10
minute compiles. By night I'd use Turbo Pascal 2, on a floppy driven
Kaypro 2x running CPM, and compiles would take less than 10 seconds.
And I could hit any memory location I wanted to, which later became
essential for MS-DOS (remember B800?). I also wrote high level Turbo
Pascal file readers that read the input file in huge and doled them out
by the character or line, and that worked better than any of Turbo C's
high or low level reads, or the Whitesmith C at work.

When I became a hired gun programmer and took my show on the road, for
years I traveled with a Turbo Pascal 3 floppy in my pocket to work
around whatever my customer's chosen language couldn't do. If you
remember the Borland copyright (use like a book), this was perfectly
within the license as long as I didn't actually install Turbo Pascal on
the customer machine. 

A year or so ago I took a Turbo Pascal program originally written in
1985, modified it slightly, ran it under Freepascal, and got the
whole thing running except for the chiptunes music. The soundon() and
soundoff() don't work on Linux. I'd love to find a way to get those
working.

SteveT

Steve Litt 
Spring 2022 featured book: Making Mental Models: Advanced Edition
http://www.troubleshooters.com/mmm


More information about the fpc-pascal mailing list