Everything I Needed to Know About Programming I Learned from BASIC

I can’t express how fondly I remember growing up with QBasic. I have one of those books, too (the yellow cover one). :slight_smile: This makes me want to dig out all the old programs I wrote and bask once again in that familiar blue glow.

Great! It reminded me childhood. I have had an Goldstar MSX with Z80 CPU.

I started writing software when I was 11 and now I am a industrial software engineer.

Still using BASIC in both PC (VB 6.0, VB.Net ) and non-PC devices such as robotic applications (Trio-BASIC) and embedded devices.

I have thosands lines of code which runs for assembliy lines automation, quality control test devices (even thermal image processing) and all were done by BASIC.

BASIC may evolve, but I believe it will never die.

Old Guy said:

Too many folks here don’t seem to understand the fundamental truth
of programming - the language is irrelevant. “It ain’t the
paintbrush, it’s the artist”.

That’s because it’s not a fundamental truth. A bad programmer will be bad in any language, but that is less true for average developers and some languages. And the bad ones will be worse in some languages (the gold standard here is APL, IME - you can’t write readable code in it at all)

The point seems to be a version of “a poor workman blames his tools”, but actually, tool quality does matter.

And now that the only difference between C# and VB.NET

Dijkstra wasn’t talking about VB.NET - you can’t take his remark out of its historical context. Early BASICs did force you into bad habits, and it was difficult/impossible for many people to break them.

started with logo, go to batch scripts and only half a year basic in shool in the 80s. Pascal rules :wink:

Those books remind me of the fact that I tried entering in 3 different BASIC programs from books just like those when I was 11 years old or so. After the 3rd one wasn’t a video game, I didn’t touch a computer again until my second semester of college, where I eventually got a BS and MS in CS. Strange how first impressions are not always correct – or are they? :slight_smile: Even funnier that I’ve only ever done 1 other program in any form of BASIC besides those first 3… but I don’t think that first experience had anything to do with it.

My first program was to calculate solution of a system of linear equations using Casio Programmable Calculator. It built a solid basis for understanding my next programming language FORTRAN.

This is an obvious plug, but I’ve written a book (it’s in final editing stages) based on the book that taught me simple game programming in BASIC. My version is in Python (which makes it much easier to teach).

This book gives source code examples for games, much like the Atari books you linked to. I’ve found those most books on programming for kids either read like mathematics textbooks or don’t teach programming so much as how to use “game creation” software.

I’m open to comments.

http://pythonbook.coffeeghost.net

Great article as I too learned how to program using Basic, I think I had the book on the right on programming Basic games. Without getting hooked on programming early, I doubt I’d be where I am today…which is why I loved working on the Non-Pro team building things like Visual Studio Express and Popfly to enable the next Anders to get hooked on programming early.

-Dan

I’ll agree that most of us nearing 40 learned using some form of BASIC, for me it was the Timex Sinclair 1000, but I also must agree with the Dutch guy. While BASIC got me interested in programming it also hampered me by making C and C++ look harder than it is.

This is why I was so disappointed that Microsoft made VB.Net. There’s no need for it. C# is the way to go, it’s the best of both worlds.

Clocking in at almost-29 here.

Instead of buying me Chuck Yeager’s Advanced Flight Simulator for my 7th birthday, as I’d begged for months and months and months, Mom and Dad grabbed me a Tandy BASICA programming book instead. It’s been downhill ever since.

BASICA and GW-BASIC an QBasic taught me a TON. Basic structured programming, controlling flow, logic. They also taught me a lot about what I NEEDED but they didn’t OFFER – like encapsulation, events, all that other OO goodness.

In the 22 years since, I’ve programmed those flavors of BASIC, a little ASM, got into JavaScript in the mid 90s, was introduced to C++ in the later 90s, along with Visual Basic. I went on to teach myself Java, VB.NET, moving into C#, where I happily live now.

If it weren’t for BASIC, I wouldn’t be where I am now – senior software engineer of a major managed care provider, CTO of a promising , socially-responsible startup, and all-around kick-ass consultant. Sure, it took 15+ years from my first taste of BASIC to start grokking OO – and it’s a continuous learning process still – but I firmly believe BASIC was, and maybe still is, a valuable tool.

Had I known about Smalltalk, had I had access to C++ tools, would I have gone another route? Maybe. I certainly would now, if I had my druthers – I’d love to be immersed in the raw power of C++. But am I unhappy with where BASIC has led me? Not in the least.

+1 on the TI99/4a with Extended Basic Cartridge. Alas the hours I spent locked up in my room in the early 80’s at the tender age of 13 figuring out how to write a space invaders like game with sprite graphics (I could only ever get the laser to take out an entire column of invaders at a time). The image of the little stick figure generated by CALL CHAR 995A3C3C2424 will be forever and indelibly etched in my brain. And long live the Pirate Adventure cartridge. Give fish to crocodiles. Say Yoho!

TI? Apple? Vic??? I learned BASIC-PLUS in Jr. High HS on a REAL machine with 588K of honest-to-god CORE memory (magents and wires, kiddies, none of this RAM chip crap), hard drives bigger than my washing machine, up to 48 other users plugging away on the same machine, and sucking down more electricity per day than most 3rd world countries consume in a decade!

/sarcasm

Christ, I’m getting old.

No joke. I leared BASIC-PLUS, BASIC-PLUS2, and Pascal on a PDP-11/70 in the mid- to late-1970s. I later became the sysadmin for the machine which ran like a champ until decommissioned in 1988 and replaced by a Prime that was about 1/8 the size, took regular 110 current, and didn’t need an AC unit with a dedicated 2" water line to keep the room cool.

Today I carry around a USB drive in my pocket that has more storage than all of the disk drives on the 11/70 put together over the 13+ years it was in service and have fluency in something like a dozen different coding languages. We’ve come a long way, baby.

Fantastic post, Jeff!!!

flickrstolemymoney1?

just by reviewing some of the code of co-developers I’m quite sure that unfortunately the knowledge about programming paradigms and constructs did not increase since the good old basic days… all they know for sure is how to:
use a flag
use if-statements
use some looping construct

with this simple constructs it’s almost impossible to depict current software problems efficiently and in a maintainable way, yet all they do is exactly that: basic coding in basic. (just the file ext are .cs or .java)

ask developers what an IF-statement does, all will know and understand
ask developers what the visitor/factory/command pattern does
or what the diff between Interfaces and Abstract Classes is, or how and when to use virtual methods, and you’ll be surprised.

I’d really like to see stackoverflow to increase the common knowledge level in that area! :wink:

1 Like

I HAD THAT BOOK!!!

My introduction to BASIC was none other than the yellow “BASIC Computer Games” book you show in the post. I probably typed most of them into my trusty Apple ][+. That’s hysterical.

Brilliant,

This takes me back. I used the fact that I could get BASIC with an Atari 400 to convince my parents that I could make my own games if they bought me one, and they did.

I think that BASIC was a great place to start. At that time (1984/85) our high school had a number of different systems, Apple II and IIe’s, a pile of Commodore PETs, some TRS-80’s and KayPro Luggables running under CP/M (Anyone remember that?). Though each of these system had their own flavour of BASIC, it was still BASIC and I could move from one system to another and confidently write programs.

I’ve since moved on to Java, PHP, and Perl but the foundation of my interest in coding came from a simple little program in BASIC.

10 print "Hello World!"
20 goto 10

I liken the effect of BASIC to that of Charles Shaw. Both provide an intriguing initialization to the vast world of programming/wine. While there is much to improve upon in both cases, it is ultimately the accessibility and affordability of the these options which sparks the interest of the budding programmer/vintner.

I essentially grew up on an Atari 800xl. There actually were a number of compiled languages for that old machine. There was a “Small C” implementation that I was actually able to use while learning C as an undergrad (when I didn’t feel like heading to the computer lab to use the universality’s VAX). The Atari 8-computer actually had a number of languages implemented for it in the 80’s: Pascal, Forth, Logo, and a number of machine specific languages.

There was also a really cool language called “Action!” (circa 1982) which was really like an “ultra assembler”. It took the idea of macro assembly a large step forward by introducing variables, loops control structures, functions, a primitive function library, etc. It sat somewhere between C and Assembly in terms of syntax and could generate standalone executable programs.

But I did learn “Atari BASIC” as a first language then dabbled in 6502 assembly. I wouldn’t say that I was “mentally mutilated” by the experience… Though Java is my current favorite language, so some may disagree. :slight_smile:

I remember spending many, many hours on my Atari ST with GFA Basic.

While reading this, I couldn’t help thinking that BASIC was the original inverse Turing test. A Turing test determines whether a machine understands humans. For a lot of programmers-to-be, BASIC was the first confirmation of an innate ability to understand machines.

Personally, though, my first program was written in COMAL. As a Dane, I find that entirely fitting.