Beginner’s All-purpose Symbolic Instruction Code.
For many (including myself), it wasn’t their first programming language. Then, it became everyone’s first programming language. Now, it’s often not the first language again.
For me, I cut my teeth on Fortran, moved to COBOL, then to LISP, then to C and learned how to program along that path in my own high school and university career. One of the things that coders will recognize through these languages are the rules and laws for success in the language. Make one mistake in these programs and your efforts just won’t compile, much less actually run.
It wasn’t until I was actually teaching that I was first exposed to BASIC. Actually, it was WATCOM BASIC on the Unisys Icons that showed up in our classrooms. These machines were certainly not portable (you’d have to bring the fileserver home with you…) so it meant some pretty early mornings and late nights at school learning the language. The implementation was the worst of “drop and run”. There was no professional learning on the use of the language. I’ll be honest; with a background of programming languages that are so strict with their rules, I had huge problems in the beginning just trying to get my head around this new language. There just weren’t so many rules. How could it ever work?
With the end of the Icon, we ended up buying personal computers and tried to make them fit. Commodore 8032 and later IBM Personal computers showed up. They all came with versions of BASIC. There was no graphic interface so an understanding of the operating system was crucial. You had to work your way around the computer to save and load programs which meant that teacher and student needed to know it all. For some, it’s obvious that they were unable to distinguish language from operating system! I’ve said it before and it’s worth repeating … that was probably the last time that I truly understood how computers worked.
It was also the time when buying a home computer was possible. I cut my teeth on a Radio Shack TRS-80 before moving into a stream of DOS/Windows computers. Not satisfied with the BASIC that came with the computer, I ended up purchasing Borland’s Turbo Basic and Microsoft’s QuickBASIC. This opened a new world because you could now compile and run your masterpieces as executable files instead of the interpretive environment of the BASIC at the time. With the popularity of Bulletin Board Systems, some allowed for add-ons called Doors. For a time, I ventured into the world of Shareware. Does anyone remember Bay Street Bulls? Card Guppies?
Time moves on and so did technology and pedagogy. BASIC was dropped like a hot potato as education embraced Object Oriented Programming. Down with BASIC; up with C++, Java, Python, Turing, and others.
But, BASIC wasn’t dead. Microsoft returned with Visual Basic and it’s now a popular teaching option. In some cases, it may be the first programming language for the new code learner. In other cases, graphic languages like Scratch or Hopscotch may be the first language.
They all have their strengths and weaknesses and fans. Are there really any “bad” languages?
And yet, there’s something nice about opening an environment and hammering out a quick little program to get the job done. Spreadsheet programs/environments have inherited much of the functionality of programming languages. And yet?
My current go to language for the quick task is Microsoft’s Small Basic.
There’s just something that’s enjoyable to be able to sit down and quickly code something that just works for the sake of working. The result is something that makes programming purists shudder. But let’s not forget that sometimes process trumps product.
So, my questions for you this Sunday morning.
- Have you ever written a program in a dialect of BASIC?
- If so, which one?
- What was your personal first programming language?
- One of the featured programs on the Small Basic website http://www.smallbasic.com/ is Tetris. Is that even a relevant game for kids today?
As always, I’d appreciate you taking a moment to share your thoughts.