It is 50 years since Prof John Kemeny and a student created the programming language Basic at 4am in a New Hampshire basement at Dartmouth College. Their aim was to design a tool that would improve computer literacy in education, a simple, accessible language that anyone could learn quickly and easily.
Basic became a mainstay of the programming landscape. Here, designers and programmers explain what it taught them and why it still matters.
Thank you Basic, for teaching me so much
Odhran McConnell development manager for mobile apps
Basic is 50 years old? When I heard this, I was hit by a wave of nostalgia remembering how I first learned to code. It was 1984 and my dad, who was head of engineering at the Waterford Regional Technical College, brought home a Commodore 64 so that he could prepare lectures. Invariably, he wasn’t the one who ended up using the computer – as an eager 11 year old, I just couldn’t get enough of the games and what seemed the endless possibilities.
Soon after I bought a subscription to a weekly magazine called Input and went about inputting every line of code it had to offer. Back then, it was all about typing the code into the computer directly from listings in the print – an arduous task, but a rewarding one when it came to actually running the programs. I’d get a bit of an endorphin buzz when it all came together, one that I still get to this day when coding.
The great thing about the C64 was the fact that it came pre-loaded with Basic. You turned on the computer and in a couple of seconds you could start coding. I didn’t realise it at the time, but I was learning all about logic, data types, variables, subroutines, computer graphics, memory and even how to PEEK and POKE, which, let’s be honest, is exactly what a teenage boy wants to know.
What I learned then is what I came to rely on throughout my career. My first job had me coding in Visual Basic, which is still widespread today and testament to the versatility of the language.
Congratulations Basic for making it to 50 and thank you for teaching me so much.
'It felt like magic, learning a secret code'
Julia Bellis product manager
Points and colours. I think that’s all the Basic we were ever actually taught in our second year computer science class. I have no memory of a teacher ever being present after that first introduction, though it seems unlikely we really were just left to get on with it.
I mastered triangles pretty quickly and stuck firmly to them to draw a picture of Sydney harbour – pale grey triangles for the opera house, darker grey ones for the bridge, brightly coloured ones to represent sailboats. Anything more sophisticated we learned by rumour - someone brave enough to read the documentation would try something out and the news spread. "You can make things move along the screen with flashing colours" – and my sailboats made jerky progress across the electric blue sea.
It was pretty frustrating. The computer’s lack of common sense – it actually did exactly what my inept commands told it which was shocking – I’d never been taken so literally before. It was also kind of thrilling when my unintelligible rows of PLOT and COLOUR and line numbers translated into a picture. It like learning magic, a secret code, as we had no idea how this transformation happened.
There had always been clear limits to everything else we had learned - painting a picture gave you colours on a piece of paper, solving a maths problem gave you an answer. But with Basic we were building little worlds of our own creation. The final rumour in the classroom was that there were commands to add music. I completed my world with a tuneless rendition of Waltzing Matilda and was satisfied.
'I’m still curiously well-disposed towards barn owls'
Roberto Tyley senior software developer
I learnt Basic when I was 10 years old, and had no computer. I would write out the Basic on sheets of handwritten paper every night, debugging it in my head, and then cycle to the town library every evening after school to type the code in as fast as I could, run it, and then update my handwritten notes with any alterations. I didn't have a floppy disk…
Basic was friendly, and you could get a long way with its simple set of commands: IF, THEN, FOR, SIN, COS, AND and OR. I wrote a simple program where a blob chased you around the screen - change a plus to a minus and the behaviour changed, so the blob ran away. Later, I wrote orbital simulations, chasing Kepler and Newton with a 6502 processor, and learning what a program does if you happen to divide by zero - it stops, dead. The experience seemed to relate to something beyond the constraints of the little plastic box. What happens when the universe divides by zero? A black hole.
The performance of Basic was a bit of a problem – it being an interpreted language, where every command was translated into machine instructions every time it was run - so sometimes you would have to write weird hybrid programs, half Basic and half "assembly language" (essentially machine code) to get the performance you needed for animations or serious number crunching. Although the speed of machine code was fantastic, it was a very delicate art compared with friendly old Basic - much easier to mistakes, and a lot harder to figure them out - so I learned a good programmer’s rule: Only optimise your code where necessary - and the rest of the time, value clarity.
To this day, I’m curiously well-disposed towards barn owls (the logo and mascot of BBC Computers). When I went to a Look Around You retrospective a few years ago at the BFI, I only had one question for the creators: “Who did the Basic coding for your opening sequence?”
'I wrote programs to do my homework for me'
Adam Fisher software developer
I'm a software developer, and probably wouldn't be here now without Basic.
My primary school was lucky enough to have a few BBC Micros lying about for students to use. Most evenings I'd have a few hours after school, and from time to time I'd use that to dabble with the computers. The main difference between the simple computers of those days and what we have now was that there was nothing except what you wrote. The computer started up and gave you a blank command prompt ready for your commands - without the distractions of a modern computer.
I started off with the simplest programs. One that would generate times-tables, and some would ask questions of you and then you messages or give advice. After a while I grew bolder and wrote what is perhaps the finest (certainly the naughtiest) program of my lifetime: It would sit idle with a blank screen for some pre-determined length of time, when it would suddenly erupt with constantly scrolling coloured gibberish. I left that running at the end of the day once or twice in the hope it would give the cleaners a surprise.
Those skills turned out to be useful at college. I studied maths and the graphics calculator I bought let me write programs using a simple Basic dialect.
Here emerged a new chapter in my programming. I wrote programs to do my homework for me, little utilities to play tricks on my friends and devised some games. I even put a slow-loading screen at the start of one game to make it seem more complicated than it was.
After college I continued to study maths and it was a few years before I got into programming properly, but looking back the seeds were always there - and it was Basic that nurtured them.
'The great satisfaction of producing something yourself'
Brian Phillips retired programmer
Basic was not the first programming language I learned in the 1970s (dear old COBOL and a couple of Assemblers) – in fact, I only used it professionally once, during the 1990s.
But by then, the arrival of PCs changed everything. For curious coders like myself, Basic came into its own. You had unlimited machine time, and, while its data handling was crude, its syntax was straightforward and there was no waiting for the code to compile. From a first “Mastermind” guess the number routine on a Sinclair ZX80 through Amstrad’s Locomotive Basic and QBASIC to Microsoft’s VBA, I have used Basic for nearly four decades. The key thing is its simplicity.
You type in the code, run it, fix it, run it, fix it (in my case ad infinitum).
Although I am long retired from IT, I still use Basic on a couple of personal projects. I’m glad that Microsoft stuck with it, because I now have the advantage of a simple programming language with more complex data structuring and handling at my disposal. For OAPs (Old Aged Programmers) it still offers the opportunity to write procedural code. Coding dinosaurs like me view Object Oriented Programming with intense suspicion, which is probably why we faded away.
I was especially fond of QBASIC and Visual Basic, from which you could get a skeleton of a programme together in a couple of hours. Despite the innumerable late nights and early mornings trying to resolve a particular problem that may have proved frustrating or futile, there is still the great satisfaction of knowing that you yourself (and anyone with a sufficiently logical mind) can still produce a piece of bespoke code that does exactly what you want it to do.
It seems ironic that Basic - a kind of afterthought as a programming language - has endured longer than its rivals COBOL, Fortran and others, but this is a case of the survival of the fittest.