doug — off the record

just a place to share some thoughts


Whatever happened to …

… BASIC?

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.



12 responses to “Whatever happened to …”

  1. I wrote a program in Basic that let me repeat the word hello five times. I remember it took me hours to write, and even when I saw the word Basic now, I started to find my heartbeat going a little faster. It’s amazing how when we struggle with something, it almost produces a physical response for us. I wonder if that changes our feelings related to the program, and if that has us avoid using certain tools or programs, in the classroom. How can we start to feel more confident in areas where we struggle? Would this impact on how much we expose our students to in the classroom? A challenge is a good thing, but if we struggle too much, do we shut down? I think that’s what Basic did for me. Thanks for the Sunday morning thinking.

    Aviva

    Liked by 1 person

    1. I’m sorry that your experience wasn’t quite so positive, Aviva. There would be a whole bunch of other factors that influenced your experience too – support, motivation, engagement, interest, etc. The landscape has certainly changed with different tools for the emerging learner. Starting today, your experience might be different.

      Liked by 1 person

  2. My first programming language was VIC-20 BASIC. I don’t remember a lot about the experience except for the line numbers, PRINT statements, and copying code out of a magazine.
    After that I learned on the Icons as you mentioned, but that didn’t go far. I learned a lot and looping and sequencing commands with Logo.
    In high school we learned using Turing (not the object-oriented kind), and I dabbled in C at home. Then to university for Turbo Pascal, and then Java.
    Once I learned the object-oriented approach I found I didn’t want to go back to the procedural languages. I didn’t learn Visual BASIC, though – Java had everything I wanted. It’s my go-to for quick projects.
    And now it’s what I teach to my own students 🙂

    Liked by 1 person

    1. That’s an interesting programming history, Brandon. I’ll also admit to purchasing Turbo Pascal as well. I learned that language by buying and devouring Oh! Pascal! which I still think is the best computer programming book I’ve ever read. At school, we used Alice Pascal for a while. All of this memory wandering reinforces for me how excellent the Ontario Computer Science curriculum is by not specifying a particular programming language but focussing on concepts instead. It leaves the choice of tool up to the professional judgement of the teacher which I believe is the correct approach.

      Like

    2. My first language was Waterloo Basic http://csg.uwaterloo.ca/sdtp/watbas.html at York University in a course called Computers in Psychology. I was creating educational games to teach students in Math – practice oriented – not what I’d ever want to invent now…but it’s what I could do then.

      I remember lots of struggle, like Aviva, with not much support from the Prof or the course community. In fact, there was no community of learning at all and since it was pre-web, it was quite a bit harder to find mentors. Jump ahead to working with students and I’ve loved object oriented languages like logo and versions of it like Scratch, Microworlds and Turtle Art. The best part for me, however, is the changed view about how programming is not something you learn by yourself necessarily, but how it requiires your community for learning and helps you understand perseverance, grit and your zone of proximal development. You need to be seeing (and using) the knowledge of those with more skill in order to push yourself forward.

      Aviva picks up on the very real emotion that is attached to learning, and the fact that deep learning involves dissonance that leads to accommodating new learning – the heart of constructivism is that learning actually changes your mind! We have all cut our teeth on this theory as educators but we see it so rarely that it’s difficult to recognize. We mostly see students regurgitating information not actually internalizing it – we’d see more transfer if that were the case!

      I’ve gone a little off topic….but thanks for opportunity to jump into this thinking…I’m really glad that I had that early experience with programming….

      Like

      1. I enjoyed your thinking, Brenda. It’s interesting how your philosophy of software designed has changed since the early years. Having said that, there still is a lot of drill and flashcard software titles available. Often, they’ll be dressed up with fancy graphics and A/V but when you peel back the covers, ….

        Liked by 2 people

  3. Great point, Doug! I wonder if learning the language today — and in a different way — would change things for me. Now you have me thinking about something else …

    Aviva

    Like

  4. My first language was FORTRAN. BASIC was my second. The university bought a DEC PDP-11 running the RSTS/E OS (which I was later to be a developer for) and the BASIC-PLUS version of BASIC. I taught myself how to use it. It was great. I still miss some of the things it could do that “modern” versions of BASIC do not – mostly with file handling. It had garbage collection and a virtual machine way back in the 1970s while many think it was new with Java.

    These days my go-to language depends on my mood. Either Visual Basic or C#.

    Like

    1. Thanks for sharing your learning, Alfred. I don’t see Java anywhere in the midst. Did it ever hit your radar seriously? I’ve never heard of RSTS/E or BASIC-PLUS – some reading for me.

      Like

  5. Doug I taught Java (using J++ actually) a bunch of years ago. I learned it just fast enough to say a week ahead of the students. This was at a for-profit college. After that I took a week long workshop at Carnegie Mellon as part of preparing for the Advanced Placement course switch to Java. I managed to avoid teaching Java at the secondary school level. It’s an ok language but all the problems I had with it are fixed in C#. 🙂

    Liked by 1 person

  6. I don’t know any basic. I probably should. My first computer memory at school was in Grade 4 in the 80’s, getting “Turtle” the wee triangle to make shapes.

    I’m currently learning Swift and it is challenging. I’ve got two tutorials and a book on the go.

    Like

  7. Ah BASIC, it was my first programming language too! I wrote a little bit of code on the PDP-11 at school and on the Apple II+ in the math department. But the bulk of my early programming was basic on my Radio Shack Color Computer. It could only display 32 characters per line in native text mode and it showed lower case letters as inverse video upper case. You had to buy (borrow?) fancy word processing software that exploited the graphics to get real lower case. I wrote a terribly inefficient tic-tac-toe program and some crappy adventure games. I also wrote a quizzer program to help me study French vocabulary. That took a lot more time than I ever spent using the program and actually learning the words!

    I did some Pascal in a high school programming class, but I never liked it much. In college and my first job I wrote a whole lot of Common Lisp code–Now *that* is a fun programming language! These days the only real programming I do is around my data setup and analysis. Of course, I use the careful analytical skills I learned programming every day!

    Liked by 1 person

Please share your thoughts here. I’d enjoy reading them.

This site uses Akismet to reduce spam. Learn how your comment data is processed.