50 Reasons to Celebrate BASIC

CBM-64s

I started programming in BASIC 38 years ago, in 1976 while I was in my last year of school. I enjoyed it so much that it decided my university degree and career. Back in the mid 70s, if you had access to a computer, it was most likely through a dial-up terminal and you programmed it in Dartmouth BASIC.

May 1, 1964, was the date BASIC was launched onto an unsuspecting world at Dartmouth College in New Hampshire. That makes the language 50 years old this month. Of course, nowadays people tend to regard programming in BASIC as a little quaint or even a touch retro, though there is still a market for programming .NET applications and websites in VB.NET. (Still, C# programming jobs outnumber VB.NET by about five to one.)

Click here to find a VB.NET programming job.

When the first personal computers came out, they were mostly programmed in Microsoft BASIC, a canny move that helped make Microsoft what it is today. Atari had its own BASIC language and Apple had integer BASIC, developed by Steve Wozniak. However, when the Apple II came along, it joined the Microsoft BASIC fold. Back in the 80s, BASIC was the language to program in unless you were good at assembler. But by the end of the decade C, C++ and Pascal were making inroads.

The big advantage of BASIC – that it’s easy to learn — came with a cost: Most implementations were interpreted, so it was limited when it came to games. Interpreters parse each line of code, then call built-in functions to do arithmetic. Most versions used line numbers and you needed discipline to program with that. I had a plug-in cartridge tool kit for my CBM-64 that included line renumbering. Without it, the work could be quite tedious.

Of course, not all of the early PCs used Microsoft BASIC. There were different versions, such as the BBC Micro with BBC Basic. Timex/Zx Spectrums used Sinclair BASIC, but again Microsoft had the big numbers with Vic-20s, and then CBM-64s.

The big change in BASIC came with the launch of Microsoft Visual Basic, which went through six versions between 1991 and 1998. Despite Microsoft stopping support six years ago – it wanted developers to migrate to VB.NET — there remains a lot of legacy code and programmers who love it. Plus, there was VBA (Visual Basic for Applications) in Microsoft Office, which was the foundation for a number of Excel-based applications.

How Does BASIC Compare?

Originally, BASIC was regarded as a poor cousin to other languages. At my university (Queen’s University Belfast), there was a sign in the computer science building that read, “Students who first learned to program in BASIC may be considered too brain damaged to be taught a proper programing language.” Ironic, really, as this was long before object-oriented programming came along.

BASIC suffered from years of being limited to arrays to implement complicated data structures. Objects came along later with Visual Basic, and now VB.NET, which shares many features with C# because programs written in either language execute under .NET. That means you get LINQ, ASync, Collections, etc. Dare I say it: Syntax apart, they are just about two sides of the same coin.

The Future of BASIC

Of course VB.NET isn’t the only modern incarnation of BASIC. Wikipedia includes a comprehensive list. If you’re looking for the authentic feel of Dartmouth BASIC, then True Basic may be what you’re after. But it’s not cheap, and it’s about 20 years old.

I’ve recently had to convert some BASIC to C#. The flavor of BASIC I used was B4A (Basic4Android), a commercial though not very expensive IDE and compiler that lets you develop Android applications. With a user base of 50,000, it’s quite impressive and I had no trouble understanding the code.

Basic4Android IDE

It may have fallen out of the limelight more than 25 years ago, but BASIC will be around in one way or another for a few years more. Besides, it was my first experience in programming, and you never forget those.

Related Stories

Comments

  1. BY Rob S says:

    Ah, it’s great to reminisce.
    I think you forgot to mention the plethora of BASIC implementations for DOS including BASIC, BASICA, GWBASIC, and a few others. I guess GWBASIC was Microsoft’s inspiration to bring on VB.
    Also, VBA is, technically, the original VB. VB5/VB6 was migrated to the Office products as a sort of plug-in, and was used in various other products including CorelDraw and Photoshop for a while before they decided to take it out (maybe because it promoted a competitor or that it was too complicated to implement properly.) So the Office product includes an updated version of VB6 which was called VB 6.5 and one point, then VB7, and maybe something new with Office 2013.

    Anyway thanks for the memories and for some of the links for me to check things out.

  2. BY Jason M says:

    Dang the title alone brought back memories. I got a Commodore 64 when I was 8-9. A year later I started looking through the BASIC programming book that came with it and started writing programs. I knew then that was what I wanted to do for a career.

  3. BY Vishal says:

    Amazing note..
    In India, GWBASIC on DOS was taught in schools as the first coding language (obviously after LOGO!) as late as 2000 – when C++ and Windows were already at its peak – and that is when FORTRAN, PASCAL and COBOL had become dinosaurs..
    Possibly it was easy to ‘teach’ and ‘understand’ for first timers than OOPs and Data Structures.
    Reminiscent of golden days of single user programming – what fun !!

  4. BY John Polucci says:

    I work with the IBM RPG language. Among the uneducated about the RPG language, RPG is labeled “an old dead language.” RPG is as old as BASIC. Both language are radically different than they were when they were first implemented, but why the double the standard? The double standard exists because the academic community has an anti-IBM bias. I remember that by 1980, when FORTRAN and COBOL, ruled the IT world, BASIC was virtually unknown. BASIC was revived with advent of the PC in the 1980s and RPG was revived with the introduction of IBM Midrange technology (System 34,36,38, AS4))).. The point I am trying to make is that a programming language can have a serious upgrade depending on the hardware it has been implemented onto.

  5. BY Richard Morgan says:

    One thing that you totally missed was the Pick family of BASIC environments. Starting as a dedicated standalone system called the Microdata Reality, and evolving into Universe and Unidata as an application running under various UNIX environments, the Pick versions of BASIC were very sophisticated, with one of the best file systems ever designed, Pick systems were extremely efficient in memory, processor power, and disk storage requirements.

    The first Pick system, the Microdata Reality, ran 8 users easily on a 1Mhz 8-bit processor with 80kbytes of memory. Back then (around 1970), it was all green-screen character-based processing, QVC was a big user of a version of Pick called Sequoia at one time.

    Some modern users of Pick are Optima Health and Market America. When I worked for MAMSI, they were running Universe on Sun Enterprise servers with about 2000 users logged in at once.

    Pick-type systems are still common in the healthcare industry, and are used in many other industries.

    The BASIC in the Pick systems has been extended to where it is still relevant to modern business. My last job included writing an XML-based interface to Paymentech, a credit card clearinghouse and sending statements in PDF formats to clients.

    The name “Pick” came from the creator of the Pick-type environments, Richard Pick.

    • BY Rob S says:

      I loved working with the Pick environment for the 10 or so years I did so. And you’re right that the version of Basic was more powerful than most. However, in my opinion, the file-centric database (at the time) made it more difficult to work with larger databases. I’m sure some of that changed with faster processors; did they ever add a SQL-like interface to access the data records?

Post a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>