#UNIX is not just an OS; it is arguably the ultimate #IDE for #programmers. Arguably the best written introductory book on UNIX programming is "The UNIX Programming Environment", Kernighan (1983). This book covers UNIX V7, but I used it with 4.2BSD.

There is another jewel of a book of a similar kind, a free one to boot, by Prof. Ballesteros (King Juan Carlos University): "Introduction to Operating Systems Abstractions Using Plan 9 from Bell Labs" (2007). Prof. Ballesteros wrote this book to teach his CS students the fundamentals of good OS design.

Although almost no one uses #Plan9 today, it is alive and kicking. It even runs on Raspberry Pi. Anyone interested in OSs and likes the philosophical underpinnings of UNIX should take a look at Plan 9.

The other must-read book is his "Notes on the Plan 9 3ed Kernel Source" (2007). It is a Lions-style commentary.

Prof. Ballesteros has many Plan 9 related publications in PDF format.

https://lsub.org/books-papers/

PS—Those with a historical bent should also read Organick's "The Multics System: An Examination of Its Structure" (1980). Multix is the mother of UNIX, and Plan 9 is the grown-up UNIX.

Books and papers

These are some publications and books I wrote. They are arranged on sections depending on the system they refer to, or put in the miscellaneous section if they do not refer to a particular system w…

Fran. J. Ballesteros

@AmenZwa "#UNIX is not just an OS; it is the ultimate #IDE for #programmers "

Disagree. It doesn't have a REPL, crappy debugger, a editor that is incapable of doing anything. And you cannot introspect anything.

@amszmidt
Right, UNIX certainly isn't LISP Machine or Smalltalk Machine, for sure.

It is forgivable that UNIX didn't have any of these creature comforts that later systems offer, given that it came about in 1969 on a PDP-7 and a teletype. What is unforgivable is how UNIX's modern descendants essentially remained in that mid-60s time-sharing mentality, at their core.

I don't have a better solution to offer; I just moan.😧

PS—Years ago (in the late 1980s), a younger kid accosted me about ed's "stupid line editing", comparing ed to his favourite vi, which he uses on his SPARCstation with X Window. I explained to him that just a decade ago, many users couldn't afford the expensive VT100 to run vi, and were still using the old teletypes. And there is no need for the VDU screen, when there is a wide, long roll of paper displaying all the code, at once.🤣

@AmenZwa It isn't forgivable, even by '69 standards. ITS was far more sane than Unix.

I mean .. vi doesn't even have multiple undo!!!

@amszmidt @AmenZwa

OK, #ITS did a bunch of stuff really, really well... like PCLSRing. (Unix, by contrast, expects every programmer to check every exit code, every time -- and you know what happens when you do that.)

But let's also admit that ITS was equally crazy, just along a different dimension. Delightfully crazy, if you like. But still crazy.

@weekend_editor Oh, ITS was totally nuts.

I was just triggered by "UNIX it is the ultimate #IDE for #programmers".. Even a C64 with a Basic prompt is better..

@AmenZwa

@amszmidt @weekend_editor
Don’t get irked by my posts, mate. Although I’m prone to errors, I never intended to provoke anyone. And I always appreciate being corrected, because that’s one way I learn. I appreciate your perspective, always.

@AmenZwa @amszmidt @weekend_editor

This reminds me of this fun talk: "Liberating the Smalltalk lurking in C and Unix"

https://thestrangeloop.com/2014/liberating-the-smalltalk-lurking-in-c-and-unix.html

Liberating the Smalltalk lurking in C and Unix - Strange Loop

Strange Loop is a conference for software developers covering programming langs, databases, distributed systems, security, machine learning, creativity, and more!

"Liberating the Smalltalk lurking in C and Unix" by Stephen Kell

YouTube

@amszmidt @AmenZwa

I guess one could say ITS/Emacs/Maclisp was "the perfect IDE for programmers", just... a very, *very* specific sort of programmer. :-)

One who thought a machine language debugger made an excellent UI, for example.

(I wrote some scripts for ITS in that very odd UI language, and it was amusingly difficult.)