On DEC systems, I programmed using FORTRAN, BLISS, MACRO and (on GiGi and RSTS/E) in BASIC for a long time.. then one day the Bell Labs spinoff I worked for bought a Whitesmith’s C license for the VAXcluster (for probably oodles of money) and I was transferred into a group headed by the guy who wrote UNIX’s malloc implementation a long time before I came along. He hated VMS as much as I hated C. He couldn’t use UNIX because it only ran on dogshit computers. I couldn’t use FORTRAN because someone read a book that said C was cool. We all carried around our K&R pamphlet books and the Whitesmith’s manual (which the Indian workers would mispronounce with three syllables lol). The compiler had all kinds of issues on VMS. Eventually, DEC released VAX-11 C (still have my little 5x7” orange book) and that was enough to make me give up (the truly wonderful) VAX FORTRAN and MACRO/BLISS compilers. My home setup (it was not common for anyone to have home setups then, even programmers) was all assembler, FORTH, Pascal and BASIC but with the shift to C at work, I finally sold a kidney and bought Lattice C and later Aztec C and after moving to the Mac (as I sealed my Amigas into the boxes in the garage where they remain to this day), MPW C, THINK C and CodeWarrior C, MS Visual C, before Yggdrasil Linux…GNU C, then GNU Objective C and now (needle scratch silence) Swift? All started with Whitesmith’s C…
robinsonb5 48 days ago [-]
If any of those Amigas had a battery backed clock, please remove the batteries at the earliest opportunity and neutralise the area affected by any leakage with a mild acid such as lemon juice. They'll almost certainly have leaked by now but the longer it's left the worse the damage will be.
burnt-resistor 48 days ago [-]
By now, that's the least of the concerns. If they use linear PSUs with massive electrolytic capacitors, I'll bet they're toast (dried or leaking, and so far outside of spec). And anywhere with any amount of humidity without desiccant packets and sealed in plastic will experience corrosion of PCBs and connectors.
gjvc 48 days ago [-]
Absolutely this. The Varta batteries of the 1990s have inflicted awful irrepebal damage on many systems of the time. Especially sad when people thought they were keeping them safe in their attic and then unpacked them to find the motherboard full of dead components.
bitwize 48 days ago [-]
When I bought my Amiga, its clock battery had been replaced by a mount for a coin battery. That machine had received some serious love.
Scubabear68 48 days ago [-]
I was lucky enough to work for Manx Software starting, I believe, in 1988. So I not only had free access to all of the Aztec C products, but also learned tremendous amounts from being able to see and work on the source code itself.
I also ended up being a VI guy because Manx had their own vi implementation…
Memories indeed.
icedchai 48 days ago [-]
Ahh... memories. I first learned C on an Amiga with Lattice C (which turned into SAS C.) My A500 was souped up with a HD and extra memory.
That brings back some memories from my early days. I worked on a project that had decided to use the newish C language for a 68000-based system. They chose Whitesmith compiler for it, probably because it was the only one available. For some reason, I was selected to attend a class on learning C and became responsible for installing the compiler and assisting the other engineers on using it. The project was ultimately successful but I don't recall what issues we had with it. I do remember contacting Whitesmith a couple of times to resolve some problems. I guess it possible I was talking directly to P.J. Plauger himself, although, at that time, I would have had no idea who he was.
TomMasz 48 days ago [-]
I remember using that compiler for M68K in the mid-80s, cross-compiling on a DEC Vax. The debug monitor we were using only displayed hex, no disassembly. The compiler was so predictable that I could locate the memory location for any C statement easily. It made patching code in memory a simple task.
julian55 48 days ago [-]
It brings back memories for me too. This compiler was my first introduction to C, before that I'd used Pascal or Fortran. I worked on Z80 but we also had a 68K project which ran Whitesmith's Idris UNIX clone before we got real System III ported
vaxman 49 days ago [-]
..directly while also visualizing his neck veins xD
kragen 48 days ago [-]
Plauger's books are good reading! I'm sorry to hear he's not in good health.
Not to take anything away from Whitesmiths† C, which has a good reputation, but if you're interested in a C compiler for CP/M,
BDS C is fully open source and free software, and also was well regarded. But it's written in assembly, and its compatibility with other C compilers (this was long before ANSI) leaves much to be desired.
We can hope that eventually the Whitesmiths licensing is cleared up, especially since the source is evidently in C. It would be great to have a fully self-sufficient free software development environment that could run on something as simple as an 8080 (6000 transistors, I think NMOS and therefore about 2000 gates) and didn't require you to dip into assembly all the time.
We can probably do better than the 8080 today. Graeme Smecher's Minimax, or Chuck Moore's MuP21 or F18A, seem like they would be a lot more comfortable to program on, and they're not much bigger. The MuP21 was 7000 transistors including ugly video output, with 21-bit words instead of 8-bit, and gsmecher's Minimax is a 32-bit RISC-V in 507 LUT6s, which I don't think anyone has done an ASIC of.
______
† Blacksmiths make hardware, so who makes software?
I have always used (ie since the mid '80s) something like WS layout for C and its descendants. Only much later did I hear that name for it. Often unfashionable, but I have also been a magazine editor, and like the braces to visually lead the eye down the edge of the code that they surround, like a non-indented text para.
mzs 48 days ago [-]
I prefer the Sun extensions to Indian Hill for grepability but I see the appeal especially to folks that came from pascal. Look closely at the example echo.c, thats not "#include <stdio.h>" ;) We still have this included in lots of code where I work since it dates from around 1980:
% grep '/\*' std.h
/* std.h header file to allow use of Whitesmiths pseudo classes/types. */
/* the pseudo storage classes
/* the pseudo types
/* system parameters
%
And yes for me there are ~600 files I still regularly work in written in WS style.
jockm 48 days ago [-]
I hope one day the source for Whitesmiths unix clone Idris gets released. IIRC it was the first unix clone, and it would just be nice to have that preserved for history
Oh wow, I never knew he was an award-winning SF author too. I remember a couple of exchanges with him on the comp.lang.c++.moderated group back in the day.
ChrisMarshallNY 48 days ago [-]
For the first fifteen years or so, of my career, I used Whitesmiths indenting (as opposed to the K&R that I've been using since). I never knew where it came from. It was just a name, to me.
You can see it, if you look at the code.
Rochus 48 days ago [-]
What C version does it support (besides K&R C)? The repository seems to include version 2.2; when was it release? Does the compiler any optimizations?
ok123456 48 days ago [-]
Take a look at some of his other repositories. There's one that has basically every CP/M programming tool.
HocusLocus 48 days ago [-]
Turbo Pascal: One of the earliest bang it out languages that compiled so tightly and quickly it was like a reduced instruction set with benefits
> You might also enjoy the Advent Of Computing podcast episode about IDRIS, Whitesmiths’ UNIX clone. History of the company and the compiler included, because they’re all related.
file layout is the interface here lol you can literally walk the pipeline.. lexer parser codegen linker all just sit where they should. the dir was the flow. back then structure = filesystem. we can cd trace src to bin just by lookin at folders
rramadass 48 days ago [-]
You might find his classic books Programming on Purpose: Essays on Software Design and Programming on Purpose II: Essays on Software People interesting.
On DEC systems, I programmed using FORTRAN, BLISS, MACRO and (on GiGi and RSTS/E) in BASIC for a long time.. then one day the Bell Labs spinoff I worked for bought a Whitesmith’s C license for the VAXcluster (for probably oodles of money) and I was transferred into a group headed by the guy who wrote UNIX’s malloc implementation a long time before I came along. He hated VMS as much as I hated C. He couldn’t use UNIX because it only ran on dogshit computers. I couldn’t use FORTRAN because someone read a book that said C was cool. We all carried around our K&R pamphlet books and the Whitesmith’s manual (which the Indian workers would mispronounce with three syllables lol). The compiler had all kinds of issues on VMS. Eventually, DEC released VAX-11 C (still have my little 5x7” orange book) and that was enough to make me give up (the truly wonderful) VAX FORTRAN and MACRO/BLISS compilers. My home setup (it was not common for anyone to have home setups then, even programmers) was all assembler, FORTH, Pascal and BASIC but with the shift to C at work, I finally sold a kidney and bought Lattice C and later Aztec C and after moving to the Mac (as I sealed my Amigas into the boxes in the garage where they remain to this day), MPW C, THINK C and CodeWarrior C, MS Visual C, before Yggdrasil Linux…GNU C, then GNU Objective C and now (needle scratch silence) Swift? All started with Whitesmith’s C…
I also ended up being a VI guy because Manx had their own vi implementation…
Memories indeed.
A bit raw, with floating point bugs in libm ...
Not to take anything away from Whitesmiths† C, which has a good reputation, but if you're interested in a C compiler for CP/M, BDS C is fully open source and free software, and also was well regarded. But it's written in assembly, and its compatibility with other C compilers (this was long before ANSI) leaves much to be desired.
We can hope that eventually the Whitesmiths licensing is cleared up, especially since the source is evidently in C. It would be great to have a fully self-sufficient free software development environment that could run on something as simple as an 8080 (6000 transistors, I think NMOS and therefore about 2000 gates) and didn't require you to dip into assembly all the time.
We can probably do better than the 8080 today. Graeme Smecher's Minimax, or Chuck Moore's MuP21 or F18A, seem like they would be a lot more comfortable to program on, and they're not much bigger. The MuP21 was 7000 transistors including ugly video output, with 21-bit words instead of 8-bit, and gsmecher's Minimax is a 32-bit RISC-V in 507 LUT6s, which I don't think anyone has done an ASIC of.
______
† Blacksmiths make hardware, so who makes software?
You can see it, if you look at the code.
> You might also enjoy the Advent Of Computing podcast episode about IDRIS, Whitesmiths’ UNIX clone. History of the company and the compiler included, because they’re all related.
https://adventofcomputing.com/
https://youtu.be/UeZpKgtRfx0