back to article 10 PRINT Memorial in New Hampshire marks the birthplace of BASIC

After just over 55 years, the birthplace of BASIC has been honoured with a memorial marker in New Hampshire, USA. Thanks to a campaign by local paper columnist David Brooks, the New Hampshire Historical Highway Marker was installed earlier this month. Professor John Kemeny, Maths professor Thomas Kurtz, and a group …

  1. Marco van de Voort

    School kids microsoft basic

    Commodore Basic was Micro Soft (then still with space) based. So quite some schoolkids used Micro Soft as first programming language too.

    Including me :-)

    1. Captain Hogwash

      Re: School kids microsoft basic

      Yep, Commodore PET in 1979.

      1. NorthIowan

        Re: School kids microsoft basic

        I was just out of University (1979 or 1980) when I bought my Ohio Scientific C8P DF with a color monitor. It came with Microsoft Basic. Actually it came with 2 different Basics and I seem to remember that only one was from Microsoft.

        Oh, the "DF" stood for Dual Floppies, I didn't trust the newfangled dual sided 5 1/4" floppies and I wanted lots of storage so I got the 8" drives. I think they could hold 270K bytes each. ;-)

        If I had an extra $10K I could have gotten a hard drive. Held 70 or 80 MB and was maybe 14" or so as I remember.

        I never had the hard drive. I assume the Microsoft Basic couldn't have worked on it as it was over 32 MB.

        1. usbac Silver badge

          Re: School kids microsoft basic

          I built my C1P from a kit. I still have it, and it still works!

        2. Simon Harris

          Re: School kids microsoft basic

          I was going to say 70-80MB was pretty good going for a micro in those days (my first PC hard drive in 1986 was about 30MB)...

          ... then I noticed you said $10,000.

      2. Long John Brass
        Windows

        Re: School kids microsoft basic

        OSI SuperBoard II for me :)

        The machine itself got turfed out many moons ago (not my fault, I let my SO talk me into it)

        Replaced recently with a SB-III from Vince Briel :)

        1. werdsmith Silver badge

          Re: School kids microsoft basic

          OSI SuperBoard II for me :)

          Compukit UK101 was a clone of OSI Superboard II.

          I yearned to order the kit from the mail order ad in Elektor but could never afford it.

          Maybe if I hadn't spent so much pocket money on Elektor, Practical Electronics, Practical Wireless and numerous R.A. Penfold Babani books I could have saved enough.

    2. J. R. Hartley

      Re: School kids microsoft basic

      The Amiga also came with MS Basic in its 1.3 days. It was crashtastic and shit. No change there then.

      1. Michael H.F. Wilkinson Silver badge
        Happy

        Re: School kids microsoft basic

        I came fairly late to the BASIC party, with the Enterprise Elan 128 and its quite well structured IS-BASIC. I had learned to programme in Pascal at university just before, and had been taught (drilled) to avoid GOTO statements by TAs wearing badges "Stop BASIC before it stops YOU!". I never became the purist they might have wanted me to be, as I switched to C quite early on, where I still don't use "goto", but have written quite some nasty little pieces of code that do run like the clappers on big images. I should perhaps add comments "Here be Dragons" to the more highly optimized bits as a warning to unwary programmers straying into these areas.

    3. Bitbeisser
      FAIL

      Re: School kids microsoft basic

      "Commodore Basic was Micro Soft (then still with space) based"

      Sorry, but Micro-Soft (with a hyphen, not a space) existed only from the founding of the company in April 1975 until some point in late 1976, when it had changed to Microsoft, well before Commodore's version of BASIC in the PET was delivered in late 1977...

    4. Mage Silver badge
      Unhappy

      Re: School kids microsoft basic

      Pinched by one of Bill Gates colleagues from Dartmouth Basic. Which was intended as a cut down version of ForTran purely for teaching.

      It was the product that started MS, and was on CP/M and Apple II

      Almost their only product till they bought in the reverse engineered copy of Digital Research's CP/M 86.

      Oh how IBM, Intel and MS, MSDOS, 8086 (basically not a 16 bit CPU) and BASIC held back Personal Computing and mass market SW development for 10 years.

  2. Aladdin Sane

    I remember writing AMBASIC on a CPC6128, and painstakingly copying lines of code from the user manual to play Amthello. Good times.

    1. Paratrooping Parrot
      Boffin

      It's Locomotive Basic on the CPC.

      1. Aladdin Sane

        You're probably right, but I remember what I remember. We're going back 30+ years here.

  3. Anonymous Coward
    Anonymous Coward

    8 bit overflow...

    It's probably a good time to stop putting up markers, just in case ;-)

    "The state of New Hampshire has 255 roadside markers celebrating bridges, famous residents and visitors and other events."

    1. b0llchit Silver badge
      Coat

      Re: 8 bit overflow...

      ...has 255 roadside markers...

      Add one and you have none...

    2. SVV

      Re: 8 bit overflow...

      As these are signed rather than unsigned, you'd get fewer using a 6502 processor......

      Considering the worldwide impact that BASIC had for a generation of techies that have played a huge part in developing the world of today, this belated recognition is surprising, especially given the abundance of "Birthplace of the Speak-your-weight machine!" type signs you encounter around the USA.

  4. Rob

    WOW...

    ... I still have that book that features on the article thumbnail. Couldn't bear to get rid of it, fond childhood memories.

    1. Nick Ryan Silver badge

      Re: WOW...

      Same here. I kid myself that it will be valuable some day. Most likely to prop doors open though!

    2. Irongut

      Re: WOW...

      Me too. It was the first book that taught me programming some 35 years ago. :D

    3. roblightbody

      Re: WOW...

      Same here - it really hit me when i saw it - i must have spent a lot of time with it and my 48K Spectrum+ (which I also still have). Basic led me directly into a career in IT, which started off by using early versions of Visual Basic.

    4. Dan 55 Silver badge

      Re: WOW...

      Obligatory link to free legit PDFs (scroll down to the bottom).

      Those and Input by Marshall Cavendish got me where I am today (more's the pity, boom boom).

  5. big_D Silver badge

    In the UK...

    In the UK, Sinclair computers and later the Acorn/BBC Micro both used versions of BASIC.

    And the Acorn Atom, before the ZX80, and the Oric 1 and Atmos, the Elan, Amstrad, Memotech and dozens of others, plus the usual US import suspects, Atari 400/800, Tandy TRS80 / Color, Commodore, Apple, Sharp... I can remember typing in listings from C&VG, Practical Computing and Your Computer back in the day. Or even the Japanese MSX brigade.

    1. Andy The Hat Silver badge

      Re: In the UK...

      And in 1980/81 the 380z running CP/M had a couple or versions of BASIC. BASIC-G had graphic extensions to drive the "high res" graphics card and green screen monitor at about 400x200. I remember bashing out code to simulate the motion of a charged particle in magnetic, electric or both fields ... Come on, I was a geeky teenager and needed something to do between Colossal Cave sessions!

      Strangely, I'm currently sitting 100yards from where that machine lived! :-)

      1. big_D Silver badge

        Re: In the UK...

        Yes, a plethora of CP/M machines. My first weekend job, I think I was 14 at the time, was refurbishing and repairing computers for a company dealing with bankrupt stock. I got to play around with a lot of great kit, that I would otherwise never been able to use/afford.

        A lot of Apple ][s, some with CP/M boards, a Shelton Signet, a little UNIX box and a dozen different makes of CP/M, even one using a 5" (no, not a mistype) disk. I have fond memories of playing Colossal Cave, Mugwump and StarTrek (on a VAX 11/780).

        I used my home computers for programming a lot and learnt machine code and, later, assembler - back then, with 1K, there was no room for assembler, you just entered the byte codes.

        At school, we never got Apple, RM or BBC, we had PETs and the accounts teacher bought a bunch of C64s with accounting software. At college, they still had PETs, then switched to MS-DOS IBM PC clones

      2. shraap

        Re: In the UK...

        380Z my first ever interaction with a computer, also back in 1980!

        Am I right in remembering the other version was Palo Alto Tiny BASIC?

      3. Anonymous Coward
        Anonymous Coward

        Re: In the UK...

        Ah the 380z and 8" floppies and that fantastic black steel case :) I remember using POKE to change the OS's error message strings. Can't quite place the year (it was a long time ago) but I think I was already writing z80 assembly and Sinclair basic at the time so must have been early 81. Then it was Spectrum, Amstrad cpc 364 (and friends C64s, Orics and so on), then an acoustic coupler, mucking around on Prestel just at the time of the mailbox hack, and BBS's, a X25 pad account at UCL and programming in other languages on Vax's and Nix'en. Speaking of basic and 380z's though... https://www.theregister.co.uk/2009/11/27/back_into_the_valley/ loved playing that :)

        1. m0rt

          Re: In the UK...

          We had a couple of 380Zs in school in the 80s that became surplus to requirements. One of them ended up being scrapped and given to me - it also had the graphics adapter so graphics were possible.

          I should add that the first Computer lesson I had in 84, we were told to open our books to the middle, draw out a Qwerty keyboard and then told how to type on our pages.

          inspiring.

    2. Dan 55 Silver badge

      Re: In the UK...

      Not sure why BBC Basic mentioned as later than Spectrum Basic either.

      The US imports and the MSX computers all ran MS Basic which were pretty uninspired versions of the language.

      Meanwhile MS-DOS was a ripoff of CP/M and MSX could run CP/M software but that's another story. Not sure what Kildall did to piss Gates off so much.

    3. Will Godfrey Silver badge
      Happy

      Re: In the UK...

      And BBC BASIC, left the others far behind - crammed into a 16k EPROM by the number 1 6502 coder.

      1. Dan 55 Silver badge

        Re: In the UK...

        Well, because there was another 16K EPROM for the OS...

        1. Martin an gof Silver badge

          Re: In the UK...

          That was the thing though, wasn't it? 16k OS plus 16k BASIC with proper variable names, functions, procedures, not just IF... THEN... but also ...ELSE... and a built-in multipass assembler, for Pete's sake (and slightly more such things in the version on the Master). 32k RAM seemed (to me) a sensible compromise to gain all of that against the 48k of the Spectrum or the "64k" of the C64, where the inbuilt BASIC was so... erm... basic because they'd crammed it into such a tiny amount of ROM.

          The downside was lack of space for high resolution, high colour graphics of course, but BBC BASIC was beautiful in comparison the contemporaries I encountered (my first was on the RML380Z).

          M.

        2. J.G.Harston Silver badge

          Re: In the UK...

          The only sane way to build any system. If you put the I/O routines in the language you have to re-implement it for every other foreground program you write. If you put your machine I/O in the machine I/O code, then ALL and EVERY foreground program can use the same code.

          It's frustratingly difficult for a non-Basic program on the Spectrum to access machine I/O stuff without either re-implementing everything, and failing to run if the hardware changes, or jumping directly into random addresses in the Basic interpreter, and failing to run if the hardware changes.

          Just trying to code "I want to let the user load a file, I don't care where the user wants to load the file from, I just want the user to just load a file" requires duplicated code in every single thing you write with built-in crystal ball facilities.

          1. Dan 55 Silver badge

            Re: In the UK...

            I think Nine Tiles had greater ideas and issue 1 and 2 Spectrums had a ROM socket so it could be updated, but then Sinclair realised he sold too many and he thought it was too expensive to send out new ROMs to everyone and it was selling anyway so who cares?

            But then he got upset when people considered it a games machine.

            So setting up registers and calling routines listed in The Complete Spectrum ROM Disassembly had to suffice... I think you could use the ROM tape loader if you really needed to.

          2. Simon Harris

            Re: In the UK...

            It's frustratingly difficult for a non-Basic program on the Spectrum to access machine I/O stuff without either re-implementing everything, and failing to run if the hardware changes, or jumping directly into random addresses in the Basic interpreter, and failing to run if the hardware changes.

            One of the nice features of the Acorn OSes through from at least the System 2 (rack mounted precursor to the Atom - I'm not sure the sure if the single board System 1 did) through to the BBC computers: All the OS calls you'd want to use were at well defined (and well documented) points at the top of the BIOS (although annoyingly they shifted a bit between the System2/3/Atom and BBC computer so I had to learn a new set of numbers) and were vectored through indirect calls in RAM so you could easily intercept them and write your own device drivers - pretty much like the BIOS interrupt vector table in PCs.

      2. big_D Silver badge

        Re: In the UK...

        Yes, Beeb BASIC was great, although I only experienced it later on an Electron.

        I had a ZX81, VIC=20, Memotech MTX500 and an Amstrad CPC6128, before moving to Amigas and MS-DOS/Windows PCs.

      3. Soruk
        Boffin

        Re: In the UK...

        For my sins, I still maintain a variant of BBC BASIC - Matrix Brandy.

    4. Mark 85

      Re: In the UK...

      Tandy TRS80 / Color... my first computer here in the States. Fond memories of typing in code, running it, backing it up to a audio tape recorder. Learned a lot about what to do and don't do. Sadly, most kids will never have the joy of doing this and then being excited because it worked.

      1. Wexford

        Re: In the UK...

        My very first computer also, and my first proper exposure to coding by way of the BASIC programming manual that came with it. There was even a chapter at the end about Assembler, from which I really only learned that POKE could make the machine do interesting things.

        Apparently the tape drive was relatively fast, going by observations made by friends who had different computers.

      2. big_D Silver badge

        Re: In the UK...

        An audio tape recorder? Luxury!

        When I got my ZX81, my cassette recorder wasn't compatible and couldn't record the saved output (it could load pre-recorded cassettes). So I had to type in my programs every time I wanted to run them, for the first few months.

    5. GruntyMcPugh Silver badge

      Re: In the UK...

      @big_D "the Oric 1"

      Oh boy, I tried to get one back in the day, ended up on some waiting list, they had issues delivering the first units and every week I'd call, and see if there was an updated eta,... there never was, so I cancelled my order. I ended up with an Acorn Electron, so got a better machine in the end.

      It was a great era, various mates had different machines, I had the Electron, another had a ZX81 and then a Spectrum, another a Dragon 32, and one lucky blighter had a Ti994a, which was 16 bit, and had an eyewatering £1000 price tag at first release. Then there was my mate Pete who ended up with a Sharp MZ80k, the poor sod. It was so niche we had to type games from said magazines in, as pre-loaded game cassettes were as rare as the proverial rocking horse poo. We spent many hours playing 'Wizard's Castle' searching for the 'Orb of Zot'. Plus I ended up working at Woollies as a Saturday lad, flogging TV, HiFi, computers, and consoles.

      1. big_D Silver badge

        Re: In the UK...

        I wanted an Oric 1, but it was delayed then I started computer studies in school and they were using PETs, so I went with a VIC=20. The Oric Atmos was a lot better, with a "proper" keyboard, but more or less the same internals, so it was becoming a bit long in the tooth.

        I always wanted the Sharp MZ80B, which looked a lot better. And the Lynx was one I really, really wanted, with dot addressable display for text!

        I nearly got a Dragon and later an Einstein, but ended up with a Memotech and then the Amstrad.

        1. GruntyMcPugh Silver badge

          Re: In the UK...

          @big_D

          Amstrad CPC 464? Mate had one of those, quite nice BASIC implentation, I recall a rather cool real time command 'EVERY' that would run a subroutine at the specified interval.

          Never knew anyone with the Tatung Einstein, but we did get our hands on the equally rare 'Jupiter Ace' which used Forth instead of BASIC.

          1. big_D Silver badge

            Re: In the UK...

            CPC6128, 3" disk drive and 128KB RAM.

            The Ace always interested me, but I never had the spare cash to "play" with one. Great idea though.

    6. Kubla Cant

      Re: In the UK...

      +1 for Acorn Atom BASIC.

      Instead of tokenising, it economised on memory by allowing abbreviated keywords. Only 26 variables, of course, but you could use byte and word indirection operators to treat any memory location like a variable. And it included a 6502 assembler, so you could create machine-code routines and access them from Basic.

      Moved on from that to an Osborne 1 CP/M machine that came with MS BASIC and a compiled language called C-BASIC.

      1. Dan 55 Silver badge

        Re: In the UK...

        If you listed the program and got the full keyword back then it was tokenized, if you got the abbreviated keyword back it wasn't, which would be strange on a machine with the Atom's memory size (or indeed any 8-bit computer's memory size).

        1. Simon Harris

          Re: In the UK...

          It was a quirk of the Atom that it was not tokenised - by the time the BBC micro appeared, keywords were properly tokenised in its BASIC. The Atom stored text exactly as entered (except for line numbers which were stored as a 2 byte integer - it's a long time since I used it, there may have been a 3rd byte for line length too, I can't properly remember) and just stopped parsing keywords as soon as it got to the end of the word or a '.', choosing the first match as the keyword it had got to by that point - so a program such as

          10 FOR I = 1 TO 10

          20 PRINT I

          30 NEXT I

          40 END

          would take up 21 more bytes (if I counted correctly) than its less readable abbreviated form.

          10F.I=1TO10

          20P.I

          30N.I

          40E.

          A fully tokenised system might only have saved another 6 bytes

          To add to the confusion for those not in the know, the same abbreviated form could be used for more than one keyword, depending on context (e.g. function, command, OS command) - e.g. R. could mean 'return' or it could be 'random number'. For an example of such obscurity with abbreviations, this will print a random number and stop - lower case (came out as inverse video on the screen) could be used as destination labels instead of line numbers. Two other quirks - statement separators were the ';' we're used to seeing in C, JavaScript, etc. rather than the ':' from most other BASICs. In most BASICs of the time PRINT would add a new line automatically, unless you added a ';' at the end of the statement to tell it not to - Atom BASIC did the opposite - by default it just wrote without the new line, you had to specify by adding a ' to the end of the print statement if you wanted one.

          10GOS.r

          20P.R';E.

          100rR=R.;R.

          I suspect the reasons for not having proper tokenisation are that the Atom BASIC+ assembler + operating system in its smallest form fitted into a 8K ROM and was integer only, so it might have been quite tight trying to fit a tokeniser into that space, and it could be extended to floating point and better graphics control with a second 4K ROM - which would have meant having to extend the tokeniser as new ROMs and keywords were added. Tokenising might have been nice to have to squeeze a little more out of the memory and a little more speed parsing during execution, but maybe at the expense of something else (e.g. the assembler, perhaps).

      2. big_D Silver badge

        Re: In the UK...

        That is what I loved about the Memotech, it had a more advanced BASIC than most, a little behind BBC Basic, it had a machine code monitor and assembler built in and it had the same sprite capability as the C64... Shame it never took off, it even had SSDs, at that was back in the early 80s.

  6. Paul Cooper

    BASIC predates microcomputers!

    My first programming language (in 1978) was IBM BASIC running on an IBM 360 bureau service, followed by another version of BASIC running on a CMC Reality minicomputer. I remember going to a trade show in about 1979 and looking at an Acorn Atom and wondering what it was good for.

    1. defiler

      Re: BASIC predates microcomputers!

      As one might ask of a newborn baby...

    2. Warm Braw

      Re: BASIC predates microcomputers!

      I learned BASIC via an interactive training program on an HP machine connected to a bunch of teletypes (some KSR and some ASR) in my local university. There were no access controls (on the system or on the doors), so you could just walk in an sit down even if you weren't a student. You got to keep the lesson (tear off the printout) and, if you managed to bag an ASR-33, save your code on paper tape for another session. All very efficient, if a little slow and noisy. Things don't seem to work like that any more.

    3. Simon Harris

      Re: BASIC predates microcomputers!

      I first learnt BASIC on a PDP8/e computer at school via a teletype.

      What's an Atom good for?

      My Atom taught me almost everything I know about designing for 8-bit microprocessors - I used the Atom as a hardware development system for my final year university project, for which I created a portable 32 channel heart-rate monitor and data-logger for crabs - the zoology department wanted to know how stressed they were getting - probably more stressed when you started sticking wires to them!

      If I hadn't been given an Atom when I was (I think) 14, I may not be on these pages now.

      Atom BASIC was a strange creature, deviating from other BASICs in various ways - it didn't, for example have the PEEK and POKE of various 8-bit BASICs, but constructs almost identical to the pointers in BCPL, it eschewed the 16-bit integers of most BASICs of the time, preferring to use 32-bits, you could drop straight into assembly language, and it had a somewhat idiosyncratic syntax compared to standard BASIC.

      1. John Brown (no body) Silver badge

        Re: BASIC predates microcomputers!

        "I first learnt BASIC on a PDP8/e computer at school via a teletype."

        Pah! We didn't even have that! We wrote ours on coding sheets which had to be sent off to the local Town Hall where the data entry girls (they were all girls back then) typed them out onto 8 hole punched tape and then they were run on the mainframe. There was a two week turnaround from sending off the coding sheets and getting the printout back. If you were one of the lucky ones, you got to use one of the 5 hole punch machines and sent off a paper tape instead of a pile of coding sheets. IIRC there were 3 "blind" punch tape machines and only two working teletype-like ones where you could see what you were typing, or run a tape through from one the "blind" machines to get a printout of the source for checking before sending it off. Fun times learning to read punch tape and occasional manually correct a typo by adding an extra hole or taping over the error and re-punching the 5 bit hole combo (remembering to check if you in front or behind a shift character.

        1. steelpillow Silver badge

          Re: BASIC predates microcomputers!

          8 hole punched tape? My, you softies wi' your fancy error-detection parity bits, you! We 'ad only 7, 'cos raw ASCII were only 7-bit. We 'ad ter check our own errors.

          When I first started as a lad we 'ad ter lay the bits out on the ground using warm gravel...

          1. Michael Wojcik Silver badge

            Re: BASIC predates microcomputers!

            You had bits? Luxury! All my shop could afford were 0's, and not many of them either.

      2. the future is back!

        Re: BASIC predates microcomputers!

        Took up programming late 70’s as a machinist/tool maker taking on programming 4 CNC machines. One “perk” a tool purchase program by employer deducted 10% of cost off bi-weekly paycheck. When I moved on from my personal hobby VIC20 (learned BASIC including a Commadore ca$$ette tape!) bought as a tool Apple IIe loaded with printer, mouse card and mouse, 140K floppy drive, color monitor. Justified by finding bare-bones software for geo and trig calculation for work.

        Then got a Z80 card so I could run CP/M and Turbo Pascal when I enrolled for a night class in Pascal. School equipped with MSDOS PCs only but a working guy with two very young kids, horrible commutes had no time to hang out in the labs. I would develop my school assignments at home then take my printout/listing in and re-enter and compile my Pascal to submit. There was no way I could have submitted online. Awkward but it worked. And the machining? Eventually convinced cheapskate employer to go with a machine programming package running on Windows.

    4. Bitbeisser

      Re: BASIC predates microcomputers!

      " I remember going to a trade show in about 1979 and looking at an Acorn Atom and wondering what it was good for."

      Certainly, specially considering that the Acorn Atom came out in 1980... ;-)

      1. Suricou Raven

        Re: BASIC predates microcomputers!

        The story still seems plausible. If the machine was out in 1980, it wouldn't be surprising if it was on display a few months prior to release at a trade show to build up a bit of hype before they are scheduled to go retail. The machine on show would then be either one of the very first off the production line, or one of the development prototypes.

      2. Paul Cooper

        Re: BASIC predates microcomputers!

        It was definitely an Atom and equally definitely in 1979 - in 1980 I worked elsewhere.

    5. HorseflySteve

      Re: BASIC predates microcomputers!

      BASIC was the second programming language I used in 1976 at Glasgow College of Technology. It was Data General Time Sharing BASIC running on a Nova minicomputer connected to 25 DataDynamics teletypes and 5 "glass teletypes". It also had 2 five megabyte disk packs and a fast paper tape reader. Taking an offine copy of your program meant LISTing it on a teletype with the paper tape punch on.

      The Nova had 10kbytes of core store so time sharing 30 users meant a lot of disk/core swapping. I wrote a 8800 byte program intended for multiple simultaneous users which slowed the Nova a bit with 2 users, a lot with 3, and 4 caused Nova to give up entirely and crash. The system tech had to reboot it which meant entering the boodloader commands on the front panel switches then booting the OS by selecting partitions and lauching the loader using the reserved system teletype; took about 15 minutes. Needless to say, my program was removed until I figured out the principle of overlays (by my self; I was an Electrical & Electronics student, not computer science).

      In case you're wondering, the first programming language I encountered was IBM Fortran IV on a 360 using punch cards; very much not interactive!

  7. steelpillow Silver badge

    Those were the days

    I recall programming a DEC PDP11 filing-cabinet sized "mini-computer" in BASIC in 1976. Was a lot easier to pick up than the other languages I had been using.

    At the other end of its life, following on from Sinclair came MGT's SAM Coupé with its SAM BASIC. It was procedural, you could ignore line numbering, chunks could be compiled as required for speed and I forget what all else. For my needs at least it was as sophisticated as any language I have ever come across since - not that that is saying much.

    1. Matthew Smith

      Re: Those were the days

      Hooray for the Sam. Coming from the Spectrum, the extended basic commands like Scroll and Renum were like sorcery. And the manual by Mel Croucher was a genuine joy to read.

    2. Stuart 22

      Re: Those were the days

      I think the University of Essex was one of the first to bring Dartmouth interactive BASIC to the UK masses in 1970. Well it felt like that - on a roomful of teletypes connected to a DEC-10. This is the future we stuttered ten times a second.

      So cool after years of punchcard driven Fortran 4.

  8. ChrisC Silver badge

    To take a selfie with the new marker, find it on the east side of Route 120 GOTO 120

    1. Michael Wojcik Silver badge

      I'd recommend GOSUB 120, so you can return.

  9. Anonymous Coward
    Anonymous Coward

    BBC Basic Bug

    10 goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10: goto 10:

    <enter>

    Produced the most wonderful white noise. Was great in the local CO-OP / Boots computer section: Line up the command and look for and sales assistants: Hit enter and run like hell

    Anon, for very obvious reasons

    1. J.G.Harston Silver badge

      Re: BBC Basic Bug

      Nope, it was G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1:G.1 the thing being that 'G.' is stored as one byte token 'GOTO' but the line number 1 is stored as a four-byte literal, so those three bytes typed in get stored as five bytes. Your example takes seven bytes typed in and stores them as six, so is impossible to overflow. Down to a missing 'BEQ errLINE' test and the expansion overflowing into the sound queue workspace.

      1. GruntyMcPugh Silver badge

        Re: BBC Basic Bug

        @J.G.Hartson

        Geeeeeeeeeeeeeeeeeeeeeeeeeeeeeek!

        : -)

      2. agurney

        Re: BBC Basic Bug

        I started teaching computing in a lab with a few dozen BBC Bs (+Macintoshes +Amstrads +other shiny stuff )

        One of the first introductions I gave the youngsters was to have them enter the following, after working out the answer for themselves beforehand:

        PRINT 2.23 - 2.18

        The moral being that you don't take anything that a computer tells you for granted .. some things don't change, even after 35+ years.

        [If you don't know what it does, try it for yourself on an online beeb emulator]

        1. dalethorn

          Re: BBC Basic Bug

          Try putting # after the numbers to force MBS float accuracy.

          1. Dan 55 Silver badge

            Re: BBC Basic Bug

            Syntax error

        2. MCMLXV
          Happy

          Re: BBC Basic Bug

          "...try it for yourself on an online beeb emulator"

          Can't be arsed. What happens?

          1. agurney

            Re: BBC Basic Bug

            ...Can't be arsed. What happens?

            5.00000007E-2

            1. Simon Harris

              Re: BBC Basic Bug

              Still better than a standard float - BBC BASIC stored floating point numbers as 5 bytes.

  10. Bryan Hall

    High School Texas Instrument Lab

    First coding I did was on a TI-99/4 (no A) computer with TI-BASIC, while sneaking into the new computer lab at high school during cold days in Colorado. The linear power supplies made the lab nice and toasty - and started me on my career in IT.

  11. illuminatus

    Can't remember where I once read...

    but wasn't Bill Gates' last commercial software project the BASIC on the TRS Model 100 lcd screen laptop?

  12. Tom 7

    Written on paper

    and taken by the Computer Club President to a computer miles away from school and the results returned a week later for fixing and sending off again*, 1975 I dont think I saw a real digital computer for 2 years after starting to program them!

    * and now MBAs can get the process down to that sort of speed again!

  13. Dan 55 Silver badge

    BASIC as a scripting language

    I think a BASIC along the lines of the QL's, Sam's or the last version of BBC BASIC plus a few things like regular expressions would make a respectable scripting language and it would be more readable than many. Just a language interpreter you could stick in bin and would automatically run if you included a #!/bin/basic line at the start.

    1. Martin an gof Silver badge

      Re: BASIC as a scripting language

      I have used BBC BASIC for Windows in a similar manner. Not quite as simple as an interpreted script, but can be run in an interpreted manner while developing and then "compiled" into a .exe for deployment. Compilation actually just crunches the program and packages it together with the interpreter. Solved a few Windows scripting problems for me, the sort of stuff I'd probably use Python for these days on Linux.

      M.

      1. Androgynous Cupboard Silver badge

        Re: BASIC as a scripting language

        My first commercial IT job was maintaining a C program that had been converted automatically from BASIC. 3000+ line functions called "sub_2560", littered with gotos, no local variables.

        If anyone ever releases a /usr/bin/basic, I will find them. No matter how long it takes. It would be like finding the guy that built Skynet.

        1. J.G.Harston Silver badge

          Re: BASIC as a scripting language

          I can't manage that, but I can provide usr/bin/bbcbasic :)

      2. J.G.Harston Silver badge

        Re: BASIC as a scripting language

        And if you want regular expressions, just use a regular expressions library, as with any other language. There's a certain madness in people who expect/demand non-language functionality to be embedded in a language instead of being in a library usable by the specific program that needs to use it.

        1. Dan 55 Silver badge
          Happy

          Re: BASIC as a scripting language

          Yes, Perl has that effect on you.

    2. jasha

      Re: BASIC as a scripting language

      Upvote for mentioning the QL. Lovely, albeit somewhat crippled, machine.

    3. HorseflySteve

      Re: BASIC as a scripting language

      QL SuperBASIC by Jan Jones (now a romantic fiction novelist) had really great structured additions and, along with Tony Tebby's multitasking Qdos, would have been much more widely used if the QL hardware wasn't so poor. Running on a 68008, the 32bit processor wss strangled by the 8 bit databus & the bespoke storage Microdrives weren't considered as sufficiently robust and reliable as floppies. That said, I never had that much trouble with them, either on Spectrum or the QL

    4. Michael Wojcik Silver badge

      Re: BASIC as a scripting language

      I think a BASIC along the lines of the QL's, Sam's or the last version of BBC BASIC plus a few things like regular expressions would make a respectable scripting language and it would be more readable than many.

      That description more or less fits VBScript, which is available in both CLI and GUI modes (via cscript.exe and wscript.exe) on all modern Windows systems. I suppose it's more readable than some other scripting languages, but I wouldn't call it "respectable".

      BASIC was my first HLL and I wrote some non-trivial programs in it. I haven't used it in several years (and for decades all I did with it was the occasional demo for a misguided customer, or fixing someone else's script or plug-in), and I don't miss it a bit. Even the modern versions are generally pretty unpleasant until they get so far from BASIC they're really a different language.

      I'm a big proponent of readability, and I prefer plain-language syntax over the arbitrary-punctuation approach that's unfortunately used by many languages that otherwise have much to recommend them (e.g. pretty much everything in the ML family that's not a Haskell variant). But BASICs are generally rife with non-orthogonality and historical accidents.

  14. LeahroyNake

    Q Basic

    Not sure if Qbasic is the same, quick search says that the syntax is probably similar. It was the first programming language I used after editing auto exec.bat and config.sys files etc.

    Managed to write versions of pong and arkanoid with just the built in help. I wish modern languages were as easy to pick up for the same results / effort... Then again distractions were a lot lower and time was the one thing that I had an abundance of.

    1. ocflyfish

      Re: Q Basic

      Taught myself QuickBasic while in high school.

  15. swm

    Working with Drs. Kurtz and Kemeny

    I was lucky to work with both Drs. Kurtz and Kemeny at Dartmouth.

    The BASIC language was developed because FORTRAN had a very complicated FORMAT statement and ALGOL-60 had no specified IO at all. Dr. Kemeny was always adamant that the system be easy to use with minimal instruction. He succeeded.

    The original system ran on a GE-225 (later upgraded to a GE-235) and a DN-30. There was a dual access disk that both machines could access. The GE-225 was a 20-bit word length machine and the DN-30 was an 18-bit word length machine. Each had 16,384 words of memory.

    The main executive resided in the DN-30 which was a communications processor and handled ~40 teletype connections. All scheduling, editing etc. was done on the DN-30. It had direct memory access to the GE-225 memory and would issue commands to that machine through mailboxes. If anything went wrong with the GE-225 the DN-30 would fill the GE-225's memory with BRU 26 (unconditional branch to octal 26) instructions. The DN-30 would then store a short bootstrap causing (hopefully) the GE-225 to reload itself. If this failed the process repeated. If the DN-30 failed a bootstrap was loaded from paper tape.

    All of this was written by undergraduates.

    The GE-225 ran the compiler and executed code by direction of the DN-30. The process was:

    1. The user typed in a program with line numbers. This was accumulated on the dual access disk.

    2. The user typed "RUN".

    3. The GE-225 (on command) would access the program and sort the lines in numerical order.

    4. The GE-225 would compile the program to machine code. (Yes, the original BASIC ran compiled code).

    5. The GE-225 would swap the code in and out under direction of the DN-30.

    6. Every time the program was swapped out the DN-30 would read a fixed-location output buffer and send the contents to the associated teletype.

    7. When the output was almost done the DN-30 would schedule the program to be swapped in again.

    I was the main architect of the next generation time sharing project on the GE-635 computer. This system eventually had over 100 simultaneous users and 2 CPUs.

    1. Wexford

      Re: Working with Drs. Kurtz and Kemeny

      My mind is blown more than it ought by the concept of BASIC being compiled. Yet, blown it is.

      1. Andy The Hat Silver badge

        Re: Working with Drs. Kurtz and Kemeny

        Call that mind blown?

        My university project was a 'throw-away' compiler to enable compilation of BASIC source larger than physical memory on a micro ... based on about three lines of description by one writer in the back of a text book.

        At that time you loaded your program and typed RUN. As this was mostly cassette based systems and the relatively early days of floppies being availability, so no simple hard disk swapping allowed!

        Those were the days when we had to be efficient programmers to squeeze into the space available ...

    2. Michael Wojcik Silver badge

      Re: Working with Drs. Kurtz and Kemeny

      Yes, for '64, a timeshared JIT-compiled teaching language with fairly straightforward built-in primitives for the things students needed to do was a tremendous idea, and Dartmouth BASIC did an excellent job of using the available resources. No question there.

      LISP offered a similarly productive learning environment, but in '64 it was still at the LISP 1.5 stage. I think it had a REPL and the JIT / mixed compilation model then, but it was still relatively early days. Maclisp wasn't released until '66 according to Wikipedia.

      And, of course, imperative style was more intuitive for many students than functional style, so it was easier to get their programming feet wet in BASIC than in LISP. Pace Dijkstra, BASIC was an important starting point for a lot of programmers and computer scientists.

  16. Cranky_Yank
    Happy

    Lost in Translation

    As a Yank in Japan, I took some pride in the fact that I taught myself BASIC using the books that came with my new NEC computer, which were written in Japanese.

    When I bragged about it to some Japanese co-workers, they laughed and said, "So did we!"

  17. coconuthead

    The sign big-notes BASIC

    BASIC only became "the standard way people ... learned to program" for those who had no standards.

    Its legacy has been to give an erroneous impression of how programming should be done to many people outside the field, including those who get into decision-making positions where they can be responsible for spending large sums of public money on software. Programming should not be an endless quagmire of spaghetti code, punctuated by panicked edits and reruns. What might have been excusable in the 1950s had no business existing by the 1980s.

    The sign needed only one word:

    "DIM"

    1. steelpillow Silver badge
      Mushroom

      Re: The sign big-notes BASIC

      Of course, how silly of me. All my life I have assumed that interpreted high-level programming languages were for the convenience of the programmer. I never dreamed until you wrote that, that they are for the greater convenience of the compiler.

      Now I am off to rewrite all my BASIC in brainfuck.

      1. coconuthead

        Re: The sign big-notes BASIC

        There was nothing high level about the original Dartmouth BASIC. See the language guide linked on this page:

        https://www.dartmouth.edu/basicfifty/basic.html

        It had no block constructs, or even symbolic labels for GOTO. The dynamic strings and garbage collection, which were genuine advances over many other languages, came much later. (But Lisp had garbage collection and predated BASIC.)

        The introduction in the language manual even mentions Algol as a language students might progress to after using BASIC. It was commonly available at the time and a much higher level language than BASIC. Another contemporary higher level language was Lisp.

        Dartmouth BASIC allowed students to use a lower-level, less sophisticated language interactively rather than a higher-level language in batch, using the same amount of resources.

    2. werdsmith Silver badge

      Re: The sign big-notes BASIC

      BASIC only became "the standard way people ... learned to program" for those who had no standards.

      I don't think so. It was an ease at a time when people had no idea what a computer could be used for, and their understanding of computers was on sci-fi TV, a wall with flickering lights and giant tape reels. BASIC was programming with stabiliser wheels.

      The fact is was called "basic" and the first letter stood for "beginner's" is enough for people to realise that better things lay beyond. Although it's true that there was a period where people were able to pay their bills with money earned from Visual Basic coding, they have all moved on to a better place. Python is the new BASIC

    3. dalethorn

      Re: The sign big-notes BASIC

      Truth is, as bad as many programmers made BASIC, they made 'C' and C++ far, far worse.

  18. vincent himpe

    get it right ...

    10 PRINT "Memorial in New Hampshire marks the birthplace of BASIC"

    20 GOTO 10

    30 REM strings are to be enclosed in double quotes

    1. Anonymous South African Coward Bronze badge
      Trollface

      Re: get it right ...

      Wot? No GOSUB's?

      1. vincent himpe

        Re: get it right ...

        Ever looked at the output of your favorite compiler ?

        All your high-level new fangled stuff gets converted to Goto and gosubs ( JMP , LJMP ,CALL and RET)

        because that is ALL a CPU can do !

        Anyone who says goto and gosub are the work of the devil , doesn't understand the metal and should stick to fingerpainting and staring at their bellybutton.

        Basic interpreters could fit in 4K or 8K rom. and that included the tokenizer , runtime and editor

        Modern compilers are gigabytes. Bootloaders won't fit on a single floppy.

        And people complain about bloatware...

  19. JeffyPoooh
    Pint

    New Hampshire has 255 roadside markers

    Of course.

    That's the most one can fit into 8 bits.

    1. Pen-y-gors

      Re: New Hampshire has 255 roadside markers

      Having looked at the photo in the newspaper article, one has to ask 'Why'?

      What is the point of having a sign in very small type next to a highway, where pedestrians are in very short supply? How do you read it while passing at 55mph (or whatever the US speed limit is these days)

    2. 9Rune5
      Thumb Up

      Re: New Hampshire has 255 roadside markers

      Not if the first marker is number zero.

  20. Robin

    Long time running

    "The first program ran on 1 May 1964."

    ...and is presumably still running, because the second line was GOTO 10 ?

  21. Anonymous South African Coward Bronze badge

    Ahh, the days.of yore of typing in lines and lines of code from a magazine and then weeding out the typos and bugs....

  22. Anonymous South African Coward Bronze badge

    Anybody who was able to cheat with The Valley by getting more psi, stamina etc?

  23. Mystic Megabyte

    At my college in about 1973 *ICL had donated a presumably obsolete mini computer. It had ferrite bead memory and we programmed on paper tape. The only thing that I can remember is that if your program had some infinite recursion it would erase the operating system.

    * https://en.wikipedia.org/wiki/International_Computers_Limited

  24. Lotaresco

    Definitely feeling old

    The first time that I encountered BASIC was at school in 1970. Since the school couldn't afford a computer we had to write our code onto coding sheets and post them to UMIST where they were typed onto cards and run. Then the university would return the printed output and cards in the post. It took a week for the turnaround. Imagine the thrill of opening the envelope and finding "Syntax Error on line 10" as the output.

    Two years later I managed to get my hands on a PDP11 and an ASR33. Oh the joy!

  25. Still Confused

    FORTRAN first, but then BASIC

    FORTRAN was the first programming language I learnt (at university in 1970). It was Waterloo FORTAN (WATFOR), a limited version for new students, that stopped after 1000 lines of execution so infinite loops didn't bring the whole system to a halt. We wrote the programs on forms that were punched by the operators and the results returned by a print-out wrapped around the punch cards. If we needed to resubmit with corrections, we could punch our own cards.

    My first job involved an in-house system called PROCALC, basically FORTRAN with tweaks that ran live - but could be used to submit FORTRAN programs to the batch system. I learnt BASIC in 1976 when I needed to use a Varian micro for a project I was working on - I was handed the instruction book and let loose. That computer, like the previous one, interfaced via a teletype but also had a screen which could be used for the results. Essential for my project as I was working on a system for pattern recognition - limited capability in 32kB of RAM, but it was a start.

    My favourite BASIC was the BBC variant (on my Electron - now back in its original box in my attic) - the ability to insert assembler directly into teh program gave it a lot of additional power; the assembler was compiled on the first pass, even though the rest of the program was interpreted. Allowed me to write screen grab routines to some weird printers, and to modify games (typed in from magazines) to access a co-pro. Who remembers the "tube" - allowed the program to run on one 6502 while the graphic processing ran on another. I had a maze game that, in the magazine had wire-frame walls, but ran with solid, shaded walls on my Electron, and with smoother motion. Rubbish compared to today's systems but not bad for the 80's.

  26. Peshman

    Many hours spent playing Gorillas on my Polytechnic PC.

    That's all BASIC meant to me back then. PrimeOS and COBOL was where it was at in those days.

    *Misty eyed*

    ...Or it could be my cataracts.

  27. dalethorn

    BASIC, upgraded with structure and no line numbers, and 8-bit integer arrays to match the 'C' language access to memory, is still the best programming language. Because it has the technical capability, and because it's readable in English. Anyone who thinks otherwise is likely one of the poseurs who've sat in my lunchrooms pontificating on "new" programming tech while producing crap code for the latest snail-pace DBMS.

    1. jeffdyer

      What you're talking about is practically PASCAL, a language which I used in school in the mid 80's and unit afterwards, and would then re-encounter after 10 years in the form of Delphi in 1997.

  28. Cab
    Joke

    Yes, Yes, Yes BASIC, very nice but...

    Here are the damning lines :

    "They also created time-sharing to open up access to all students at the college. The idea was that the computers should be used by all students, not just those studying technical subjects."

    Non-technical students? In the labs? Ack! At last we have found the root cause of the favourite University Dean quote "But the CS department doesn't need extra money for their labs all faculties use computers, it's not like biology/physics/chemistry..." usually from the head of the Maths, Computing and Science Dept. who used to be a biologist/Physicist/Chemist.

    A memorial ? For them ? Truly they were histories greatest monsters.

  29. Flibberflops

    Syntax Error

    Typical Programmers... All reminiscing in the past... none noticing the obvious syntax error in the title!

    1. vincent himpe

      Re: Syntax Error

      i did, read previous page.

  30. DuncanLarge Silver badge

    Today

    1. Get a raspberry Pi.

    2. Download the latest RISC OS 5 onto an SD card.

    3. Boot and if not already familiar, get to grips with RISC OS 5. (You need a 3 button mouse and think "right click is now middle click").

    4. Open a new command window (or for quick and dirty stuff press F12).

    5. Type BASIC (must be caps) and press enter.

    6. Turn on caps lock and start writing BBC basic on your modern Arm chip.

    7. Read up on how to access the GPIO pins in BBC BASIC, enjoy one of the lowest latency ways to address the pins.

    8. Add a GUI to your basic programs all using in-built tools in RISC OS where your BASIC program looks and runs like any other program should you want it to.

    Long live BASIC!

    1. vincent himpe

      Re: Today

      but ...

      Gigabytes of code, boot times of minutes. Billions of transistors in multicore cpu's.

      All for something that really only needs 8K of rom, a few thousand transistors and can boot in less than a few milliseconds.

      And the emulation is probably slower than the real electron...

      We've come pretty far ...

      1. Dan 55 Silver badge

        Re: Today

        How about RISC OS Pico which is about as cut-back as it gets these days? It starts up with an Acorn-style BASIC prompt.

      2. Jay Lenovo

        Re: Today

        Why code better, when so-so coding can still be accommodated by hardware "stretchy pants".

        Programming is less of an art now than a commodity.

  31. mplotczyk

    Learning BASIC in US high school circa 1970

    REM CIRCA 1969-1970

    REM LOCATION #1: USA, PUBLIC HIGH SCHOOL IN MASSACHUSETTS, SENIOR (JUNIOR?), MATH CLASS

    REM NO GOSUBS AND NO ELEGANCE

    REM

    5 IF NO PROBLEMS FROM LAST WEEK'S PROGRAM GOTO 10

    7 FIX PROBLEMS

    8 GOTO 20

    10 CREATE HANDWRITTEN BASIC PROGRAM TO SOLVE NEW PROBLEM ASSIGNED BY MATH TEACHER

    12 IF 1-WEEK TIMER HAS EXPIRED GOTO 40

    20 REVIEW PROGRAM WITH TEACHER

    30 IF ERRORS GO TO 7

    40 RIDE BUS TO PREP SCHOOL

    REM

    REM LOCATION #2: NEARBY PRIVATE COLLEGE PREP SCHOOL WITH MONEY AND DARTMOUTH TIMESHARED TELETYPE

    REM

    50 WAIT IN LINE FOR PHYSICAL ACCESS TO DARTMOUTH TIMESHARED TELETYPE WITH ROLLED YELLOW PAPER AND FADED BLACK RIBBON ON SPOOLS

    60 TYPE PROGRAM ALL CAPS WITHOUT USING NON-FUNCTIONAL BACKSPACE AND DELETE KEYS

    65 IF YOUR ALLOTTED TIME IS UP GOTO 300

    70 RUN

    80 IF NO SYNTAX ERRORS GOTO 300

    85 IF YOUR ALLOTTED TIME IS UP GO TO 300

    90 RETYPE LINE TO CORRECT SYNTAX

    100 GO TO 65

    300 SAVE PROGRAM TO PAPER TAPE (HOLES)

    302 REMOVE PAPER TAPE

    305 EXIT THE TELETYPE OPERATOR'S CHAIR

    307 START 1-WEEK TIMER

    309 GOTO 5

    310 END(?)

  32. JeffyPoooh
    Pint

    Backspace Packing

    Within many environments, the user display will dutifully obey the backspace character (ASCII 8), even embedded within the script or code. So by packing in some ASCII backspaces (using a routine to replace a placeholder character with ASCII 8), actual code can be hidden 'beneath' the backspaces, and decorative fake code can be displayed (after a hidden REM).

    A BASIC example (from ~36 years ago):

    10 PRINT "Yes!"; REM ^h^h^h^h^h^h^h^h^h^h^h "No!"

    LIST

    10 PRINT "No!"

    RUN

    Yes!

    By this means, what is apparently listed and what is actual hidden code can be perfectly independent. The only clue might be the file size, if they're paying attention and counting characters.

    Any environment that obeys the backspace is vulnerable to this mischief.

  33. Anonymous South African Coward Bronze badge

    old farts the whole lot of you :p

    yes, I'm one too :p

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon