[As ever, you can read this on the BBC News Website]
In the autumn of 1984 I completed the Diploma in Computer Science at Cambridge University and started looking for my first job in the computing industry.
Cambridge was a good place to be a programmer at the time. Trinity College had built its Science Park on the northern fringe of the city in 1970 and the university’s permissive approach to intellectual property meant that it was relatively easy to spin off an idea and see how it worked out without severing all links to a departmental salary.
As a result the cauldron of innovation had been well-stirred by academics from Computer Lab, the Engineering Lab and elsewhere, with a good mix of venture capitalists and an influx of talented managers eager to guide new companies, and by the mid 80’s the Cambridge Phenomenon was in full flood.
I ended up in the middle of it, joining a small software house called Bensasson and Chalmers as a programmer to work on their database management system, Spires.
BCL had an office at 6 King’s Parade, above what was at the time the Lunn Poly travel agency but is now a meditation centre. The offices had previously been occupied by Sinclair Research and by Acorn Computers, both central companies in Cambridge’s computing heritage, and when I joined the small team were working on the first release of Spires.
At the time both Oracle and Ingres were in the early stages of development, so the idea of writing a database management system from scratch was not as unusual as it might seem now, and Spires was successfully used as the basis for a project management system for local authorities for several years.
During my course I had used the large IBM mainframe computer and also smaller microcomputers that ran an operating system called Tripos, written at Cambridge. I had learned to programme in the teaching language Pascal and in BCPL, a stripped down language also developed at Cambridge by Professor Martin Richards – Cambridge was (and remains) that sort of place
BCPL was largely intended for writing operating systems and compilers for other languages – a compiler is a programme that takes the source code of a programme and turns it into the binary commands a specific computer can execute. However I had now arrived at a commercial software developer, so I had to work in a commercial language on a commercial operating system, and at BCL that meant coding in the C programming language on a British-built Bleasdale computer running the UNIX operating system.
I didn’t know it at the time, but Unix was more generally used in academia and was relatively rare in commercial settings, but that was already changing, and the few weeks it took me to come to terms with C programming and learn my way around Unix provided the basis for much of my future career, both in the computing industry and as a journalist.
It was the IT equivalent of becoming a ‘made man’ or ‘wiseguy’ in the Mafia, and has stood me in very good stead since. I am still proud to call myself a C/UNIX programmer, even if it has never got me an upgrade on a long-distance flight and rarely works as a chat-up line at parties.
Spires is no more, though the company is still around, and Simon Bensasson, John Chalmers, Jamie Radcliffe, Chris Richardson and the other talented people I worked with in my time there have other roles, in other places. Unix, however, has done rather better in the intervening quarter-century, and this month it is celebrating its 40th anniversary.
Originally written by Ken Thompson in August 1969 because he wanted a lightweight operating system to let him play a game called ‘space war’ on the rather underpowered PDP7 computer that his employer, Bell Labs, had provided him, Unix has been at the heart of the IT revolution that has swept the world in the last four decades, even though most computer users will never have heard of it.
Unix appeals to computer scientists and engineers, and in the thirty or so years since it moved out of the research labs and started appearing on workstations and minicomputers and desktops it has been embraced by those who want to build systems that are open, flexible and expandable, systems that respect their users and administators and acknowledge that they will want to make choices and should not be overly constrained by the tools they have chosen.
Today Unix systems are everywhere. All of the variants of the successful GNU/Linux operating system, including the recently-announced Google Chrome OS, build on an original design that came from Unix via a teaching implementation called Minix written by Andrew Tanenbaum. Scratch the surface of your shiny Apple laptop and you’ll find that Mac OS is a Unix variant, and even mainframe computers run Unix-like systems.
This has happened despite massive resistance to Unix in almost all areas of the industry, especially from Microsoft who wrote Windows NT as a Unix-killer. But Unix has succeeded despite this because it is an operating system that people who understand operating systems like to use. It has succeeded because its core philosophy favours freedom and choice over user control and second-guessing, encouraging questions and investigation and rewarding those who try hard to understand it.
The part of the operating system that directly controls the hardware and manages running programs, the kernel, is modular and can easily be modified for new hardware, so Unix systems will run on almost any platform.
The user interface is managed through a programme called the shell that can easily be modified, and there are many different shells available to choose from.
There is a rich collection of tools to do things like display the content of files, count words, compare files, match patterns or do hundreds of other things, but by and large each tool does one thing well and Unix lets you link them together like pieces of Meccano to carry out complex tasks.
Unix systems are also inextricably linked to the free software movement, and not just because the idea of free software originated in programmer Richard Stallman’s attempt to build GNU (‘GNU’s Not UNIX’), a non-proprietary version of Unix, when AT&T, who had taken over Bell Labs and therefore owned the copyright in the main commercial version of Unix, tried to lock it up. Unix always encouraged tinkering, innovation and experimentation, and in order to do that effectively you need to look under the bonnet and read the source code- something that remains central to the free software philosophy.
In a world that is increasingly shaped by and managed through advanced computer technology the ideologies built into applications and operating systems matter more and more because they shape the potential of the systems we are developing.
I choose Unix over anything else because I believe that the respect for the systems administrators, programmers and end-users that lies at the core of the Unix philosophy remains our best hope for creating computer systems that will promote and encourage free expression, liberalism and humanism. Unix is the operating system that most clearly expresses the values of the liberal enlightenment that form the basis of my own personal philosophy, and I will continue to use and support it.
UNIX or Unix
UNIX is the trademarked name of an operating system that has its origins in the work of Ken Thompson at Bell Labs in August 1969 and is currently maintained by The Open Group. Unix is a term applied to a range of UNIX-like operating systems
The full history of UNIX is rich and complex, and tells us much about the way the computing industry has developed, with attempts to lock it up as one company’s property being constantly subverted by those who wished to keep it free and open. For a fuller history of UNIX/Unix see
The Unix Philosophy
Read the AT%T 3BD Frequently Asked Questions at http://unixwiz.net/3b2/3b2faq.html with particular attention to Section 9: How do I run Unix from floppy (for example, to repair a damage hard drive file system)? for a flavour of life in a Unix world – for example the note that ‘this is a time when experience and informed courage count for much.’