BASIC: Intro to Programming

BASIC refers to Beginners All-Purpose Symbolic Instruction Code. It was invented in 1964 to provide a friendly, near-natural language for computer programming. It was formulated in the era of FORTRAN and COBOL other purpose specific programming languages for science and business – but meant for the average person.

If you want to skip the history lesson, click here.

The height of BASIC was the mid 1970s through to the early 1990s when BASIC was typically included with personal computers either built into the Read Only Memory or included as an add-on cartridge or cassette. This allowed almost anyone with a personal computer to be able to program it for personal use.

Most BASIC dialects, as each personal computer resulted in different variation of the language, are common enough that for the most part it is very easy for someone who has learned one dialect, to work with another. BASIC had become so ubuquious that it was soon included as a standard programming environment for children, surpassing other more rudimentary languages such as LOGO.

Text books, magazines, news letters, radio programs and more would feature BASIC programs that people could type into their computer. Most of these programs would be reduced to core BASIC commands that would ensure almost any personal computer would be able to run it.

Microsoft made its early fortunes thanks to BASIC and most interpretations of it are based off their work. Microsoft’s Z80 and 6502 (typical central processing unit chips of the 70s and 80s) dialects of BASIC ensured that users of CP/M, Apple II, Atari, Commodore, Radio Shack (Tandy) were all using Microsoft BASIC.

BASIC itself exists as multiple international standards:

  • ANSI Standard for Minimal BASIC (X3.60-1978)
  • ANSI Standard for Full BASIC (X3.113-1987)
  • ISO Standard for Minimal BASIC (ISO 6373:1984 Data processing – Programming languages – Minimal BASIC)
  • ISO Standard for Full BASIC (ISO/IEC 10279:1991 Information technology – Programming languages – Full BASIC)

This standardization allows a strong current of interoperability between variants and as result the BASIC programs you might find in an old book from the 1970s will still be usable on whatever platform you may seek to implement it.

This breaks apart when you begin to discuss graphics and sound. The only certainties in BASIC are text input and output, and typically you get 40 vertical columns of text, and 80 columns on more advanced or developed dialects. Most published BASIC programs would stick to basic arithmetical functions and subroutines to ensure maximum cross compatibility between one brand and another.

But what about in the 2020s? What has happened since then? Microsoft bridged the 1970s with the 1990s with it’s introduction of Visual BASIC, and has maintained it up until recently. In addition, projects like Microsoft’s Small BASIC are a way to introduce the language to children in the 21st century.

Let’s talk about today:

  • Is BASIC still useful?
  • What does it mean to have no common language?
  • Should anyone learn BASIC in the 2020s?
  • How can I learn BASIC today?

As someone who learned BASIC in the 1990s (QBASIC, later QUICKBASIC) thanks to those who learned it in the 1970s and 80s, I learned the language at a time when the world was shifting to the Graphical User Interface.

Microsoft QBasic for MS-DOS

Despite this, BASIC served as a way for me to jump into programming in a way that offered minimal risk to the family computer. Not all programming does use a GUI, in fact many programming environments still limit you to a text interface, especially when programming in more mature languages like C, Python, PHP, and others

Is BASIC still useful?

Yes! BASIC is still a fantastic introductory language that is still the most straightforward and direct ways to learn programming concepts like variables, functions, subroutines, and so on. Learning a block based programming language like Scratch is great for children, and other languages like Python are also beneficial but nothing compares to BASIC for ease-of-use and speed to learn fundamental programming.

What does it mean to have no “common” programming language?

Even in the early 1990s, programming in BASIC was common among PC owners. MS-DOS, and Windows 95 included Microsoft’s QBASIC which provided a fantastic way for people to make programs.

From 1995 onward, and especially after the 1997 Apple iMac, the thought that a computer came with the means to program it “out of the box” disappeared. Those who wished to program their PC or Mac would have to do so through other, intentional means, which opened the door to many new programming languages – ultimately a good thing for developers.

But the average computer user? Suddenly BASIC was dropped from text books, dropped from computer magazines, and ultimately dropped from popular computing.

Consequently, the average student does not learn a programming language unless your local school board makes it a priority. I won’t argue that there aren’t options, I won’t argue that there isn’t sufficient tools out there to educate the public, but the “death” of BASIC is something that should not have happened the way it did, and nothing has been able to replace it.

Should anyone learn BASIC in the 2020s?

Yes! BASIC is not just great for children, but it is also a great opportunity for adults to learn programming as a hobby or skill. If you are familiar with an 8-bit or 16-bit computer platform, I can think of no more nostalgia feeding method than to learn BASIC for a vintage computing platform.

A vintage platform for BASIC will force you to learn about limitations. Programmers in the 21st century are essentially “spoiled” and many create games and programs with the expectations that performance of their software will increase on account of “Moore’s Law”, a long standing trend in microcomputing that dictates that the number of transistors on the CPU double every roughly 18 months. This is not a “law” in the same way as Newton’s law of gravity, but it has been a reliable measure of computer performance growth for over 50 years. Learning about limitations makes you a more careful, more conservative, more creative programmer because suddenly performance, structure, and efficiency matter.

Learning for a vintage platform doesn’t even require an investment in vintage computer hardware, running modern emulation software can be as simple as running a website in your web browser! You can start programming for something like the Apple II without ever touching one. I believe learning BASIC on a vintage platform will make you a better programmer, if you are willing to learn!

I won’t lie and say there are not potential draw backs for learning BASIC as a first programming language. The age of language combined with your specific variant’s limitations (no object oriented programming here!) will result in a different programming experience than learning something like Python. I’ve heard arguments that BASIC can introduce bad programming forms, but in my experience – learning something like BASIC allowed me to easily grasp the concepts, and when it came time to learn a new programming language, I found it was easier to make the shift because I could separate format and structure from concepts and didn’t tie the concept to the formatting.

But if you can learn BASIC, you can then learn any other language, but then you’ll be armed with the fundamentals of programming, and will have enough of a grasp to then delve into the more complex languages of the 21st century.

How can I learn BASIC today?

If you live in Toronto, I can help!