Unix is 50!

David Jones
5 November 2019 12:00

The weekend saw November 3 pass, and gives me an opportunity to claim that Unix is 50 years old and hence to write this blog post.

48 years ago, on November 3, the 1st edition of the Unix Programmer’s Manual was published.

But Unix itself had been around a little longer, starting in the Computing Science Research Center of AT&T Bell Laboratories in 1969. We lack a definitive date for that, so let us celebrate 50 years of Unix, and 48 years of its manual.

All of the initial versions of “ancient unix” were only made available to AT&T. It wasn’t until 4th edition that Unix was described outside of AT&T, and wasn’t until 6th Edition that Unix became available to use outside of AT&T.

Ken Thompson and Dennis Ritchie working on the PDP-11

Today Unix is everywhere. Linux is a Unix, by copying the design and the command- and system-interfaces, even though none of the original Unix code was copied. Apple’s OS X operating system is a Unix (a largely FreeBSD userland based on the Mach kernel). Microsoft, who have always had Unix products on the fringe of their offering (for example, Microsoft POSIX subsystem which shipped with Windows NT in 1993), now offer Windows Subsystem for Linux, and they seem pretty enthusiastic about supporting it.

Unix has evolved considerably over those 50 years, but the central pillar of a text-based interactive command (a novel development at the time) has thankfully not changed much at all. Programming languages, a shell, and an editor were all available. Take a modern user of the Unix command line and sit them down at a 1st Edition Unix terminal and they will recognise and know how to use many commands:

The shell, called sh, has redirection into and from files with > and <, and has file matching with * and ?, just like today’s shell.

The basics of file manipulation with cp, mv rm, mkdir, and chmod are all there. ls and cat for listing and showing files, though of course with far fewer options than their modern counterparts.

Crude but workable text processing is available with ed for editing, wc for word count, and roff for preparing printed documents. While roff is now obscure (its descendents are troff and nroff), but generally still available, wc is as popular as ever, and ed was the subject of a popular book published only last year.

ed, the editor, would later go on to spawn grep and sed. grep gets its name from g/RE/p (RE for Regular Expression), an ed command to Globally search Regular Expression and Print. The name sed is short for Stream Editor, and shares much of the same syntax (and in its first version, a surgered copy of code) with ed.

There is no C compiler, Unix 1st edition was largely written in assembler as C hadn’t been invented yet! The languages available were as for assembler, b for B, bas for BASIC, and for for FORTRAN.

So if you use Unix already, next time you type a shell command, or use an editor with regular expressions, reflect on the 50 years of history behind those commands and regular expressions.

And if you don’t use Unix already, 50 years is plenty of time for it to have matured to the point where you can consider giving it a go!

Contact Us

For queries relating to collaborating with the RSE team on projects: rse@sheffield.ac.uk

To contact the RSE team about seminars, training or JADE: rse-team-group@sheffield.ac.uk

Join our mailing list so as to be notified when we advertise talks and workshops by subscribing to this Google Group.

Queries regarding free research computing support/guidance should be raised via our Code clinic or directed to University central IT support.