Slashdot Mirror


50 Years of BASIC, the Language That Made Computers Personal

harrymcc (1641347) writes "On May 1, 1964 at 4 a.m. in a computer room at Dartmouth University, the first programs written in BASIC ran on the university's brand-new time-sharing system. With these two innovations, John Kemeny and Thomas Kurtz didn't just make it easier to learn how to program a computer: They offered Dartmouth students a form of interactive, personal computing years before the invention of the PC. Over at TIME.com, I chronicle BASIC's first 50 years with a feature with thoughts from Kurtz, Microsoft's Paul Allen and many others."

16 of 224 comments (clear)

  1. Was FORTRAN really that hard? by Bill,+Shooter+of+Bul · · Score: 5, Insightful

    I mean Basic isn't difficult either, but I really don't understand the perspective at the time that FORTRAN was so complex that BASIC and COBOL were really needed for their syntax changes alone. All of the explinations I've read about them, invariably have the line somewhere about FORTRAN being so difficult to understand that only scientists could master it. I understand they were all invented for different problem domains and that's kind of a good reason in and of itself, but sheesh, its not like it was brain fudge.

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
    1. Re:Was FORTRAN really that hard? by Brett+Buck · · Score: 5, Informative

      It isn't hard. I think the only issue that anyone has had with it was the column restrictions, and the important development there was interactive computing and a decent text editor, not a new language.

          Bear in mind, also, that most people haven't ever attempted to write in original FORTRAN. Most have seen nothing earlier than FORTRAN 77 and that was tremendously easier and far less irritating than FORTRAN IV. I am old enough to have written FORTRAN IV on card decks, the "good old days" sucked for the most part.

          I always found BASIC to be far more irritating to program in anything more than trivial applications.

            I don't think the language is the problem, it was all other things that where difficult and mostly solved in the 60's and 70's.

            FORTRAN is certainly still in use for Real Programming. I haven't seen a way to use BASIC- in the way it was originally conceived - in 25 years.

               

    2. Re:Was FORTRAN really that hard? by flyingfsck · · Score: 4, Interesting

      No, it is more a case that access to any computing resources was very limited. Twenty years later, universities still had old time sharing machines running Fortran and BASIC that first year students trained on and COBOL, while PL1 on Sperry-Univac machines was the new thing for the seniors. A typical university only had two to four computers in total. I also started by learning BASIC with punch cards on a mainframe, since that was the only thing that was available. The small computer population explosion only really happened in the 1980s.

      --
      Excuse me, but please get off my Pennisetum Clandestinum, eh!
    3. Re:Was FORTRAN really that hard? by Jahta · · Score: 4, Funny

      Ob. quote from Real Programmers.

      "Real programmers don't write in FORTRAN. FORTRAN is for pipe stress freaks and crystallography weenies."

      Of course, it also says this about BASIC :-)

      "Real Programmers don't write in BASIC. Actually, no programmers write in BASIC, after the age of 12."

    4. Re:Was FORTRAN really that hard? by tangent · · Score: 5, Informative

      FORTRAN wasn't the language in 1964 that you think of as FORTRAN today.

      Most people's concept of FORTRAN is FORTRAN 77 or its descendants, which was 13 years in the future from BASIC's introduction.

      At the time of BASIC's introduction, FORTRAN IV was the current version.

      FORTRAN wouldn't be ANSI-fied for another two years as FORTRAN 66, so every version had machine-specific features. Also, because FORTRAN's development was largely driven by IBM until FORTRAN 66, all the non-IBM versions were "nonstandard." Imagine if, today, every computer came with a C compiler and there were no ANSI or ISO standard to constrain its behavior. The last common reference would have been K&R '78.

      Another fun feature of early FORTRAN was fixed column layout, common among languages invented in the punched card era. That is, you had to do things like start all statements in column 7 or later, because the first 6 columns had other meaning.

      Early FORTRANs also had very primitive program structuring concepts, hardly raised from the level of assembly language.

      Read through the Wikipedia article. You'll probably be shocked at how primitive FORTRAN was in the early 1960s.

    5. Re:Was FORTRAN really that hard? by RabidReindeer · · Score: 5, Informative

      FORTRAN isn't that complex. Originally, it only had 7 statements (or was it 10)? The only halfway complex thing about it was the expression compiler parts.

      But BASIC had several advantages. It was intended for interactive use, at a time when most FORTRANs were batch-only. It originally only supported a very limited set of variable names like "A", "B", "C", and so forth, meaning that you didn't have to implement symbol table logic, and the associated storages on machines when 16K RAM space might be considered at lot - instead the variable name was the hash code to a value table. Refinements such as the rich set of built-in functions and extensive string services were also later additions.

      The original BASIC was so minimalist that even the first effort from Gates &Co. exceeded it. But it introduced a lot of people to "instant gratification" programming, and thus its influence can be felt in many places to this day.

    6. Re:Was FORTRAN really that hard? by AdamColley · · Score: 4, Insightful

      Real programmers toggle in the boot code on the front panel.

    7. Re:Was FORTRAN really that hard? by hey! · · Score: 4, Informative

      I've actually programmed in Fortran and BASIC way back in the day (late 70s early 80s). From a language point of view early dialects of Fortran (e.g. Fortran IV ca. 1961 and still in widespread use in the 70s) and BASIC were in fact *very* similar. What was different was that Fortran was *compiled* and BASIC was *interpreted*.

      It was common until the mid 1970s for Fortran programmers to physically drop off a deck of punched cards at the operator's window. They'd get their results some hours later, if not the next day, after the operators got around to running the job. Most of the time those results wouldn't the desired computation, but a compilation error. So to be productive in Fortran you had to think about your *entire* problem in advance, carefully preparing your deck to get as much as possible correct before handing the job off.

      BASIC was an interpreted language initially. That meant you to type in little snippets of your program, even individual expressions, to see how or if they did what was expected. If you typed in a program and there was a syntax error, you'd know as soon as you hit "return". This allowed a more exploratory approach to programming and learning to program. Of course, you could get the *same* interactive experience in a much more sophisticated language by using Lisp.

      I started programming in C in the 1980s, and this use-style distinction between compilation and interpretation remained. A full compile and link of our modest application took something like 30 minutes on the minicomputer we were using, which had a clock speed in the single digit MHz range. So we prepared our source changes *very* carefully, and used our down time to read the full 8 volume Unix manual from cover to cover, over and over again. There was something to be said for such an approach to programming, but it was not for the faint hearted.

      By the 90s this had changed. Compilers were orders of magnitude faster; you'd actually hit "compile" and *watch* the compiler do its thing. A decade earlier that would have been like watching paint dry. Editors became syntax-aware too, and debuggers went from requiring mad voodoo skills to being interactive and usable by ordinary mortals. So now compilation vs. interpretation is a packaging and runtime issue; there's not much to choose between them with respect to how *hard* a language is to use. Naturally someone who cut their teeth in the modern era look at BASIC and Fortran as they were in the 60s and wonders what the big deal was. But it *was* a big deal, at least for people who weren't going to learn Lisp.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  2. Thank you Kemeny and Kurtz. by DiscountBorg(TM) · · Score: 5, Funny

    I grew up with a little TRS-80 on which you had to learn BASIC to so much as load a file. In Grade Three I was learning things like coordinate geometry and algebra, while my peers were struggling with their multiplication tables. I remember when my peers were introduced to algebra for the first time, some of them had difficulty understanding how x could be a number, while I was busy making adventure games at home.
    Thanks to this head start in life, I now have a job in IT. BASIC gave me a great head start in computer literacy!

    --
    "The single biggest problem in communication is the illusion that it has taken place." George Bernard Shaw
    1. Re:Thank you Kemeny and Kurtz. by DiscountBorg(TM) · · Score: 4, Insightful

      I wouldn't contend for an instant that the kids I grew up around were 'retards'. 8-year-olds can't magically know things without experience.

      How many kids have the chance to sit down in front of a computer and learn that the reason a ball goes across the screen comes down to something as simple as x=x+1? Schools won't teach them that until the end of primary.

      BASIC does probably teach some bad programming habits but at the same time it's accessible to an 8-year-old, and you're learning concepts that are applicable for life: file management, how to store and retrieve data, syntax, etc etc. If the goal is to introduce kids to ehmm.. basic computing concepts, it worked admirably.

      Compare to someone with no knowledge of programming concepts at all whatsoever trying to grasp how to call a function for the first time in their life.

      --
      "The single biggest problem in communication is the illusion that it has taken place." George Bernard Shaw
    2. Re:Thank you Kemeny and Kurtz. by DiscountBorg(TM) · · Score: 4, Interesting

      I agree, but this is actually an old tongue in cheek essay, in context it makes more sense perhaps:

      "FORTRAN --"the infantile disorder"--, by now nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use.
      PL/I --"the fatal disease"-- belongs more to the problem set than to the solution set.
      It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
      The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence.
      APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums."

      http://www.cs.virginia.edu/~ev...

      --
      "The single biggest problem in communication is the illusion that it has taken place." George Bernard Shaw
  3. Happy Birthday by Captain+Emerald · · Score: 5, Funny

    10 PRINT "Happy Birthday, Basic"
    20 GOTO 10

  4. Re:In 3, 2, 1... by AlecC · · Score: 4, Informative

    No, it just shows habit. C was descended from B, which descended from BCPL. They just did more of the same, instead of going to someone else's syntax.

    And, having programmed in Pascal for 15 years. Pascal as defined was not suitable for large projects, whereas C was. Every Pascal compiler had to have some non-standard add-ons to handle modularity. And they were all different. Obviously, the Borland model came to have the status of a de-facto standard, but that was not till some years later. You could not have written Unix in standard Pascal; it was written in standard C. Wirth acknowledged the modularity failings of Pascal in his Modula language family, but by that time he had missed the bus.

    --
    Consciousness is an illusion caused by an excess of self consciousness.
  5. Basic Got Me My Career by coolmoose25 · · Score: 4, Interesting

    I started working on computers in the early 80's... The first one I used was a TI 99 4a. It had tape drives and a TV set as a monitor, and a horrific keypad (note: not keyboard). Then my brother got a PC Jr. and I started hacking with that and then went off to college. As an engineering major, I learned FORTRAN on punched cards. I hated it! Swore I'd never have a job where I used computers.

    Then my brother got the family to chip in and buy me a Tandy 1000a. It came with DOS, Deskmate, and Basic. I started programming in Basic using the concepts I had learned in FORTRAN. By the end, I think I had dumped about $5,000 into that computer. Printers, memory upgrades, floppy upgrades, hard drive, monitor, etc. And still was able to do amazing things with Basic and with BAT files.

    My first job was with Arthur Andersen. COBOL. Batch COBOL. 2.5 years of it. Learned it in 6 weeks, and spent the rest of my career there either coding it or writing tech specs for it.

    Went to work at an insurance company coding SqlWindows, a now obscure 4th gen programming language. But hey, it was Windows programming. Spent 10 years there in a variety of roles.

    After that I set up my own web development shop... Wrote classic ASP which is essentially Basic for the web. And then went to work at another insurance company, writing, you guessed it, Microsoft VB.net. Granted, VB.net was a far cry from the original basic, and probably would have been better off learning C#. But that was Microsoft's strategy with .Net - recycle old VB programmers and old C programmers using the CLR. At the end of the day, not much difference between C# and VB.net. Now I don't code anymore, I'm a VP at that insurance company. But I owe a lot of my career for having a tool like Basic available to me in my formative years. Sure, it teaches you some bad coding habits. But just like anything else, you learn from that, and others, and classes (and objects for those who like puns). Those who say that you can't be a good programmer after having learned basic are either elitist snobs or idiots. Sometimes you have to do it wrong first to see how doing it right makes all the difference. So Happy Birthday Basic - I love ya' baby.

    --
    Brawndo: It's what plants crave!
  6. Re:In 3, 2, 1... by WillAdams · · Score: 4, Insightful

    ``Pascal as defined was not suitable for large projects...''

    Unless of course, one is Dr. Donald Knuth, then one creates a brand new programming paradigm: http://www.literateprogramming...

    and writes programs such as TeX: http://www.ctan.org/tex-archiv...

    Somewhere, I have a copy of the Oberon language manual printed out --- it's quite cool, and very concise.

    --
    Sphinx of black quartz, judge my vow.
  7. Re:Looks like a duplicated thread by Opportunist · · Score: 4, Funny

    That's not really a good idea, Basic is hardly thread-safe!

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.