Not-so BASIC!
Many of today’s older engineers and computer gurus “cut their teeth” on the BASIC programming language.
How many different computer languages are there? By this, I mean high-level languages like C, C++, and Python, for example. The answer to this question is not an easy one, not least because many languages have fallen out of favor over time and are now defunct. One very useful source of information is the List of Programming Languages page on Wikipedia. I’m also interested in the more Esoteric Programming Languages (a.k.a. esolang), like Befunge, Chicken, Chef, Malbolge, and Whitespace.
In the case of actively used programming languages, estimates vary as to their actual number, but there are thought to be somewhere between 250 and 700 at the time of this writing. Of course, this depends on how one defines “active.” As a rule of thumb, a language is regarded as being active if it is (a) in current use for software development, education, or research, (b) receiving updates or maintenance, and (c) supported by a community, compiler/interpreter, or ecosystem.
Some commonly cited active languages include the following:
- General-purpose: Python, JavaScript, C, C++, Java, Go, Rust, Swift, etc.
- Domain-specific: SQL, Verilog, VHDL, MATLAB, R, etc.
- Emerging or niche: Zig, Crystal, Elm, Idris, etc.
- Legacy but still used: COBOL, Fortran, Lisp variants.
Having said all this, it’s probably fair to say that only about 50 to 100 languages are currently widely taught or used in production. Also, that only a few dozen languages dominate the industry at any one time.
Why do we need all these languages? Well, although it may not seem so at first, having multiple languages makes our lives easier. Different problems, platforms, and people have different needs. It’s a case of having the right tool for the job. In the same way that we wouldn’t use a hammer to fine-tune a pocket watch, certain programming languages are better suited for specific tasks. There are also historical reasons and legacy code; for example, large industries still use COBOL and FORTRAN because rewriting decades of reliable code is risky and costly. There’s also the fact that new languages often try to improve on old ones; for example, Rust aims to be a safer alternative to C/C++.
FORTRAN (short for FORmula TRANslation) was one of the first commercially successful high-level programming languages, and the first to be widely adopted. Development began in 1953, with the first release by IBM occurring in 1957, which — coincidentally — was the year I decided to grace the planet with my presence.
Although it was a pain to learn and use by modern standards, FORTRAN was revolutionary compared to what came before. It was designed to make the most of extremely limited computing resources, both in terms of memory and processing power.
In addition to professional programmers, FORTRAN started to be taught and used in engineering departments at universities in the early 1960s. The problem was that it wasn’t a great option for students in non-technical fields.
This inspired the creation of the language called BASIC (Beginner’s All-purpose Symbolic Instruction Code), which was developed and released in 1964. BASIC was designed to make programming accessible to students and non-experts. It was interactive, it ran on time-sharing systems, it was easy to learn, and it was ideal for teaching programming concepts. There’s an awesome video called The Birth of BASIC on YouTube that is well worth watching.
The popularity of BASIC exploded in the late 1970s and the 1980s due to the advent of microcomputers like the Apple II, TRS-80, Commodore 64, and IBM PC. Founded in 1975, Microsoft (originally spelled Micro-Soft) started as a computer language company, specifically by developing and selling its own version of the BASIC programming language. In fact, Microsoft BASIC became the default language on many early home computers.
When I graduated from high school and entered university in the summer of 1975, the first programs I wrote were in FORTRAN and BASIC. When I graduated from university, my first job was as a member of a team designing central processing units (CPUs) for mainframe computers at International Computers Limited (ICL). This was where I learned Pascal, which was first released in 1970, and C, which was first released in 1972.
In 1982, Commodore International introduced the 8-bit home computer known as the Commodore 64, or C64 for short. Based on the MOS Technology 6510 microprocessor (a modified version of the very successful 6502), the C64 is often cited as the best-selling single computer model of all time, with estimates of around 13 to 17 million units sold worldwide.
Many of my contemporaries credit learning how to write programs in BASIC on the C64 as being a foundational step on the road to their careers in computing and/or engineering.
At around $595 in the US (or £399 in the UK), the C64 was billed as being very affordably priced. Well, that’s as may be, but I certainly couldn’t afford one. I remember drooling over advertisements in hobby electronics magazines in the early 1980s, my lower lip quivering and a little tear rolling down my cheek, as I tried to be brave. I also remember thinking to myself that I would never, ever have enough money to buy my own C64.
I was right. I didn’t. But turn that frown upside down into a smile, because everything worked out well in the end. In 2019, a UK company called Retro Games released a modern version of the Commodore 64, called THEC64.
This bodacious beauty is a full-size recreation of the original Commodore 64, complete with a working mechanical keyboard with a fantastic vintage tactile feel and a very tasty joystick. It utilizes an FPGA to emulate the original 6510 microprocessor and features an HDMI output, enabling it to be displayed on modern color televisions.
THEC64 had a launch price of £109.99 in the UK, €119.99 in Europe, and around $130–$150 in the US, depending on the retailer and exchange rate. I don't know how much they cost now. What I do know is that I snapped up the first one I could lay my hands on as soon as they hit the streets.
So, what can you do with this little scamp? Well, you can start by spending many hours of enjoyment taking a trip down memory lane, because it comes equipped with 64 pre-installed games, including classics such as California Games, Paradroid, and Boulder Dash. It also boasts new additions like Attack of the Mutant Camels, Hover Bovver, Iridis Alpha, and Gridrunner.
Even better, you can write your own programs in C64 or VIC 20 BASIC, and you can save and load these programs via a regular USB stick. As soon as I took delivery of THEC64 (or “my precious” as I like to think of it), I immediately bounced over to eBay and picked up a couple of original BASIC programming books.
Now I’m the envy of everyone I know (well, everyone I know who either used to own a C64 or who wanted to own a C64). All I can say is that creating programs in BASIC and running them on a THEC64 is far more fun than you might believe, especially if you, too, are a child of the 1960s and 1970s.
One of the best ways to learn a new programming language (or relearn one, in my case) is to use it to perform a specific task. For example, it would be interesting to create my own version of the classic Pac-Man game. That should keep me busy for a while!
So, what do you think about all this? As always, I welcome your captivating comments, querulous questions, and sagacious suggestions, all of which you can present on Hackster's "Throwback Thursday" Discord channel. I look forward to seeing you there.
PS Don't forget that you can peruse and ponder all of my Throwback Thursdays columns by Clicking Here.