back to article Your kids' chances of becoming programmers? ZERO

Almost overnight in the early 1980s, hordes of British kids embraced programming, as did many adults, delivering the most IT-literate workforce in the world. It was a big reason why the nosediving economy of the '70s and '80s didn’t crash and burn. Well, that or Thatcherism, you choose. Why BASIC? In the early 1970s and early …

  1. G_R

    Spot - on (6502/6809's rool btw...)

    1. Anonymous Coward
      Coat

      Re: 6502/6809's rool btw...

      Isn't that the processor where you don't have XORs, you have EeyORes?

      1. Simon Harris
        Unhappy

        Re: 6502/6809's rool btw...

        But the 6809 did have BRAs and SEX ...

        ... which was about as close to the real thing as some of us got back then!

      2. djack

        Re: 6502/6809's rool btw...

        Whilst I was more of a Z80 kid, I do remember being amused by EIEIO on the 6502 (I think!)

        1. Jamie Jones Silver badge

          Re: 6502/6809's rool btw...

          Noooooooooooooo!

          Z80 all the way! Loads of registers, secret instructions (8 bit manipulation of the IX and IY registers), and the powerful LDIR family of blockmove instructions!

          1. Steve Todd

            Re: 6502/6809's rool btw...

            As opposed to the 6502 where you could basically treat the first 256 bytes of memory as registers, it had hidden instructions (see http://www.ataripreservation.org/websites/freddy.offenga/illopc31.txt) and could perform memory to memory moves at least as fast as the Z80.

            I programmed both at assembler level and generally prefered the 6502. The 6809 was better and the 68000 made them both look like complete crap.

            1. This post has been deleted by its author

              1. Jamie Jones Silver badge
                Happy

                Re: 6502/6809's rool btw...

                Woah there! It was just a light-hearted nostalgic post.

                No need to take if personally! It's not a competition! Those days were over 25 years ago (and my beloved Z80 ZX spectrum won! woooohooo! Mwwwwahahaha)

                Incidently, I also did 6502 assembler (I used it to hack the school econet system), but seeing as it didn't power the speccy.... :-)

            2. G_R

              Re: 6502/6809's rool btw...

              ah yes, and the much lamented (and somewhat pointless) 68008 a la Sinclair QL.....

            3. Naughtyhorse

              Re: 6502/6809's rool btw...

              68000 made them both look like complete crap.

              plus when you got bored you could say 'Motarola 68000' to the tune of Pennsylvania 6-5000 which always raised a giggle.

              :-)

              1. Herby

                Re: 6502/6809's rool btw...

                Just remember that the Penta (nee Pennsylvania Hotel) hotel STILL has the phone number Pennsylvania 6 5000!!

            4. Peter Gathercole Silver badge

              Re: 6502/6809's rool btw... @Steve

              What made Page 0 really special on the 6502 was the ability to treat any pair of bytes as a vector, and jump using a 2 byte instruction (one for the op code, the other for the address in page 0) to anywhere in the systems address space very quickly. Because this was used extensively in the BBC Micro OS for almost all OS calls (see the Advanced BBC Micro User Guide), it mean that you could intercept the OS call and do something else instead (it was called re-vectoring).

              I used this many times. For example, in Econet 1.2, all file I/O (but not loading programs) across the network was done a byte at a time (very slow, and crippled the network, which only ran at around 200Kb/s anyway). I wrote a piece of intercept code which would re-vector OSREAD and OSWRITE so that they would buffer the file a page (256 bytes) at a time (IIRC I hijacked the cassette file system and serial buffers to hold the code and the buffered page), which sped things up hugely. Could only do one file at a time, but would handle random access files correctly.

              When used with the Acorn ISO Pascal ROMs, it sped up compiling a program from disk from a couple of minutes to seconds, and meant that it was possible for a whole class to be working in our 16 seat BBC Micro lab at the same time.

              Talking about ISO Pascal, which came on 2 ROMs, I also re-vectored the Switch ROM vector (can't remember it's name) so that I could load the editor and runtime ROM into sideways RAM, edit the Pascal program, issue a compile command (which would switch to the compiler ROM), and have it overwrite the editor/runtme ROM image with the compiler ROM image, compile the code, and then switch back after the compile was finished. Great fun! Infringing on Copyright, of course, but meant that I could work in Pascal on my BEEB that did not have the ROMs installed!

          2. Peter Gathercole Silver badge

            Re: 6502/6809's rool btw... @ Jamie

            The problem with may of the complex instructions on the Z80 was that they took so many T-states to execute. This meant that on paper, a 4MHz Z80 looked like it should outperform a 2MHz 6502, but as the average Z80 instruction took 3.5 T-states, a 6502 clocked at half the speed, with an average of 1.5 T-states per instruction could run more instructions in the same time.

            This meant that with careful programming, it was often possible to get functionally identical code running faster on the 6502 than on a Z80. It was horses for courses, of course, but many of the sorts of things that these processors would be running would be integer, simple data handling or block memory problems that did not need the more powerful instruction set of the Z80 anyway. I've commented on this with a worked example before here

            But this comes back to the crux of the article. In order to get the best out of the machines back then, it was necessary to know the instruction set very well. And this is what is missing in today's programmers.

            1. Ian 55

              Re: 6502/6809's rool btw... @ Jamie

              A 6502 couldn't average 1.5 T-states per instruction - it was guaranteed to only access memory every other tick of the clock, so there were always at least two ticks between instructions.

              In theory, this meant you could have two 6502s accessing memory alternately for an early dual CPU system. I think at least one system did, but this was a trick the main micros missed.

            2. fajensen

              Re: 6502/6809's rool btw... @ Jamie

              In order to get the best out of the machines back then, it was necessary to know the instruction set very well.

              And It was indeed possible by a single person to know that instruction set very well. The entire documentation for the Z80 instruction set was a slim book, from memory, about 80 pages. The complete hardware documentation was, again from memory, 250 pages. Fat, but one did not have to read the whole thing only the first part on IRQ's and the 1-2 peripheral's one would use.

              Now, on a modern CPU, just the section on how to configure the memory controller is the size of those to books together and you have to read all that crap + the errata's to get that sucker to boot!

            3. Anonymous Coward
              Anonymous Coward

              Re: on paper, a 4MHz Z80 looked like it should outperform a 2MHz 6502

              Yes, a 4MHz Z80 and a 2MHz 6502 were roughly on an equal footing. But at the time, in the home machines, the 6502 and family were clocking in at less than 1MHz, so they turned out with about half the grunt of the Z80-based machines at 3.5-4MHz.

              Although Sinclair blew its advantage by sticking one of the slowest BASIC interpreters ever on its ROMs...

          3. Anonymous Coward
            Gimp

            Re: 6502/6809's rool btw...

            LDIR? Nah mate, you wanna chuck the stack pointer around and use POP and PUSH to shift 16 bytes at a time. Waaaay faster on a Z80, and leaves a 6502 standing still. Just make sure SP is back where it should be before an interrupt occurs...

            Huh? What did I just type? Damn, channelling Joffa again. Lucky I've got that exorcist on speed dial...

        2. Tufty Squirrel

          Re: 6502/6809's rool btw...

          EIEIO on the 6502? You jest. It's the PowerPC "Enforce Instruction Execution In Order" opcode. It *might* go back as far as IBM's 801 processor, or more likely the original POWER ISA, but no further. The first time you're liable to have come across this unless you were doing low level AIX development on IBM hardware is when the first PowerPC Macs came out in 1994. About ten years after the 6502 was commonplace.

          1. djack

            Re: 6502/6809's rool btw...

            "EIEIO on the 6502? You jest. It's the PowerPC "Enforce Instruction Execution In Order" opcode."

            Hmm, my memory is failing.

            The mnemonic expands to the same wording, but I've definitely not done any assembly code on PowerPC (not done any at all for at least 15 years tbh,) so it must have existed on an earlier platform. It could have been 68000 I suppose.

    2. Jim 59

      6809

      6809 -> Dragon 32 is your friend

      1. Andrew Norton

        Re: 6809

        Indeed. I used mine from when I got it (second hand) in 86, until I moved to the states 10 years ago. used DRS to run all my businesses, had the floppy, boxes of tapes, and even went to the last dragon store (above a shop in Valetta, Malta) in the early 90s to pick up more stuff.

        Heady days...

        1. Jim 59

          Re: 6809

          Dragin 32, Valetta, drs. The are all things that are cool, especially when found together. The dragon manual was very good too, gave a good course in programming.

    3. Alan W. Rateliff, II
      Paris Hilton

      I love/d working in 6502 and its Commodore 64 and 128 descendents, the 6510 and 8502, but I have to admit that every so often I have a slum tryst with TMS-9900.

      I feel so dirty.

  2. Anonymous Coward
    Coat

    Old Manuals

    >> There were almost no books on programming, I worked out most of the syntax of DEC BASIC from the error messages.

    I think that I still have a 1975 DECsystem-10 Basic manual in my garage ... can I send you a copy?

    But more seriously, my early programming experience at school from 1973 was learning Algol-60 from an ICL Manual and using the formal Algol-60 Revised Report (in BNF) as bedtime reading. Weekly job turn round from the local technical college using mark-sense punch cards, eventually graduating to using the sixth-form 'Wednesday Sports afternoon' to visit the college to use their proper punch card machine and get a couple of jobs run each week.

    Sad isn't it?

    1. Anonymous Coward
      Anonymous Coward

      Re: Old Manuals

      But more seriously, my early programming experience at school from 1973 was learning Algol-60 from an ICL Manual and using the formal Algol-60 Revised Report (in BNF) as bedtime reading.

      May be an apochryphal story but I recollect hearing that the original Algol-60 compiler developers used a parser generator which generated the progam parsing code from the BNF description .... and initially it had a single error message which simply stated "Not a valid Algol-60 program"

      1. Christopher Slater-Walker

        Re: Old Manuals

        My school had an Elliott 803 (with expanded memory, floating-point unit etc. etc.) and Algol60.

        I remember a couple of the Algol error messages, and the OP got one of them (not a valid Algo60 program). Another amusing one was "Program too large or complex to be compiled at all'

        I tried to write an Algol program specifically to generate that error message but I never quite succeeded.

      2. Anonymous Coward
        Anonymous Coward

        Re: Old Manuals

        original Algol-60 compiler developers used a parser generator

        Sure, why not? That's the way Yacc worked (and Bison still does). For a while there parser generators were all the rage (perhaps inspiring the quip "I'd rather write programs to write programs than write programs" by Dick Stiles). It seemed to me at the time that compiler design/implementation was the way of the future, so I wrote a 6502 assembler in first year in college and a full compiler for a Pascal-like language a couple of years later (in Yacc, and using Zortech C's linker and maths library for the runtime part). The compiler was less than 1,500 lines of code/comments thanks to Yacc and being able to piggy-back on the Zortech linker and runtime libraries.

        Never got a job where my compiler skills were even remotely relevant, but it taught me a lot and I still find it quite interesting. So much so that I've recently been re-reading parts of the Dragon book and my old assembler/compiler code. For fun.

      3. pix30

        Re: Old Manuals

        No - I think that you're right. I was taught at Manchester by a Dr Lindsey in the mid 80s who was a complete Algol bigot. He forced us to use Algol-68 (the pain, the pain). He used to proudly tell us that the whole Algol 68 language could be validated using the BNF parser and so it was impossible to write incorrect programs. What is didn't say was that it was pretty well impossible to write any programs at all the syntax was so convoluted.

    2. rictay

      Re: Old Manuals

      Still have the Algol 60 "Days and Dates" program which calculates what day a particular date fell on. Wrote it in 1965. Mind you, I did work at a place that had a computer we ops could use when there was nothing to run on night shift.

      But seriously, CompSci students can't write programs? Could be that language compilers are not so readily available, or are not so cheap these days. I stopped buying Visual Basic when MS wrapped it up in a big package, Visual Studio, that was nothing to do with what I wanted.

      Even in my 50s I wasn't at all impressed with the CompSci graduates I worked with as they seemed to know little about software engineering, nor the reasons why we had to develop it in the first place. Prof Dijkstra, Michael Jackson, James Martin, and other legendary figures are completely unknown to them. Also such historic events as "the software crisis" that led to the foundation of software engineering as a serious profession in the first place.

      No, sadly it's only about cushy well paid careers and big fat pay checks for minimum effort.

      1. asdf

        Re: Old Manuals

        >No, sadly it's only about cushy well paid careers and big fat pay checks for minimum effort.

        Be careful painting with that broad brush. I have seen Baby Boomer coders that even after many decades weren't worth a shit and have also left nothing but a lifetime of spaghetti code behind every job they hopped after a few years.

        1. This post has been deleted by its author

      2. A J Stiles
        FAIL

        Re: Old Manuals

        Could be that language compilers are not so readily available, or are not so cheap these days.
        I do not think so. The reference implementation of the C compiler costs £0 including full Source Code.

        1. Kubla Cant

          Re: Old Manuals

          The reference implementation of the C compiler costs £0 including full Source Code.

          Exactly! I doubt that there are any current languages for which you can't get a free compiler. Many of them offer a free IDE. In the Java world, it's a battle between four or five IDEs that are either entirely free or offer a free version. I think Microsoft offer some sort of .NET freebie. If you're truly perverse and you search hard enough I bet you can even get COBOL free.

          1. This post has been deleted by its author

          2. Richard Plinston

            Re: Old Manuals

            > I bet you can even get COBOL free.

            http://www.opencobol.org/

      3. Nigel 11

        Re: Old Manuals

        But seriously, CompSci students can't write programs? Could be that language compilers are not so readily available, or are not so cheap these days.

        No. Python is available for free on Windows and Linux systems alike. http://www.python.org/download . Python is a perfect first language: well-structured, lots of libraries, and interpreted.

        Most people are no longer interested. Sad but true. I don't feel it's just programming. rather, that the whole state school system is broken, and now exists to crush all inquisitiveness and initiative out of kids so that they can become drooling compliant consumers. Exams no longer require thought or understanding, just regurgitation of memorized texts.

    3. Steve Davies 3 Silver badge

      Re: Old Manuals

      Ahhh The memories of sitting at an ASR-33 Teletype programming the Hatfield Poly or the OU DecSystem 10 in Basic. Circa 1973-74. I was at Central London Poly at the time.

      110baud should be enough speed for everyone!

      Now where's the Paper Tape repair kit?

  3. Sandtreader

    So fix it!

    Obviously I don't know what you are going to put in the second article yet but I refute the title - it has been true for the last two decades but look at the new National Curriculum which has Real Computer Science and Programming at every level from KS1 up.

    Actually it's not even completely true now - there are kids out there who have found their own way into C++ games development, ObjC/Java mobile apps or Raspberry Pi Python hacking. I've met them in schools and have had some as work experience - every bit as keen to learn the deep stuff as we were in 1980.

    This kind of "ain't like the good old days" 80's nostalgia is all well and good but it's getting old hat. What's needed now is a concerted positive effort from education and us in industry to fix it. Schools are crying out for help - Google "STEM Ambassador" or just go and talk to your local school's head of ICT who is probably panicking right now. Learn some Greenfoot (Java) and Scratch (drag-and-drop) and get out there!

    1. RyokuMas
      Childcatcher

      Re: So fix it!

      "This kind of "ain't like the good old days" 80's nostalgia is all well and good but it's getting old hat" - the problem these days is twofold:

      Firstly, the entry barrier is a lot higher for someone with almost zero knowledge. Back in the 80s, you switched on your machine, the BASIC prompt would come up and off you went, usually with something like:

      10 PRINT "Hello World!"

      20 GOTO 10

      RUN

      ... which would work, leaving you thinking "yeah!", encouraging further experimentation. Whereas now (assuming you have a bog-standard Windows PC from a high street outlet), you need to hook up to the web, and download and install your programming tools - so there's scope for things to go wrong before you've even written a line of code (remember, I'm assuming near zero experience)! Very discouraging, and bound to put a lot of people off...

      Secondly - as I've mentioned elsewhere - is what the fledgling programmer can achieve versus their expectations. Back in the 80s, games were all blocky graphics and bleepy sound - once you had mastered cursor positioning and printing special characters in different colours, it didn't feel like a huge leap to make. Whereas now, kids are brought up on a diet of Call of Duty and Grand Theft Auto, so they expect to be able to make similar - and then stop when they realise just how much work is involved.

      I'm not saying that all are put off - but it's certainly a lot more difficult these days.

      1. Roo

        Re: So fix it!

        "Firstly, the entry barrier is a lot higher for someone with almost zero knowledge. Back in the 80s, you switched on your machine, the BASIC prompt would come up and off you went, usually with something like:

        10 PRINT "Hello World!"

        20 GOTO 10

        RUN"

        That's a very good point. Although in UNIX land you have shell scripting available by default - but the barrier for entry there is UNIX rarely come with a quickstart guide telling you how to write your first shell script so your point still stands (unfortunately).

        1. Al Jones

          Re: So fix it!

          VBScript is available by default in Windows too (though there's no GOTO in VBScript, so your 2 liner becomes a 3 liner, with a Do or While loop around the wscript.echo "Hello World!" statement)

          What you can't easily do with VBScript at the command line that you could do with BASIC 25 years ago is move the cursor around the screen (though you can run your script in a web page if you want to write your own version of Snake).

      2. Solmyr ibn Wali Barad

        Re: So fix it!

        It's not that bad - programming tasks may still be appealing to kids. It really depends.

        Some good examples: Forth computer in Minecraft, Colobot, Mindstorms. Sufficiently easy, starting to yield sense of achievement right away, and yet allow to get a hang of algorithmic thinking. After that, it's quite likely that next Christmas wish is going to be an Arduino or Raspberry.

        But yes, abundance of ready-made things has taken its toll. If there's an app for everything, why bother?

      3. Destroy All Monsters Silver badge
        Headmaster

        Re: So fix it!

        > Firstly, the entry barrier is a lot higher for someone with almost zero knowledge.

        LOL NO!

        One word: Documentation. And: Actually getting your hand on a machine. With a screen. And some software. And maybe an assembler

        In 80s: FARK OFF, KIDDO.

        Now: PLENTY, WHERE YOU YOU WANNA START?

        Really, considering the "barrier of entry" today to be higher is like pining for the good old pre-capitalistic times were man and beast lived happily together and you died from a toothache at 30.

        1. Destroy All Monsters Silver badge
          Flame

          Re: So fix it!

          Don't you DARE downvote me, fracking kids. I have burnt through more keyboards than you have had anniversaries.

          Now get off my fracking lawn!

          1. Jamie Jones Silver badge
            Thumb Up

            Re: So fix it!

            "Don't you DARE downvote me, fracking kids. I have burnt through more keyboards than you have had anniversaries.

            I upvoted you, but of course you know that a comment like that is like a red rag to a bull with those downvoters!

            Yes, documentation is much better these days - In the early 90's, I basically taught myself Unix using the man pages. These seemed brilliant to me - all the information I'd require readily at hand.

            However, I'm actually quite glad I didn't have access to more information - back then, if I got stuck, I'd have to work it out - now you just Google it!

            "Now get off my fracking lawn!"

            Sigh, those energy companies will do anything these days to find new sources of natural gas! :-)

        2. JEDIDIAH
          Linux

          Re: So fix it!

          I still use scripting tools reminiscent of BASIC in order to write simple programs to do things that aren't already pre-packaged for me in some higher level language with a nice shiny happy GUI. I also automate non-GUI tools in order to deal with tasks more effectively than I would be able to in a GUI.

          In some ways, the allegedly new and better suffers from the same old problems. Except now there's shiny graphics to distract you from the problem. We try to convince ourselves that things a "different and better" when quite often they are mostly just prettier.

          Also, GUIs are often not recognized as such just because they aren't pretty enough.

        3. davtom

          Re: So fix it!

          In the old days...

          "I want to learn programming! Ah, I see. BASIC is the language. There's also this thing called machine language that I might look at. Let's get stuck in."

          In the new days...

          "I want to learn programming! Ah... OK, what do I use? There's Basic, C, C++, C#, Java, Perl, Python, Go, Dalvik, Objective C, Lisp... How do I choose?"

          1. Sandtreader

            Re: So fix it!

            [@davtom, choice of language]

            That's easy - Java in Greenfoot (www.greenfoot.org). Not a perfect first contact language maybe (Python probably shares that with BASIC in terms of PRINT 2+2, and LOGO was hard to beat) but teaching good concepts and more importantly, a brilliant mini-IDE with a sprite-based world to make games in and a wealth of teaching materials and support forums. And it's free and runs on anything. Next question?

            (it would be interesting to know how many people whinging about access being too hard and capability too limited have ever even heard of Greenfoot, or have seen kids playing with it)

        4. RyokuMas
          Facepalm

          Re: So fix it!

          Okay, getting hold of a machine was a bit more of a chore, I'll give you that. But documentation? Really?

          Like I said, when I started programming, I started off with my "How to write programs" Usborne book and just switched on my computer and typed in the first listing which - due to its simplicity - worked, as did many of the others, regardless of the fact that the book in question was for BBC BASIC and I was using an Amstrad CPC.

          Yes, when I got a bit more advanced, things got trickier. But by that time, I was well and truely into it, and had no fear of trawling through my manuals and trying a few random things to see what worked.

          But now - wade through documentation, try and make sense of all the buzzwords, eventually download and install programming software, make sure you have the latest version, fire it up and figure out how to get started... how much longer does it take than just "switch on and go"? The longer it takes to get a result, the less likely something is to appeal.

      4. Anonymous Coward
        Anonymous Coward

        Re: So fix it!

        It was rather easy to write to the hardware too.

        Poking memory addresses to output to user ports etc. These days with HAL and drivers you have to hope that the language you are using has some nice API that talks to stuff easily.

      5. PaulR79

        Re: So fix it! @RyokuMas

        I know practically zero about programming and despite trying on numerous occasions to learn via Visual Basic I get frustrated very quickly and lose interest. Why? Any tutorials I found online ended up being for older versions of programs and when you have to spend 5 - 10 minutes hunting down the thing that has moved / changed in the UI just to get to the next step it's hard to keep going. I imagine that isn't a lot when you must run into problems that take days, weeks, months even to resolve but it doesn't take a lot to discourage some people.

        The only way I can see myself learning is by it being a taught thing in a classroom environment and I'm almost scared to contemplate any type of courses since they will most likely have people that have already done plenty of coding. I don't mind saying that I am actually scared to not have a clue when everyone else knows what they're doing to some degree.

        1. Munchausen's proxy
          Pint

          Re: So fix it! @RyokuMas

          "I know practically zero about programming and despite trying on numerous occasions to learn via Visual Basic I get frustrated very quickly and lose interest. Why? Any tutorials I found online ended up being for older versions of programs and when you have to spend 5 - 10 minutes hunting down the thing that has moved / changed in the UI just to get to the next step it's hard to keep going. I imagine that isn't a lot when you must run into problems that take days, weeks, months even to resolve but it doesn't take a lot to discourage some people."

          Can I recommend MIT's OpenCourseware? Specifically, for this particular case, 6.00SC.

          http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/index.htm

      6. Law

        Re: So fix it!

        "Firstly, the entry barrier is a lot higher for someone with almost zero knowledge. Back in the 80s, you switched on your machine, the BASIC prompt would come up and off you went, usually with something like:

        10 PRINT "Hello World!"

        20 GOTO 10

        RUN"

        I don't believe it is higher. Today we have the net - google "learn programming" and there are sites out there that let you instantly start typing into the browser in the same way you did that with your computer. They also can track your development, you can choose simpler languages, more visual languages, more complicated concepts. You also have millions of people that can answer your questions.

        A good example is this:

        http://www.w3schools.com/js/

        On top of that, computers are cheaper and more widely available than they were back then. I learnt basic, but I learnt it at school because we were way too poor to own a bbc micro... that self-learning on their machines also got me banned from using the computers at school. That stunted my learning of programming quite a bit and I almost forgot how much I enjoyed it for a year. These days they have schemes to get computers to poor families, libraries have them for free. Schools these days won't ban you for simply writing a bit of basic that had an infinite loop in it.

        I miss the good old days too, but I am also excited about the opportunities modern tech will provide my two kids that I never got. I'm also looking forward to helping them through it too - something I never got with my parents, who didn't (and still don't) understand computers.

        1. Sidney

          Re: So fix it!

          Barrier to entry ?

          If you have a browser and a text editor - create file a.html, type in <script>alert("hello world");</script>, save and double click - hey presto your first program.

        2. Andus McCoatover
          Windows

          Re: So fix it!

          Isn't a bit of the problem that, if you drooled over one of these machines (I remember waiting ages for my MK14*) at least you had the satisfaction and frustration of furtively reading the magazines on the shelves at W.H.Smith's, reading about what you CAN do with it. Embarrassing, standing with the dirty mac (no, not that sort) brigade, and drooling. Couldn't buy the mag. 'cos I'd spent all my money on a postal order to Sinclair to buy the thing.

          My first silicon porn was caused by an older guy who mistakenly let me read a dirty book I found in the back of his car. (He also gave me his HP35 calculator, which I still have).

          It was the Intel 4040 Manual, and - although at first I didn't understand all the timing diagrams, I soon found the two pages of the Instruction Set. I really should've been studying for my 'O'-levels, but this was better!

          Later, by a couple of years, I'm correcting 44-bit ttl-wired microcode in Nicolet Spectrum Analysers, and now live in Finland. Broke, jobless, unemployed. OK, the writer has a point....

          My argument...without IT skills, are we to become a nation of shopkeepers again? Or what alternative have you may-sayers in mind?

          *MK14. Showed it to my (new) boss at BT, got promoted!

      7. TheOtherHobbes

        Re: So fix it!

        "I'm not saying that all are put off - but it's certainly a lot more difficult these days."

        Which is as it should be, because you're trying to encourage the ones who can do it. Not everyone else.

        But... it isn't actually more difficult to get started. When I was learning Z80 programming you had one book - maybe two, if your parents were rich - and a few hit and miss magazine articles.

        Now there's a staggering amount of free documentation and example code for all the popular coding environments. And books. And blogs. And boards. And free libraries. And GitHub. And...

        What's missing isn't easy access, it's exclusivity and unique business niches. You could run a successful small business in the 80s selling ZX81 and Spectrum games from your bedroom. With that background, you had a non-zero chance of getting into the foothills of contracting, even if the business idea didn't work long term.

        Now it's much harder to find a niche if you don't also know how to do graphic design and social marketing.

        And code-monkey work is being offshored anyway. I wouldn't recommend it as a long-term career to kids today, because by the time they're old enough to be looking for work they're going to be competing with Indian contractors who have been learning C++ since they were embryos, and work for £10/hr.

        The next big waves - robotics, embedded systems, hacker biotech - haven't quite broken yet. I'd consider pointing kids at those and giving them start-up experience.

        Coding is not the hard part of the problem any more. The difficult part is the limited politics of opportunity in the UK, and a culture that still thinks it should be turning out drones, managers, and financial/political con artists, instead of people who have cool ideas and do useful stuff.

        1. Toastan Buttar

          Re: So fix it!

          "The next big waves - robotics, embedded systems, hacker biotech - haven't quite broken yet."

          Uhh.

          Robotics? The next big wave? Are you sure? Robotics == Motors + Feedback Sensors + Logic. I remember going through a few carwashes during the 1970s.

          Embedded systems have been around for at least 35 years. That's my current avenue of employment, and all the 1337 optimisation skillz I learnt during the 8-bit revolution are still just as applicable today. When was the last time you programmed a system with 4KB (yes, KILO BYTES) of RAM? Do you reckon those skills can be offshored to Bangalore? We who came of age during the early '80s were truly blessed. Thank you, Dominic, for this article!

          Biotech? I leave that to the Yilané.

      8. Jim 59

        Re: So fix it!

        @ RyokuMas - Bang on fella. I have received a slap in these forums for suggesting that the Raspbery Pi should boot straight into BASIC or similar. Horrible but that's the way to learn.

        1. Long John Brass

          Re: So fix it!

          But they kinda already do

          #!/bin/bash :)

        2. fajensen

          Re: So fix it!

          the Raspbery Pi should boot straight into BASIC or similar.

          That can be fixed by: "init=/usr/bin/python" on the boot command.

      9. Anonymous Coward
        Anonymous Coward

        Re: So fix it!.. but it's certainly a lot more difficult these days.

        The other issue is that even in the late 80's/early 90's, it possible for a single person to master an entire field in computing, these days there are specialisations of specialists fields, all of which have to come together to deliver a new system. This is a bit like taking somebody that can barely walk and pointing them at the top of K2, i.e. somewhat despriting.

      10. Nigel 11

        Re: So fix it!

        Rubbish. Python interpreter:

        >>> for i in range (1,10):

        ... print i

        ...

        1

        2

        ...

        10

        >>>

        An infinite loop is of course >>> while True: but because today's systems are so fast, it's not such a useful thing to demonstrate these days - you can't see anything happening except a screenfull of identical lines appears.

        1. RyokuMas

          Re: So fix it! @Nigel11

          Still gotta a) find out there's such a thing as Python and b) download and install it (and hope everything installs correctly). Not as easy as switch on, type in code, type "run" and hope...

    2. HollyHopDrive

      Re: So fix it!

      @sandtreader - My wife is a KS1&2 teacher and has to start teaching basic computer programming (understanding an algorithm) to up to 7 year olds because Mr Gove believes its a good idea. Trust me - the last person who should be teaching technical computers is my wife. Don't get me wrong, I'm not criticising my wife - far from it, I couldn't do her job and she can't do mine. Teachers understand the "process of learning" in the same was I understand the "process of programming".

      It takes a certain kind of mind to do anything - we could teach all kids to paint, but most of them would never become artists or even be able to get a job as an artist because they would clearly lack the required level of skill.

      We teach all kids to play football, but our premier leagues are mainly taken up by foreign players.

      This one size fits all is a big mistake. We need to group individuals into their talents and teach them that way. Some will be good at "real computer skills", some football, some art, cooking, science, maths, english and some academics. But we should get the right people to train and produce a small number of highly skilled people in each "core skill". Its not to say that they shouldn't also be taught other skills, but there is no point teaching me poetry - I still don't see it - but I can program in a lot of languages.

      While this kind of setup is never going to be easy to achieve its just a hurdle that needs to be jumped - its not impossible just takes a bit of different thinking.

      Only then will our country have a decent future and have the possibility of being self-sufficient and leading edge.

      1. Dr. Mouse

        Re: So fix it!

        This one size fits all is a big mistake. We need to group individuals into their talents and teach them that way.

        I agree with this, to a point. However, this cannot be accomplished as fully as you state in a mainstream school environment. This is where parents an out-of-school activities come in. A school classroom will have 20+ students. It is unreasonable to expect a teacher to be teaching many separate curriculums to cater to each individual's needs. The school classroom, at primary school, needs to cater to the majority, with special help given to individuals who need it where possible (whether because they are struggling or need pushing harder).

        Outside of school, talents should be encouraged by parents. I was lucky. My parents were both intelligent and able to either teach me or learn things along side me. I still remember my father teaching me pythagoras on a steamed up mirror. Outside their skill sets, they ensured I had all the support I needed. For example I had violin lessons, first at school, then at the local music centre, and finally private lessons.

        I agree that most teachers are not equipped to teach "mainstream" IT, let alone programming, but then I don't think that they necessarily should be at primary school. What they should be teaching is logic, reasoning, problem solving and other fundamentals which need to be in place before "programming". It doesn't have to be on a computer: Preparing a procedure for how to perform a simple task in natural language is a first step. Work through that to defining algorithms, branching, loops, error handling etc. but not necessarily programming.

        Programming is not the most important skill at primary level. Thinking in a way which will support programming is. Those who show flair can be encouraged, but the fundamentals would be an asset to all children. In high school, the students can go on to study such matters in more depth.

        1. Naughtyhorse

          Re: So fix it!

          "They should be teaching is logic, reasoning, problem solving and other fundamentals which" would banish the type of self serving vituperous shitbags that are currently running the show unto oblivion forever.

          so thats why _that_ will not happen. (there! Fixed it for you!)

          It seems to me from reading these comments that there are a lot of parallels between becoming a programmer and becoming a (secular) musician. Most of what it takes seems to come from within, assistance from those who have gone before is invaluable, and always appreciated.

          This does not fit at all well with formal education, and even less so with the teach-to-the-test abomination practiced instead of education today.

          TBH it's not so black and white. For my part the basic grounding in music taught at school was helpful, but the hours and hours spent listening to pink floyd or steely dan and wondering how the hell they did _that_ was a lot more useful as I worked it out for myself.

          So it seems is the case with coding. If you aren't walking through life in a daze with much of your internal dialogue wondering what sort of structure would efficiently capture the chaos around you, then you are probably doing it rong. and you wont get that from a classroom.

          interesting article.

      2. John Sanders
        Trollface

        Re: So fix it!

        Do not be silly, we better take the socialist approach of making everyone equal, no winners and no losers, all made equally useless for the greater glory of our politicians.

      3. Anonymous Coward
        Anonymous Coward

        Re: So fix it!

        "It takes a certain kind of mind to do anything - we could teach all kids to paint, but most of them would never become artists or even be able to get a job as an artist because they would clearly lack the required level of skill."

        This is not true. Leaving out people with actual mental damage of some sort or another, everyone's pretty well on a par at birth, and that includes all but the very rarest of artists. Environment and parental concern for earning power may lead most kids away from art but the ones that stay with it and do will would be more or less random, there would be no actual mental difference with those that were discouraged. Being really good at something is mostly a matter of doing it, and that's mostly a matter of motivation. Which is why you can, in fact, teach it.

        It's perhaps true that Leos and Vincents would still be rare, but anyone can be a talented artist if they want to be and financial success in the art world is even less about specialness than it is about politics and brass neck.

        1. Toastan Buttar

          Re: So fix it!

          "Leaving out people with actual mental damage of some sort or another, everyone's pretty well on a par at birth."

          Not true. Just...not true. The evidence overwhelmingly supports the 'nature' over 'nurture' argument. It has done for the last 24 years.

          "Being really good at something is mostly a matter of doing it, and that's mostly a matter of motivation. Which is why you can, in fact, teach it."

          You state this like a truth, but it's bullshit. Do you think someone can wake up one morning and say, "I'm going to write a number one hit single, or paint a masterpiece." Do you think the only thing that stands in their way is 'motivation'? Did you major in Physical Education?

          "Art" is the act of connecting "the sublime" with "the mundane" in an understandable format. Please present me with an infallible approach to this, and I will be a very happy man.

          1. Anonymous Coward
            Anonymous Coward

            Re: So fix it!

            ""Leaving out people with actual mental damage of some sort or another, everyone's pretty well on a par at birth."

            Not true. Just...not true. The evidence overwhelmingly supports the 'nature' over 'nurture' argument. It has done for the last 24 years."

            I'm just going by what I see in the real world. Maybe your evidence should too.

            ""Being really good at something is mostly a matter of doing it, and that's mostly a matter of motivation. Which is why you can, in fact, teach it."

            You state this like a truth, but it's bullshit. Do you think someone can wake up one morning and say, "I'm going to write a number one hit single, or paint a masterpiece." Do you think the only thing that stands in their way is 'motivation'? "

            Yes. Totally. If someone wants to paint a masterpiece all they have to do is devote 10-20 years to mastering the technical skills and thinking - really thinking - about what it is they want to say. I don't think it's any shock to realize that most people are not in fact motivated to do that. But it is theoretically doable. Ask any artist.

            There is a huge opportunity cost, of course, but that's not a question of ability either.

            The same applied to programming, mathematics, athletics, or almost any human activity you can name. Pretty well anyone can be extremely adept in any field they really want; being the best is a bit harder, of course ;)

            ""Art" is the act of connecting "the sublime" with "the mundane" in an understandable format. Please present me with an infallible approach to this, and I will be a very happy man."

            I hope you are happy now, as the above is indeed infallible - although as I said, it is not the road to success in the art world, which is a different set of skills from merely being a good artist.

            Come back in 10 years and let us know how you are getting on.

            1. Richard Plinston

              Re: So fix it!

              > Yes. Totally. If someone wants to paint a masterpiece all they have to do is devote 10-20 years to mastering the technical skills and thinking - really thinking - about what it is they want to say. I don't think it's any shock to realize that most people are not in fact motivated to do that. But it is theoretically doable. Ask any artist.

              Your assertion is complete nonsense. But one finds that about 'artists' (or musicians, or poets, or ... computer programmers), they are incapable of understanding that not everyone thinks like they do - and never will.

              A Jazz musician was being interviewed on the radio and he was disappointed that youngsters were not flocking to jazz concerts. His solution was to get together a group and go around all the schools and play jazz to them. He claimed that all that was needed to love jazz was enough exposure to it.

              That is the sort of deranged thinking that led Microsoft to force Metro/Modern down everyone's throats.

              1. Anonymous Coward
                Anonymous Coward

                Re: So fix it!

                "But one finds that about 'artists' (or musicians, or poets, or ... computer programmers), they are incapable of understanding that not everyone thinks like they do - and never will."

                That's because it's bollocks to say that not everyone thinks the same way - they blatantly do. Only the softest of soft shite pseudo-scientists claim that we're some strange amalgamation of unconnected alien brains inexplicably trapped in near-enough identical bodies.

                "His solution was to get together a group and go around all the schools and play jazz to them. He claimed that all that was needed to love jazz was enough exposure to it."

                Almost certainly true, if it were primary schools. Popular music proceeds in fads caused exactly by the fact that people like the things they are exposed to early on, fashion operates similarly and so does the "fine" art world. People like what they're used to, by and large, and that means they have a very strong tendency to like what they get used to first, when they're children.

                I do wonder if some of the people on this thread actually spend any time with real people or just read about them in Nexus magazine or something.

                1. Richard Plinston

                  Re: So fix it!

                  > That's because it's bollocks to say that not everyone thinks the same way - they blatantly do.

                  You say that only because you are incapable of understanding that not everyone thinks like you - and you never will.

                2. Richard Plinston

                  Re: So fix it!

                  > people like the things they are exposed to early on, ... they have a very strong tendency to like what they get used to first, when they're children.

                  That is complete nonsense.

                  I recall music that I was exposed to when I was a young child. I hated it then and I still hate it now.

                  OTOH I listen to reasonably diverse styles of music, some of which I first heard within the last few years.

                3. Kiwi

                  Re: So fix it!

                  Popular music proceeds in fads caused exactly by the fact that people like the things they are exposed to early on,

                  if that line of reasoning was even remotely true, I should like Bing Crosby/Val Doonican, Eartha Kitt, Winifred Atwell, Frank Sinatra, movies by Fred Astair/Ginger Rodgers, and other assorted stuff that makes me leave the room and could make me end friendships, whereas stuff like Hard Rock and Heavy Metal which I've loved since my mid-late teens would not be stuff I still love today.

                  The idea of trying to get kids to love music that they don't like simply by playing it to them is pure and simply child abuse, and should be treated as such. I suffered a lot of pain at the hands of people trying to force me to like some noise that they thought I should do, while not having the simply decency themselves to try the same experiments on themselves with the sort of music I liked.

                  it's rubbish, and abusive, and people like this should be treated like the criminals they are.

        2. Kiwi
          Linux

          Re: So fix it!

          This is not true. [..]everyone's pretty well on a par at birth, and that includes all but the very rarest of artists.

          Not true. I had friends at school who had less encouragement than I did to become better at art, but from their first drawings were better than I was. Likewise, they did more study and homework and so on yet I usually did better on tests.

          Even today, having tech drawing and years of engineering work and work involving "graphic design" behind me, I am beyond hopeless at even basic kindergarten level of art. I can hand-make complex parts with basic tools, but I couldn't draw a random squiggly line to save my life.

      4. Primus Secundus Tertius

        Re: So fix it!

        @HollyHopDrive

        That reads like an argument for selective education. As a grammar school oik I entirely agree, but the privately educated leaders of the Conservative, Labour, and Liberal Democrat parties are not interested.

      5. Sandtreader

        Re: So fix it!

        I think we need to expose all kids to the basics early so you can find the ones with the real talent for it later - exactly as we do in maths, science and modern languages.

        Understanding an algorithm at KS1 could be as simple as taking them out in the playground and getting them to sort themselves in height order (easy) and then birthday order (harder) and then some loose discussion about what happened. Understanding why computers are dumb could be getting them to shout instructions to a blindfolded child to navigate a simple maze.

        FWIW back in 1984 I was teaching LOGO to schoolkids (year 6, I think) as part of a computers-in-schools projects in Plymouth. We need floor turtles again!

        But I agree, teachers will need a lot of help with this - hence my exhortation to us geeks to Switch Off The Monitor And Do Something More Interesting Instead (there, that dates me even more!).

      6. Anonymous Coward
        Anonymous Coward

        Re: So fix it!

        While targeting has it place how are kids going to experience coding enough to know if they want to pursue it further. 7 is s good age to teach them some logic. Language of many schools at that age is scratch. Its visual and easy enough to show KS1 and KS2 the basics, teachers can learn the basics in a few hours. Then by the time they get to KS3 they can decide for them selves if they want to learn more. Having checked a couple of local schools looks like the language of choice is python though its not compulsory.

    3. Dominic Connor, Quant Headhunter

      Re: So fix it!

      The NC for Computer Science contains as much CS are there is "real fruit" in Fanta.

      Cheap hardware does not do much about the fact that the vast majority of Computing teachers have no qualification in the subject, a good % can't program in *any* language.

      1. Sandtreader

        Re: So fix it!

        [@dominic National Curriculum]

        So people can see what is really in it:

        https://www.gov.uk/government/publications/national-curriculum-in-england-computing-programmes-of-study/national-curriculum-in-england-computing-programmes-of-study

        OK, they aren't teaching Lambda calculus (although you won't get far in Javascript without using it, implicitly), but there is algorithmic complexity, Boolean logic, modularity, plus real coding.

        Agreed about Computing teachers but I'm finding there is an older generation of Maths & Science teachers who do remember some Basic and Fortran and are keen to learn.

        You have to work with what you have, with a positive attitude; but the general attitude here seems to be we're f*cked, leave it to the Indians.

  4. Sir Runcible Spoon

    Sir

    Oh my, that screenshot of the startrek game sent a shiver down my spine - I haven't seen that since we played it on the Commodore PET our primary school got back in 1980 (I much preferred the PET to the ZX80 that came along).

    It's true that only the interested managed to get to grips with the thing - I used to sneak in at lunch-times to use it when no-one else was around (It was a blacked out room so you can imagine how exiting that was for a 10 year old boy :) )

    By the time we were taking Computer classes at secondary school we were into the teachers strike phase and O'Level/16+/CSE fiasco. Our computer teacher left for industry, the next person to take the class over was the Maths teacher - he made a pretty decent job of it until he too buggered off into industry.

    We were then left with the History teacher - who had trouble just reading stuff from the book. It fell to me and a friend to get the rest of our class through their O'levels, thus setting my working pattern for my career. We were very proud when most of the class actually passed their O level. However the whole situation put me off going into teaching and just stick to on-the-job stuff these days.

    It's also true that attitude is worth more than intelligence.

    1. deshepherd

      Re: Sir

      Oh my, that screenshot of the startrek game sent a shiver down my spine

      When I was at school we had what I think was one of the first 6800 micros in the country in our electronics lab and there was great excitement when the code for StarTrek obtained (possibly from somewhere lik Dr Dobbs) ... only problem was it was such a massive program that it wouldn't fit in the 1kB RAM we had so there was a mad rush to get a 4kB memory expansion *card* put together ... which included some searching through TTL databooks to find ways of replicating the function of a couple of devices that weren't immediately to hand out of ones that were.

      As for ASR-33's ... started off on those ... somehow I've always respect them as being a computer input device that could stand up for itself ... if you hit it in a fit of anger at a program not doing what you intend the it would cause far more damage to you than you woudl cause to it! Modern keyboards just don't fight back!

      1. G_R

        Re: Sir

        yummm, 2112's a cookin'....

    2. Kiwi

      Re: Sir

      (It was a blacked out room so you can imagine how exiting that was for a 10 year old boy :) )

      Now I think about it... I was someone who came to computing quite late, too late to do it at school . But i do recall that the computer rooms were always either in windowless areas or all the windows were covered. Why was it that we mere mortals were never allowed to see into the computer rooms? AV rooms being blacked out I can understand, but computer rooms?

  5. This post has been deleted by its author

    1. Sir Runcible Spoon
      Coat

      Re: peek?

      gosub yourself

      1. Peter Gathercole Silver badge

        Re: peek?

        Oh no. Peek and Poke.

        I prefer ? and !

        <smug>Guess what machine I had</smug>

        1. Anonymous Coward
          Anonymous Coward

          Re: peek?

          A non standard one?

          1. Indolent Wretch

            Re: peek?

            POKE 17130,1

            SYSTEM

            * / 11395

            LIST

            That was a lifesaver!

            But then I predate the Spectrum by a little bit.....

        2. Simon Harris

          Re: peek?

          I could guess one of at least 5 different machine families that had ? and ! (ok.. so they were all different generations of Acorn computers!)

          Personally, I had an Atom and just had a peek through its old programming manual. One thing that strikes me is that a lot of my contemporaries, when learning C had difficulties with concepts of memory management, pointers, etc. With the Atom, pointers and memory allocation were all very explicit, and the concept of string manipulation as character array processing were there from the outset (there was none of the LEFT$, MID$, RIGHT$, etc. abstraction that most BASICs of the time had built in). It made concepts in C much more straightforward than if I'd been brought up on PEEK and POKE.

          (Actually I believe the syntax used with ! and ? pointer expressions in all Acorn BASICs was derived from BCPL.)

          1. Peter Gathercole Silver badge

            Re: peek? @Simon

            OK, I accept that the Atom (and probably System 1 and System 2) had them first,

            BTW. My BBC micro was mine. I paid for it, not my parents. I ordered it on the day that they opened the orders process to the public, and it's got an issue 3 (an early) board, has a serial number in the 7000's, came with OS 0.9 in EPROM, and last time I powered it on 18 months ago, still worked.

            I had an advantage that I knew C, PL/1 and APL before I got my BEEB.

  6. RyokuMas

    My god...

    They saw my comment about the Raspberry PI (about 15 comments down) and turned it into an article...

  7. Morzel
    Boffin

    No programming required

    >> As you read this, first-year CompSci grads at Cambridge – which is believed by some to be a good uni – are starting to be taught with the assumption that they know no programming: an assumption that ought not to have lasted long after my cohort in 1981.

    Actually, this still seems the best approach, as most self-taught programmers usually know very well how to scratch their particular itch in their particular environment, but know jack-shit about the real fundamentals of programming. Double points for using a language like Scheme (are any other language that adapts itself to different programming styles, without being too mainstream), which forces students to rethink what they (think they) know.

    I know that my first year in university was a real eye-opener, even though I considered myself a pretty good programmer before.

    1. James Hughes 1

      Re: No programming required

      I disagree (as a child of the BBC micro 80's). The work I had done prior to university made the first year a doddle (Pascal). Same with the A level CompSCi the previous year - did a year long course, got an A. All on the back of writing code on the BBC micro in my spare time.

      Got a bit more complicated in 2nd year when C was introduced, but still graduated top 4. I firmly believe this was due to my experience of 'bedroom' programming.

    2. Boris the Cockroach Silver badge

      Re: No programming required

      Horsecrap

      My background in programming was zx-81 basic, then moved onto Z-80 assembler before branching out into ISO machine tool langauge, Then decided to get some comp/sci education from the open university.

      Strangely programming concepts introduced were very close to the concepts I had already learned , even when it came to multi-threaded and concurrent design (mostly because a lot of machine tools are of that design... god help you if you drive sub-spindle 1 forward at 2000 rpm while the turret in in the way drilling a hole on spindle 0

    3. Warm Braw

      Re: No programming required

      I left Cambridge in 1981, or perhaps 1982 - long time ago. There was no such thing as a "first-year" in Computer Science when I started. Indeed, no such thing as a "second-year" either. I was in the first cohort of the 2-year Part II, and it had obviously been a struggle to stretch "everything we think you need to know about Computer Science" to fill even two years at that point.

      There was no explicit assumption you knew something about programming, just an implicit assumption that you had enough interest in a subject you were planning to study that you might have chosen to find out a little about it in advance.

      Indeed, Cambridge being Cambridge, there wasn't really any explicit assumption you'd turn up at lectures or that you wouldn't decide to sit the Arch and Anth Tripos instead.

      And to be honest, it wasn't a great course. Maurice Wilkes might have been a pioneer of computing, but he hadn't updated his lecture handouts in decades and looked out from his tower (protected by an apparently mousy old lady with the ferocity of Rosa Klebb) over rather too many staff whose most promising work was already long behind them.

      If it hadn't been the coincident arrival of the microprocessor which meant that most of my fellow CompSci students were building and programming Acorn System 1s and Nascom 1s in their spare time, I don't think we'd have been able to claim much skill as programmers by the end of the course. Indeed, computer time on the "official" timesharing system was so limited that it was difficult to get even the set coursework done without working overnight or using offline data entry.

      And there, I think, is the real point. People will learn stuff if they're interested in it, regardless of the obstacles that might be put in their way. The real question is not why people turning up for CompSci courses can't program, it's why people are turning up for CompSci courses who clearly don't know what it is and aren't interested in it. I think that's got more to do with an education system that tries to put narrow bounds of "need to know" around every subject, discourages any interest that might distract from getting the best results in the school league tables and sucks kids' free time dry.

    4. JeeBee

      Re: No programming required

      What I can say is that the Cambridge University policy back in 1996 was exactly the same, and we were the people going to university who had been programming BASIC and Z80/6502 their 8-bits in the late 80s in BASIC, and then using AMOS, Blitz Basic and 68000 assembler on the Amiga in the early-mid 90s.

      First course back in '96? ML - functional programming. Nobody had an unfair advantage, and core CompSci concepts (lambda calculus, etc) were taught. I imagine it's still ML, or a variant, or Haskell or Scheme today.

      Programming is just a small part of a CompSci course - but most non-CompScis seem to think the entire course is just about learning to program. I can't vouch for other universities, but that certainly wasn't the case at Cambridge.

    5. GloriousVictoryForThePeople

      Re: No programming required

      "I know that my first year in university was a real eye-opener, even though I considered myself a pretty good programmer before."

      Oh Yes. Indeed.

      Lectures though - not so much.

    6. Petrea Mitchell
      Unhappy

      Re: No programming required

      Isn't it the approach in most college subjects to start from the beginning, as though the kids have learned nothing in their previous decade-plus of schooling? (Bitter comment about the quality of schooling in your home country left as an exercise for the reader.)

      Anyway, assuming that no programming had been learned beforehand was certainly reasonable with most of my college classmates (US, late '90s).

  8. John Deeb

    Or why your children are spoiled...

    The best way to get to any fundamentals of programming or dare I say its bastard child advanced system administration, is to have been exposed to an environment where scarcity is the rule. Scarcity in resources like manuals, supplier advice, coding examples, search engine hints, all knowing colleagues but also severe limits on memory, storage, processing power, budgets to get more of those, customer patience, customer understanding, nurturing management and so on.

    Only in such environments -- and they were the standard in the 80's and most of the 90's -- will "forge" the steel, train the intuition and deepen understanding as one is forced to almost literally discover the wheel again at times. Some would call that a waste of time but to come up with the concept of wheel by yourself can be the priceless understanding of a very basic form. Just copying it over might result in putting wheels on the wrong kind of vehicles.

    So this why your kids can't program: you're giving them too much to work with... no survival skills at all.

  9. codejunky Silver badge

    More recently

    When I was in school we had old computers with poor software and not a single teacher who could use them. Near the end of high school we got a new computer room which again no teacher could use. I had no interest in IT as I was taught office and how to effectively fall asleep at the keyboard without being noticed. It was only when one of the techies who maintained the rooms decided to show me how to pull apart, put together and fix the old OS's that I got any interest. Then he showed me programming.

    When I went to college I had 1 teacher who could program and a total of 3 teaching it. I bought book after book and kept in touch with the techie from school to have skills beyond most of my lecturers and certainly above the class.

    Since leaving school I have found an interest in so many topics in computing, electronics and other skilled but unrelated areas. My experience of school is that it holds people back unless they are academic.

  10. William Gallafent

    Big languages with big libraries

    “VB.NET, Java, C++, Delphi etc are all big languages with big libraries, making it a waste of time to write your own string-handling or graphics routines. Knowing the name of the right function has become more important than understanding how it works. Own up, could you code DDI or Bresenham’s algorithm without looking them up? How many algos do you actually know? Is that even relevant to your work?”

    This echoes something said by Knuth during a lecture I attended. To paraphrase (I hope sufficiently accurately) “I don't want children to learn that writing computer programs involves chaining together calls to functions in libraries that other people wrote” - that “modern” programming tends to be about the basic logical flow through a program - the “control”, never getting to the really /interesting/ bit, the “computation”. (Of course, the “control” bit gets interesting too for larger systems, but at this point it /becomes/ part of “computation” in a sense :)

    Of course, you can have both. Modern libraries provide a lot of very useful boilerplate which makes it possible to get to the “interesting” bit more quickly when dealing with real data or real problems. The problem arises when all that the programmer is ever asked to do is to chain together code in which other people had all the fun writing the interesting stuff. That is a very dull life (and learning programming by doing this is dull too). So, the answer is to spend as little time as possible writing computer programs that are easy to write, instead to focus on things which are difficult to achieve*.

    *(not, I hasten to add, because there are too many flaws and shortcomings in the environment in which your working … but because the actual problems you're working on are difficult problems!)

    Cambridge compsci undergraduates with no programming? Not necessarily a problem. More important I think that they should have good maths and other basic tools to get started. I'd rather take somebody with double maths A-level (and teach them computing, which has maths underneath!) than Computing + another … and try to teach them A-level maths (to show how what they have already been doing actually works) during the degree! :)

    1. Nigel 11

      Re: Big languages with big libraries

      The trouble is that most of the easy codes have already beeen written, and most of the need for good algorithms has gone away with GHz CPUs if you aren't processing large volumes of data.

      You can still have fun with coding better algorithms in science and other disciplines , but you tend to need a physics, chemistry, engineering, bioscience, geography or geology degree (to name a few!) to understand the problems before you can start addressing it with code. In fact I might advise a keen coder not to study Comp Sci at all.

      1. Number6

        Re: Big languages with big libraries

        This is why embedded programming is still fun. When you're using a PIC, MSP430 or 8-bit AVR, there's still a challenge to make it fit in the smallest one. I even remember the ADSP2105 and hand-crafting the assembly code (no C) to fit into the 1K instructions allowed.

        Even the Raspberry Pi and its ilk suffer from the extra boot-up complexity, whereas with a small embedded processor there's very little that has to be done.

  11. Pete 2 Silver badge

    Fixing the wrong problem

    > hordes of British kids embraced programming, as did many adults, delivering the most IT-literate workforce in the world

    But almost none of them had any business nouse, whatsoever.

    That is what was lacking - not programming skills. It's all very well being able to poke and push and type HEX into a Sinclair ZX80. But unless you can analyse the market, identify what products will be needed next year, persuade the banks to lend you the monkey and employ the right people to: (a) work together and (b) come up with the goods, then being able to write tight code is irrelevant.

    1. Anonymous Coward
      Anonymous Coward

      Re: Fixing the wrong problem

      A bit of both, but yes, when I look back at my education (which included computing opportunities, even though I avoided the courses) business studies shows up as a big gap. The more accademically successful students were largely steered away from considering it as an option.

      I notice a recurring issue whenever I sit down to try out a new language, or on occasion set a task for a student placement, is to come up with an idea of what on earth I should try to program as an exercise. Maybe it's better to just tackle something at random, or to take on a personal annoyance and re-write some utility your own way, but if business processes are going to be where the money is then they seem like a good place to start.

    2. Robert Grant

      Re: Fixing the wrong problem

      I know it's a bit like shooting fish, mocking someone who says that the real skill programmers lack is in business, rather than what business lack is an ability to understand software and then aim programmers at the right target, but here goes anyway.

      THE MONKEY! I've been trying to get banks to lend me the monkey for so long; they say I'm probably an amazing programmer, with actual useful skills, but because I haven't done a marketing degree I'm not allowed to be lent the monkey. Probably because they all also have marketing degrees.

      1. Pete 2 Silver badge

        Re: Fixing the wrong problem

        > the real skill programmers lack is in business, rather than what business lack is an ability to understand software

        The key point is that programming is a technical skill and business acumen (not necessarily through formal qualifications - I suspect that real-world experience beats an MBA every time) is an enabling skill.

        Technical skills without the means to apply them are just as useless as being able to run a business but not having anything to "sell". As we all know, there is generally a chasm between the techies and the business people: they talk different languages and get frustrated with each others' inability to see that they are right.

        The question is: can you teach techies to "do" business and can you teach entrepreneurs to write code? The practical world shows us that in most cases, the techy tends to end up working for the innovator, rather than being the one who runs the show - though that could be down to choice rather than drive. Hence giving programmers lessons in running a business would move them closer to self-generated success, than trying to get a successful business-person to understand objects, pointers, interrupts and GIT.

        I suppose the ultimate goal would be to get the monkey to do the lot.

        1. Rukario

          Re: Fixing the wrong problem

          Ook!

        2. Robert Grant

          Re: Fixing the wrong problem

          The problem is that business is almost all about relationships. Speak to most sensible MBA students and they say that the qualification itself is pretty boring and more about paying the fees and slogging through a lot of busywork. The reason they do it is to establish relationships with the people they study with.

          This is why the idea of an MBA being academic (ie Masters-level) is pretty ridiculous: if people are teaching MBAs, then they aren't in business. That means you don't want to learn business from them. However if (say) you go to Harvard Business School and pay the fee, you end up at the end of the year with incredible contacts from all over the world. It could be a year of hiking, as long as everyone made the relationships it'd have the same primary benefit.

  12. Ironclad

    Credit C&VG magazine

    Learned my early Basic skills from Computer and Video Games magazine, typing and debugging game listings into the school Commodore Pets and my Vic20 (which I badgered my parents into buying but was only allowed to use for about an hour a day on account of how we only had one telly).

  13. Neil Barnes Silver badge

    I'm kinda conflicted...

    I never saw a computer in school; the one (external) course in which it was even mentioned was training fro data entry, not programming and certainly not design.

    When I did engineering training at the BBC, the only section on microprocessors was *after* the final exam, and was not well attended - though it did improve somewhat after that once the BBC realised there was life in those things. Though I had by that time taught myself the basics (6502, 8060, 8080, 8085, Z80, 6809, Basic, Forth), to the extent that when I was finally sent on a micro course I ended up as an assistant instructor.

    And thirty-five years later I'm bit-banging SPI in machine code on a PIC with no sane instructions, no useful internals, and no bloody stack... the more things change, the more they stay the same!

    p.s. 6502 is best!

    1. madmalc

      Re: I'm kinda conflicted...

      6502 assembly language is a thing of beauty. Ah, my old Commodore 64 that teamed the 6510 (6502 variant) with the Vic 2 's hardware sprites and the SID chip. Sys 64738 rules! &60

      1. Simon Harris

        Re: I'm kinda conflicted...

        While I was brought up on the 6502 and have fond memories of it, in the 8-bit world, I think 6809 assembly code has to be the most beautiful.

        1. Peter Gathercole Silver badge

          Re: I'm kinda conflicted...

          6502 was an elegant and orthogonal machine code, spoiled by the gaps in the instruction set for instructions that didn't work in the original MosTEK silicon.

          By the time the 6510 came along (as well as some of the later 6502B and C chips) many of these missing instructions would work, but nobody used them because of backward compatibility.

          6809 was probably a more capable and complete machine code and architecture (it benefited from being a later chip), but I still have a fondness for 6502 (and PDP11).

      2. PotAscii

        Re: I'm kinda conflicted...

        Ah, such happy memories. To be 14 again and suddenly faced with the baffling wonderment of 6510 and the genius hardware in the C64; realising you'd have to work it out yourself and feeling such pride when you did.

        Although 68000/Amiga hardware came close the 64 experience meant that by then I knew what I was doing. 6510/C64 was the point when the curtain of BASIC was pulled back and I just went.......Wow - let me dive in.

        Pretty much downhill after that to be honest, although browser/javascript was an interesting diversion for a while in terms of a similar mindshift.

    2. Anonymous Coward
      Anonymous Coward

      Re: I'm kinda conflicted...

      Neil, upgrade to the enhanced midrange pic's - PIC16F1XXX - the pointer registers have data stack type instructions, so you can implement forth style functions efficiently. And they are cheaper than the old ones....

      1. Neil Barnes Silver badge

        Re: I'm kinda conflicted...

        @AC 02:09 - can't, unfortunately - I'm constrained to three 16f chips in the range that although not qualified have been proven to work (at least, they fail in ways we can work around) at the very high temperatures we operate at. Failure is (a) embarrassing and (b) extremely expensive.

        If the boss would let me, I'd be using some high-temp AVR chips.

  14. knarf

    Telly Time

    We had a ZX81 but only one telly, so computer time was very restricted and the 16K ram packed used to fall out the back while on the carpet on the floor (no table as well). It was sold after about 6 months.

    It was not until I went to college and done electrical engineering that the course had a lot of 6502 programming on RockWell AIM65 / BBCs and BASIC on BBC that I got the bug.

    MY boy want to be a "games designers" but playing games is more interesting than writing software for them for him

  15. flibbertigibbet
    Devil

    We have it so easy

    Today's world is so complex.

    The headline notwithstanding, my son is a computer programmer. He immediately decided the browser is today's computer, so almost all of his time has been spent wring javascript, html, and the backends that serve them up.

    One day he described what his world was like. His backend served static files; HTML, javascript and later the data via AJAX. The javascript effectively implemented his GUI - by rewriting HTML. Granted using bltbit or curses is harder - but not by much. Effectively, every time he wrote a AJAX backend, he was designing his own database protocol, complete with queries and transactions. I don't think he realised that. He had to write it in two difference languages of course - javascript and whatever he was using in the backend.

    He used firefox to get it work because it had the best development tools. (Now he uses chrome.) The next step was the worst. It had to work in IE 6. So he would fire up IE in a VM, point it at his server, and be confronted with a blank screen. His javascript had died somewhere, so nothing was rendered. IE 6 had no debugger, no way of examining the DOM, no guaranteed way for is code to communicate with him. It reminded me of when you first load a microcontroller and it just sits there. You struggle for the next few days to debug the initialisation sequence so you can flash a LED, or something.

    Once he had done that, his next problem was different javascript leaks in different browsers. Getting acceptable performance was a new struggle for with each browser.

    Apparently it's much better now. There are even useful javascript libraries that actually reduce the amount of code you have to write - at the expense of leaky abstractions and API's with the code as their only documentation. Maybe one day they will even get a to having tools like Access that mean you don't actually know have to write code. But that's a long way off, they haven't even settled on a way of talking to a database. And once they do, they don't have Mores law to absorb the overheads.

    So yes, we have is a new generation of coders using CPU's and storage many magnitudes better than we had. And with all that power, what did we give them? A facsimile of the same world we lived in. Same limitations, just more complex.

  16. Shalfordian

    How true

    I well remember as part of my (posh) school's decidedly unofficial computer club in the late '60s with one supporting teacher - who only knew that it was worth supporting - typing punched cards by hand and sending them up to the Mid Essex Tech to be run and come back a few days later with the error highlighted. It taught you to really try and get it right first time - a skill that's not forgotten 45 years later. It was definitely the right time to get into computing, though, as I've been at the heart of what's interesting ever since - the early deployment of microprocessors, Acorn when it was fun, dealing with the (then) Mr Sugar and now the Internet.

  17. GeezaGaz

    too many distractions

    The answer is simple. Back in the 80s you fired up your zx81 to do programming and type in games to play them. There was no wii, xbox, ps3, psp.

    Kids have a choice, knuckle down and learn to code or go and play with their mates on the latest Call of Duty of FIFA, what do you think they do?

    In those days everything was new and groundbreaking. Each new machine was like nothing else before it. Each game was largely unique. Now its just the same hardware made better, faster, smaller and rehashes of existing games, Fifa 55 or CoD 28 anyone?

    1. NomNomNom

      Re: too many distractions

      yeah this is closer to the truth.

    2. JeeBee

      Re: too many distractions

      Distractions are evil.

      Back then I had a second-hand computer, and several years of magazines that had come with the computer (an Amstrad CPC 464). I had no games. There was no internet, no Steam, no free browser games. A computer, a BASIC prompt, and blank cassettes.

      The magazines had type-in games. So I learned to type, I learned BASIC by osmosis, in order to get at the games. And then I could alter the games to make them better. This is something the mod makers still do today, but their platform isn't BASIC, it's the game engine and in-game scripting language.

      Learning through play is the most effective form of learning - even for adults. This needs to be a key feature for any next generation schoolchild programming system.

  18. ElectricFox
    Headmaster

    A great article. I can only dream as I was at the beginning of IT becoming an MS word subject. There are 2 points you make that I would argue with however:

    "pointless subject like French"

    Modern languages are considered one of the hardest humanities subjects to learn, and are probably one of the more useful "soft" skills to someone pursuing an unrelated career. The few British employees that speak fluent foreign languages as a side skill are generally well respected for this in companies, especially those dealing with international trade. Modern languages are probably the only formal training kids get in grammar these days as my English was entirely dominated by poetry and Shakespeare.

    "The current ICT syllabus is designed on the basis of inclusiveness, dumbed down so that any child can learn it and so that ICT can be taught by someone with no qualification in the subject."

    All school subjects seem to teach to mediocrity, and I've been taught many other subjects by teachers that hadn't studied that subject past gcse, but they were bright people and could pick up what they needed to know to teach. I feel that kids are streamed into abilites to late, and should be allowed to specialise into subjects that interest them more at an earlier age. I think they should bring back the 11+ system to bring back vocational schools and subjects. There may even be an argument for permanently. The amount of teaching time I had wasted on disruptive kids because the lessons were too easy/hard/not interesting to a 14 year old was pretty shocking.

    Again, other than that, thanks for a great article!

    1. David Nash Silver badge

      pointless subject like French

      In the author's defence, I read that as a humourous comment and representing the student's perspective. As in, computer science (or whatever they called it in the school at the time) was interesting, whereas the struggling student saw conjugating French verbs as pointless.

      I think most people can appreciate the value of learning foreign languages now.

    2. Dropper

      Why do think school is so easy now?

      Because the arsehats that we call parents demanded it. Remember all that complaining you did while you were in school? Someone listened. Probably the wrong someone and probably 20-30 years too late for you, but someone did listen. And they continued to listen to all the subsequent generations. Also while they were listening to you they were getting fed up with parents complaining their special little snowflake doesn't understand adding up or spelling proper-like and therefore shouldn't have to do either and they invented a new syllabus. This syllabus is all-inclusive. You don't need to know things, you certainly don't need to remember things, you just need to give a good try..

      So if you're looking to blame someone for school work being too easy, for kids growing up into adults who write job application letters and CVs filled with basic spelling mistakes, for kids manning checkout registers who can't work out that the extra 3 pence you gave them means you want to avoid getting a handful of change (plus your 3 pence).. you need to look at yourself and the teachers who put your complaints in writing..

      Don't worry though. We live in a world of over correction and knee jerk reactions. As soon as someone fails to set of a bomb outside the department of education (because they won't know how to read the instructions explaining how to build a bomb) the system will be changed.. and 5 year olds will be forced to learn quantum physics and write the next version of Word's spell checker.

  19. smartypants

    Programmers often don't know 'what is really going on'

    In the olden days, unless you were very familiar with the demands that your program made on boring things like memory allocation, block reads and so on, you'd find things going very slowly indeed.

    Now, people often program in an environment where 'helpful' abstractions tear them away from the real world of memory, bandwidth, and so on. There are often a lot of cores and memory and bandwidth and disk space at their disposal, and very often they don't even bother to think about these things.

    Worse still, levels of software obfuscate further the reality. Need to write data into a relational database? Don't want to learn what 'relational' means? Think SQL looks 'silly'? Use our clever technology and you can remain in ignorance!

    The result: Well, if the web alone is now responsible for more emissions than the aviation industry, a good half of that or more is just machines churning away doing stuff that they needn't actually be doing, were the person who built the software a bit more aware of the hideous reality of the systems they put together.

    The only saving grace is that in this world of the clueless, it's easy to make yourself look good by 'having a clue' about what is happening behind the scenes...

    Grumble moan etc.

  20. Tom 7

    "pointless subject like French"

    There's the rub.

    For most there is very little reason to learn French other than their own motivation. You cant see a need for it so you cant be arsed but once inspired - buxom french teacher???

    The same goes for programming - most people dont see a need for it, you need people who can explain the problem before providing the solution. When I went to uni there wasn't really a computing dept but as I was doing Electrical And Electrical Engineering there were many things that could be made so much more easy with a bit of computing. When I got into micro chip design the things a computer could do to improve ones life were endless.

    My eldest child (11) is very bright and has access to several PC's and has looked at programming but tends to go 'why' which is presumably why I should never teach.. However she's into music and I've just plugged my Electric guitar into the pc and using the Alsa Modular Synth she now wants to learn all about the bits and pieces involved - its a lot more fun than making a cat go round in circles and meowing!

    1. Nigel 11

      Re: "pointless subject like French"

      Music and programming (and pure mathematics) have far more in common than people who aren't at all musical can ever realize. I've never known a university maths department that doesn't have some truly gifted amateur musicians, and a random collection of upper-quartile programmers won't be far behind. Something like they employ the same parts of our brains to ends that are superficially very different, and deep down not at all so.

      I've occasionally thought that a musical score is the machine-code, and learning to perform that music amounts to reverse-compiling it inside one's head, until one has ascended back to the high-level abstractions more like those that the composer started from inside his head.

  21. BigAndos

    Kids not programming? Here's why...

    No QBasic and Gorillas.bas in modern versions of Windows. I remember hours of fun mucking about with it in the school's IT lab (I didn't get out much in those days).

    1. 0765794e08
      Coffee/keyboard

      Re: Kids not programming? Here's why...

      Yep, I agree there.

      I seem to recall in the days of DOS, there was GW-Basic or QBasic interpreters sitting right there in the command directory, just waiting to be played with.

      Then with the advent of Windows, they disappeared. Someone at Microsoft obviously thought Solitaire and Minesweeper would be more useful.

      The goal of the Raspberry Pi is laudable but I don’t think it will achieve its stated aim of creating a new generation of coders. I think that aim would be better served if Microsoft resumed the inclusion of a version of Basic with Windows – something simple but genuinely useful for introductory programming.

      It could be called EasyBasic or FunBasic – with a limited but easy to use command set – just enough to whet the appetites of budding young coders. Make it a compiler and kids would be able to create and share their own tools and games.

      I use PowerBasic at work and it’s a joy to use – I’d like to see something similar (like the simpler ‘console’ version) in Windows as standard.

      1. JDubya

        Re: Kids not programming? Here's why...

        Could not agree more. I think AutoIT (which is foolishly named due to its growth as a genral scripting language) is criminally overlooked. It is exactly what you suggest. It is a tiny download, self contained, compilable, GUI rich, BASIC syntax scripting language.

        And it just works. Msgbox(0,0,"Hello World!"). Right click > Compile. It is a modern version of BASIC in a tin, with just a tiny download and a single executable to get started on.

        Will they write something utterly amazing with it? Probably not. Will they become interested just as we were with the power, and then -crucially- the limitations of BASIC? Yes. And that's when the lightbulb moment will happen.

        Get a uber uber simple GUI BASIC scripting language into Windows Stat !

    2. Nigel 11

      Re: Kids not programming? Here's why...

      Once again: Python is a free download, works the same on Windows or Linux or an RPi. So it's not availability of a simple interpreted language at fault (one FAR better structured than BASIC!).

      Either the kids don't want to drink, or there are no teachers to lead them to the water.

      1. Neil Barnes Silver badge

        Re: Kids not programming? Here's why...

        While Python has much to recommend it, I am less than impressed by its insistence on flow control by white space, and its bizarre abilities to change types on the fly, e.g. returning more than one type from a routine.

        It strikes me as difficult to prove e.g. a numerical analysis is correct if there are hidden type conversions going on.

        caveat: I'm still learning Python. Perhaps there is stuff I haven't come across yet.

      2. 0765794e08
        Meh

        Re: Kids not programming? Here's why...

        But the issue here is how many kids, when presented with their first Windows laptop, are going to say to themselves “Ooh, now I’m going to connect to the internet, download a language I haven’t even heard of, and start programming!” Not many I’d wager. That’s the situation as it now stands, anyway.

        On the other hand, if they see a shortcut to ‘FunBasic’ in the Programs folder (on even better, slap-bang on the desktop), they’re much more likely to try it and become interested, without any further prompting or hunting around on their part.

        That was the beauty of the 8-bit machines – the programming environment was there, right in your face, as soon as you switched the machine on. If we could get back as close as possible to that situation – with a programming environment just a double-click away after booting into Windows, surely that would be better than the current situation.

        So Mr Gates, you’re still Chairman of Microsoft and you must have a soft spot for Basic – after all Altair Basic on paper tape was where it all started for Microsoft – make it happen why don’t you!

  22. Downside

    PCW programs

    Those listings... OMG typing pages of code into a TRS-80 and trying to work out why they didn't work. My first intro to debugging someone else's code, aka "software maintenance", a bread and butter software job..

    I think we're missing the point that most SW dev work is going abroad and won't come back, as it costs too much here, apparently. Maybe in ten years time offshore costs will have peaked and it will suddenly become economic to do back here... which I guess is why the sudden push for training the kids now.

  23. tmcd35

    Exception Error: Invalid Title

    Not sure where you're going with the article itself, seems like a rose tinted trip down memory lane to me ;)

    Should programming be taught a bit more in schools? maybe. Should ICT in schools focus more on computer science (as the curriculum changes suggest)? No, we need to be offering a more balanced ICT curriculum that includes programming.

    But, to the point of my comment - I take exception to the title. Kids today, or those that really want to, have a far greater than zero chance of becomming programmers.

    Here's a story.

    A kid grows up playing computer games. He likes games a lot and wouldn't mind making his own one day. He starts making Youtube videos of reviews with his friends. He becomes the techie kid whose job it is to add captions, edit and convert formats. His friends start asking him his advise, he likes that. He starts reading around the web and finding out more about this thing called programming. He discovers MS DOS and writes a basic adventure game in DOS script. He then discovers Visual Basic and writes a (very impressive) fully working Web Browser.

    Now, that kid is 13. He's my nephew. He's got a long way to go. I know he hasn't actually done any real programming yet (the web browser was all visual design with minor code editing). But he's showing interest and promise. He wants to do this, and can really make it. I encourage him, as should everyone else. It's unfair to say he has zero chance in this industry.

    This half term his school is teaching him Scratch. A nice little language for making simple games. It should help him understand a bit more how the coding actually works. From there I can gently point him in the direction of more advance material like Greenfoot or Pygame.

    The fact is, the same starting point. The same route to entry is still alive and well, in the same way it was with 8bit computers built in BASIC interpretors and high schools that only had computers for word processing. We just need to encourage those who show an interest/aptitude.

  24. heyrick Silver badge
    Headmaster

    and, for the more adventurous, machine code.

    Nah, machine code - with a system architecture that is both documented and can be understood by a teenager (unlike most of today's SoCs), the hardcore geeks ditched BASIC as soon as the advantages of assembler became apparent.

    ...it ran faster than anything else, the entire machine was your playground, and you could form an easy (not so) secret society because ordinary nerds couldn't understand any of it (so your code was generally not messed with).

    Teacher icon, 'cos they didn't have a clue.

  25. Anonymous Coward
    Anonymous Coward

    "given that the PDP-10 at Hatfield Poly cost about the same" as a Harrier?

    Much the same as the PDP-11 used to read the FDR and connected to a wet print plotter, so when you cooked the engine flying your Harrier or pulled to many Gs whilst you were dreaming of being Tom Cruise, the Snr ENG Officer could wave the printout at you after you got back to earth, whilst tearing you a new one.

    Ah, the wonders of EMACS.

  26. Captain Scarlet Silver badge
    WTF?

    Bishop’s Stortford Boys High

    Wow I must have been wrong about the Boys High, having been to the primary school sort of in the middle of the Boys High (Thorley hill). I always saw things like students being thrown from windows, fights and thought all they cared about was sport, which made me stay well away from it when choosing a highschool.

  27. Ian 55

    I did my CS O-Level at the local FE college

    Because it had teletype with a line to some OU computer somewhere and the grammar school I went to didn't.

    After about a term, someone at the FE college saw the bill for the line and worked out that buying the then new 380Z would be much cheaper.

    It had proper 8" discs, not the wimpy 5 1/4" ones in the picture, and by putting one in the wrong way, I broke it...

    Ah, happy days. It was fixed in a week or two. I still have good memories of the keyboard - a mechanical one you could really bash.

    1. Rukario

      Re: I did my CS O-Level at the local FE college

      I have a box of Dysan 8" floppies next to me.

  28. Anonymous Coward
    Anonymous Coward

    Tablets and app stores are the final nail in the coffin.

  29. Scott Bartlett

    Clicked link, saw a big picture of a Research Machines 380Z — and it made be grin like a mad thing. One of those was the first type of machine I ever used. I remember paying my own hard-earned (paper round) money for my own 5.25 inch disk to store my own work, and (eventually) I wrote a sort-of-space-invaders game that had one (one!) invader that died when the one (one!) bullet hit it. I named that game after the 'fire exit' sign that had letters missing in the corridor outside. Ah, nostalgia...

  30. Rogue Jedi

    The current ICT syllabus

    is designed on the basis of inclusiveness, dumbed down so that any child can learn it and so that ICT can be taught by someone with no qualification in the subject.

    that line is inaccurate, it is designed to be taught by someone with no KNOWLEDGE of the subject.

    I am an ICT technician in a school for 13-18 year olds, and my workspace is a bench in the main computer room year 9 ICT is taken by whoever has gaps in there timetables and is heavily supported by technicians because the teachers assigned (despite having step by step instructions) generally do not have a clue how to teach it.

    for GCSE and A level IT we have a maths teacher, a textiles teacher and a PE teacher taking it, to be fair the Maths teacher and textiles teacher are compitant (and have been teaching ICT for more than a decade) but the PE teacher has no interest and works from lesson plans prepared by another teacher

  31. Anonymous Coward
    Anonymous Coward

    Offshore...

    Who in the world would encourage their children to do any job that can be so easily offshored? And by easily I don't mean well -- it will be given sent to some numpty fuckwit from a mcuniversity (mentioning no names but there's a well-known country with 1bn people and not a single university in the world top 200) to be written in worse code than we wrote when we were 14. However, the MBA tossers in charge will think that this is cost effective so it will happen anyway.

  32. Brian Souder 1

    Spot On

    My first machine was an Apple II+ with floppy drives, and the school had TRS-80's with cassette drives for storage. I remember thinking why don't they just use a floppy drive. I did the banging out code in basic, and eventually learned Pascal. I had some horrible programming classes in college trying to do Assembler on a mainframe emulating a PDP-11. I think the macros to just get the code working were 90% of the code I was writing, and seemed to always be part of the problem. I moved away from programming for a while, and then recently tried to revisit it for a client. We have been backed into a corner with out dated technology and 7 year old hardware. The custom designed platform will not run on the newer OS's, and the budget is not there to redesign everything from scratch. I have bridged the gap from one failing server with visualization, but recreating the environment was a nightmare as nothing was documented (of course). It became a course in what is this app, do we still need it, does anyone know where the installer is. No - ok - let's see if we can get the installer since we have the key - oh - they don't support that version anymore - we have to pay for the upgrade - what did that break. Ok - now that's work - next. This si all in a Windows Server 2003 R2 Terminal Server Environment with dumb terminals. Half of the applications have to run as Administrator to work correctly. You can imagine the headaches.

    So we discussed the situation further and I decided they needed to have the custom system translated into something web based that could be run on any platform. But we of course need this done ASAP. So I have been exploring platforms and programming environments. Even with formal experience it gets over whelming trying to pick a platform and learn the languages needed to accomplish everything. I have been exploring Linux which has its own learning curve. I have been doing my best to make sure I am setting up a secure environment learning how to maintain the systems, managing the database, etc. This is monumental in itself. Current documentation and textbooks seem to be the biggest problem. Just the changes in Apache server were dizzying. You buy a book on security only to find out that it no longer applies. You follow forum threads to find appalling solutions. For example, I setup a WordPress server for a client and the install these and upgrade were not working. traced it down to the wp-content/upgrade folder. It was a rights issue. Followed the accepted forum solution - make the folder 777. REALLY? And everyone is chiming in that worked for them - great solution. Even as a new Linux Admin I knew better than this. I finally worked on it with a friend and we sorted it out on a test box, now we just have to go back and figure out what we did. Just hours spent reading to find solutions that should be in the 5 minute setup.

    The programming languages are just as dizzying. MySQL or MariaDB, PHP, JavaScript, HTML 5, CSS, layout and design - etc. It is crazy all the pieces you need to put together to get things to work properly. My bookshelves have filled over the last couple of months. It can be really frustrating. Fortunately I have some of the concepts down, so it is going fairly quickly. I am revisiting my procedural programming background, and I am working on changing it over to O-O thinking. I guess if you just start out with O-O in JavaScript it is not so bad. Although some of the training courses I am doing online assume you have a procedural background to begin your O-O course. The point is that as you said, starting programming is an overwhelming task.

  33. Steve Evans

    Z80 vs 6502?

    Well the 6502 wins of course... My Beeb still works... How's your dead-flesh keyboard toy? :-p

    Curiously enough I recently corrected an implementation of Bresenham’s algorithm, it was on an ATmega chip, which has comparable storage and grunt to the 80's home computers, although the monochrome 128x80 pixel LCD panel is slightly below the resolution of the Spectrum.

    1. Toastan Buttar

      Re: Z80 vs 6502?

      "How's your dead-flesh keyboard toy?"

      1K ZX81 and 48K Speccy still functioning fine.

      Prick.

      1. hplasm
        Flame

        Re: Z80 vs 6502?

        Z80- decent 8-bit multipurpose micoprocessor

        65xx- Petrol pump brain or washing machine controller.

        Flame on! Back to the '80s!

      2. Steve Evans

        @Toastan Buttar was Re: Z80 vs 6502?

        Blimee, you really have developed no ability to banter in all these years? You really must have been a hoot at the local computer club in the 80s.

        And you call me a prick.

        Grow up.

  34. Peter2 Silver badge

    ATC

    You flew the Chipmunk? :O

    That must have been a couple of years ago. Did you get to do any aerobatics etc or was it so slow at climbing that you didn't get the chance in the time available? I got my hands on the Bulldog and Tutor when I was in cadets, the latter actually getting to hight with time to spare to play once we got to a few thousand feet.

    1. despairing citizen

      Re: ATC

      The Chipmunk was fully aerobatic, even if you had to burn altitude for speed to do loops, built like a tank, and the AEF at abingdon used controlled air space, hence the only thing in the box when doing aerobatics was you, unless your heard the controller shouting at somebody. The plane would also automatically adopt a workable glide angle if you lost the engine (joy's of 1946 hand designed aircraft)

      Unfortunately these days, the training is done in uncontrolled airspace, which in the Benson to Abingdon area, gets as busy as the M25 on bank holiday monday, not an environment conducive to reducing the risk of mid-air collisions, hence recent fatalities, compounded by the fact the Tutor is the same colour as a cloud (despite comments from RAF EFTS during procurement)

      PS

      the tutor's canopy release was never tested for the speeds achieved in aerobatic manuvers, so even if you did remember the escape procedure, no garauntee their would be a hole to go through.

  35. AJames

    Different style today

    I learned to program in the olden days too (I hate to tell you how old!), and I like to delude myself that I can still bash out a decent program in any modern language faster than the development team of "kids" I have working for me these days. :)

    The biggest change I've seen over the years is that developers today are totally dependent on interactive debugging to hack out a program by trial and error. They code and test incrementally until it does what it has to and doesn't crash any more, then they call it done and submit it for product integration. Of course their code then proceeds to fall over every time it's presented with a new variation in user input or sequence of events that they didn't test. I see this effect everywhere in the software that we all use every day, which I'm sure is being developed by the same method.

    1. ThomH

      Re: Different style today

      It runs slightly contrary to the rose-tinted nostalgia of some of the other posters, but many of the worst coders I've worked are those who start with increment coding and debugging and proceed to the conclusion that the correct way to figure out how libraries work is by empirical investigation. Reading documentation just takes time, right? And if nobody's going to read it, why write it in the first place?

      If I were asked to come up with a related rant immediately it would be about people who think that date handling is easy, so they wrote it all themselves, and mysteriously enough their code gets the length of a day wrong twice a year. But that's okay because their 200 lines of date handling "was a quicker solution" than five lines of API calls that would require you actually to have learnt about what's already provided. If you wanted a rant tomorrow? Probably something else.

  36. Al-Noor Ramji

    Ah the days before the country was swamped with programmers here from India, either in uncapped ICT work visas, or been here so long they have been given indefinite leave to remain or even British citizenship. The days before MBA idiots gave the vast majority of work to India or Indian nationals here.

  37. Jamie Jones Silver badge
    Unhappy

    Resurgence of coding skills

    As someone coming into computers in an era where we cared about every byte, and every cpu cycle, I hated the general philosophy of the last 15 years or so where "if it uses lots of memory, buy more memory! If it's slow, get a faster system! "

    It was nice to see a 'back to basics' (pun not intended) with the rising popularity of smart-phones and embedded devices, but I'm beginning to see things getting worse again now that the power/capacity of these devices has greatly improved.

  38. Brian Souder 1

    Funny Enough - This Just popped In My Inbox

    Teach a Kid to Code

    http://shop.oreilly.com/category/deals/code-kid.do?code=WKCODEKID&imm_mid=0b2ca5&cmp=em-prog-books-videos-lp-owo_teach_code_20131105_direct_wkcodekid

  39. Dropper

    BBC Basic

    What I loved about BBC Basic was it was a true structured programming language. You could fill your code with "gotos" but they were completely unnecessary. You could even code in a manner similar to object oriented programming if you choose, and I often did. Better yet, you could speed things up by inserting lines of 6502 assembler straight into your programs. What I usually did was write the software in 100% Basic, then if something wasn't fast enough I'd re-write the function or procedure in assembler.

    That said the only reason I had a BBC Micro was my dad saved up for a year and then found a 32K version in a secondhand computer shop.

    After the Amiga arrived I switched to Pascal then C.. both these languages were created by complete arseholes. There is simply no excuse for making programming that complicated. How I longed for a version of basic that could be compiled rather than interpreted but that never came to pass. Visual Basic doesnt' really count, it's just as fucked up as the original C and Pascal.

    1. 0765794e08
      Meh

      Re: BBC Basic

      “How I longed for a version of basic that could be compiled rather than interpreted but that never came to pass”

      Microsoft’s QuickBasic was a good Basic compiler, back in the day, although it wasn’t free. Nowadays PowerBasic is a stonking Basic compiler – again not free.

      1. Dropper

        Re: BBC Basic

        Thanks, I'll definitely take a look at PowerBasic.. :)

      2. Amorous Cowherder
        Thumb Up

        Re: BBC Basic

        Try playing with Dark Basic, BlitzMAX ( give access to the DirectX libs ) and RealBasic.

        RealBasic is used by some hardware device makers like DataColor to drive their Spyder screen calibration tools.

        1. Dropper

          Re: BBC Basic

          You know I had forgotten about Blitz Basic. I did play around with it for a while on the Amiga, but by then I was writing everything in C. It's interesting to see they're still around. Right now I use C++ Builder XE4 for most of my projects, but it would be fun to walk down the nostalgia road and start playing with Basic.

    2. Paul J Turner

      Re: BBC Basic

      “How I longed for a version of basic that could be compiled rather than interpreted but that never came to pass”

      Well, as an ex BBC user you are in luck!

      BBC BASIC for Windows - http://www.cix.co.uk/~rrussell/bbcwin/bbcwin.html

      "BBC BASIC for Windows costs only £29.99 including VAT (£24.99 plus VAT, or about US$ 40)"

      I'm sorry if this is sounding like an advert' (I have no affiliation with R.T.Russel) but just so you know what you get -

      "The full version allows you to create a compact (typically less than 100K) stand-alone executable (.EXE) file from your BASIC program, which will run without BBC BASIC having to be installed and without the need for any special DLLs. You can distribute such executables freely without any royalty for BBC BASIC being due. "

      I am not sure if it is truly compiled or has a fast run-time interpreter or something in between, but it is wonderfully powerful!

    3. Richard Plinston

      Re: BBC Basic

      > What I loved about BBC Basic was ...

      > How I longed for a version of basic that could be compiled rather than interpreted but that never came to pass

      """A Compiler for BBC BASIC V was produced by Paul Fellows, team leader of the Arthur OS development, and published initially by DABS Press."""

  40. Anonymous Coward
    Anonymous Coward

    Down with this sort of thing

    Am I the only person who doesn't understand this fetish for everyone being taught programming? This dark path has ruined our academic system as all too many CompSci degrees really ARE just three years of programming, including the Beloved Cambridge to an alarming extent. As an aside: the Oxford and Cambridge CompSci courses really weren't sent down from Heaven as most people seem to think; I can't speak for Oxford so much but the Cambridge course just seems to throw students headlong into every subject area going in a desperate hope that something will stick... WRONG approach. Having interviewed graduates from both courses I really wasn't massively impressed and these people don't deserve to win out over someone maybe more vocational in a niche field.

    This is why so many graduates just bimble out into "the real world" and straight into the first coding job that comes up. No aspirations, no appreciation of what a wonderfully rich and opportunity-laden employment sector they're in. Nope, just go off and prod poorly written, ancient Java with a stick for £23k a year as that's all they know and all they aspire to. Oh, and most of them are very mediocre programmers too, but degree == job amirite?

    Most of the grads my former employer takes on to the graduate programme join as codemonkeys straight from their BSc. The more juicy and exciting graduate roles are generally filled by MSc/PhD graduates who are clearly focussed on one specific area and excel in it.

    Anon for good reason.

    1. Amorous Cowherder

      Re: Down with this sort of thing

      That happens when there's no passion. I loved coding as a kid, it was passion that drove we geeks to learn. It's that attitude that still makes good IT people today, we can sit down and work out problems through sheer determination and logical deduction because we have passion. Too many people went into IT in the 90's with no real interest, simply the notion that if you got the right job you'd get good money, thus we ended up with a glut of morons with no idea how to fathom out technical problems. "List readers" who simply follow the steps and when the thing deviates from the steps, they're completely lost. Coding encourages good problem solving in those with a passion for it. If you have no passion for something how the hell do you think you'll ever get any good at it?

    2. wolfetone Silver badge

      Re: Down with this sort of thing

      Careful now

  41. Number6

    Moving Objects

    I remember being in a group sat around the school's RML380Z, probably in about 1980. Someone was meticulously plotting a static image on the screen when I had an idea and pushed him aside. A quick bit of typing later and this blob moved across the screen. Everyone was duly impressed, although now it seems ridiculously simple, and after a quick explanation of how it just plotted a blob, then plotted it elsewhere and deleted the original, several action games appeared over the next few weeks. We were fairly clueless to start with, but showing off what we'd figured out and learning from each other, we all got a lot better quite quickly.

  42. Anonymous Coward
    Anonymous Coward

    Last of a dying breed

    It was that make-do attitude that I thank for allowing me to be so open-minded and flexible. I was in the small group of school geeks who lived, breathed and slept 8 bit micros back in the 80's. We had no formal guidance, we just sat down and got on with it. If we wanted something to work we had no one to turn to except each other. I often went round my mate Paul's house of an evening and we'd spend ages trying to fathom out why something worked a certain way.

    When I run into IT people these days after about 5 mins I know the ones who were school geeks, the ones with the can-do attitude. If it doesn't work as the book says, we just sit down and faff about with it until we fathom it out. We've seen so many different variations on the same theme nothing surprises us anymore, it never takes long to find out something works. To many people these days can't think outside the box, the second it deviates from the manual they're completely lost with no idea. They then get on the phone or support website and talk to similar people who can't think outside the box either and it's no wonder it takes 5 times longer than it should to fix things.

    I'm the son of a bike mechanic, born into working class background but my Dad had the foresight to see which way the wind was blowing and practically badgered me to go into IT, saying it would be worth it. In the end, I went into system's admin by way of being a mainframe "tape monkey" after dropping out of college as I found IT in college way too boring with no challenges. I taught myself to code in Java, C, SQL, Perl plus admin on Novell and later Unix and Windows. I'm learning Objective-C and Android dev at the moment, the love of tinkering is something that I've never lost and hope I never do. I still code in BASIC, Dark Basic and BlitzMAX are fun ways to play with modern BASIC variants.

    Sadly we're a dying breed, I don't think the can-do, tinkering types will ever haunt the school yard or technology huts again. Every kid learns ICT now, how to use the internet safely and how to use Word and Excel, that's not real IT that's brain-washing and that's tragic.

  43. Stevie

    Bah!

    So many misconceptions it's difficult to know a) where to start and 2) where blither stops and actual information starts.

    Neither would seem to be worth the bother, so I won't.

  44. Erik N.

    I started with a C64 and taught myself 6502/10 assembler. I had to buy and borrow tons of books and magazines. I loved it, but it was brutal.

    The Raspberry Pi is great, I have one. However, it's no better than the Linux laptop I'm currently typing this out on. I'm not saying either is worthless, quite the opposite. They both come installed with pretty full stacks for Java/LAMP/Rails/Python/Perl/C programming. As for getting an understanding of hardware, they are worthless compared to the C64. Bank switching, working with the zero page, interrupts, registers, double buffering, etc. In a modern system that sort of direct manipulation is left to the kernel hackers.

    But, there are great resources today that I would have killed for as a kid. Sitting on my desk is a stack of Arduinos (Micro, Uno, Due, Mega ADK) and shields. There are tons of sensors and parts from Adafruit, Parallax, and others.

    Lot's of example code and tutorials on YouTube and the web. I have my own blog and channel where I occasionally post lessons as well as some of my own work. Built my 7 year old nephew an awesome robot costume this year.

    The reason kids can't program is not the tools.

    *** THE PROBLEM IS THAT IT IS NOT RESPECTED ***

    We still have it being taught by teachers who can barely operate a computer and that is when the school actually uses their computers for more than MS Office skills.

    In industry it is not a career path. 40 year old programmers cost too much. Management doesn't see why a kid just out of college isn't just as good. That's if the kid is lucky enough to get the job and it isn't just sent overseas. I'd love to be able to teach programming at the local schools (community college and the high school), I just don't see that I'd be doing those kids any favors.

    1. Anonymous Coward
      Anonymous Coward

      Re: In industry it is not a career path.

      The general problem is that most companies have a "I don't do technology" culture in it's senior management team, which is then aped by the junior managers. These are the UK companies that are going to the wall currently.

      Companies also do not want to invest in developing in house IT skills (baring in mind a trainnee programmer is basically a liability for the first 6 months, and needs a senior dev mentor's time, reducing his/her productivity)

      But the companies that tackle this, and cultivate in house talent are the ones that are not just going to survive, their going to thrive.

      Outsourcing/off-shoring is fine for stuff that does not relate to product differentiation or competative advantage (if you outsource this, don't be surprised when your competitors at the same OS outfit offer the same goods and services!), but innovation should be inhouse.

      The other problem with recruiting and retaining good coders and analysts is whilst anybody can be taught BA, PM, DBA and programming skills, the good ones have minds that can "go sideways" when looking at, and solving operational problems, the bit of paper from the school/Uni doesn't show this ability

  45. Anonymous Coward
    Anonymous Coward

    Ah, another member of the ATC mafia

    ".....Chipmunk the Air Training Corps was teaching me to fly"

    and today you would not be motivated to learn flying, as the ATC really doesn't do flying (maybe 25 minutes once a year, and in an aircraft that has already killed 3 cadets in mid-airs in the last 4 years, which is more than died in a chipmunk in the previous 4 decades, with much higher operational cycles per year)

    PS

    for those that have not come across it before, the phrase "ATC Mafia" refers to the number of senior officers and NCO's in all 3 services that did age 13 to 18 as a cadet in the ATC, resulting in a view occasionally expressed by non-ex-cadet servicemen as a bit like the freemasons, accept without the funny handshakes

  46. Ed 13
    Happy

    Hatfield Poly's DEC10 and ASR-33 on a Token J line

    We had a similar setup connected to Middlesex Poly's DEC 10, It was fantastic. We lost the connection in the mid 80's when the Poly updated their systems and didn't support 110baud any more. There was a suggestion of upgrading the line to a Token K (300baud - ohh!), but that required money and there didn't seem to be much of that in education in the mid 80's.

    I also recall seeing a computer science teacher get a near hernia from carrying the ASR-33 up the stairs!

  47. wolfetone Silver badge

    While I am 26, and the whole BBC Micro/ZX Spectrum wars were completely missed on me, I am in agreement in regards to the education of IT in this country. To get an A* in GCSE IT (or a Distinction in your GNVQ - as it were back in t'day for me) you had to produce a very well designed PowerPoint presentation, as well as other graphical crap that meant absolutely nothing. I received a pass in my IT GNVQ, not for my lack of skills but for my lack of enthuisasim on the subject being taught.

    At this time, maybe a little bit before, I became interested in the Internet and websites. So struggling with a 56k dial up modem which I had to get special permission to use, I learnt how t build websites. Only HTML things, not doing much. But to test it I had to go on to the dialup internet, upload it, test it. It was brilliant. The pressure of trying to fix a broken hard coded link (be aware I was still learning with no idea about Google or online resources!) while still connected to the internet, before my Dad would shout up the stairs "are you still on that bloody internet? get off it!". So even though I'm talking about my secondary school IT education back in 2001-2004, I'm surprised that in 20 years of computers being available in schools, the education hasn't changed. It seems the schools either didn't know what to do with it (1980's) or they feel a computer in use today will only require knowledge of Microsoft Office (2000's+).

    In my opinion, the reason kids today won't code isn't down to an educational point. It's down to their lack of craving for the knowledge to program anything. Children today (like society) don't want to work for something good. They want the good thing there and now with little effort. So while in the 1980's you coded to create games you could play on your Spectrum that were better than the shop bought titles, there is no reason for a child to sit at his computer and code a version of FIFA when they have a good version on their Xbox.

    Give a child a reason, a need to program, and they will do it.

  48. wollo

    Dabbling on a Commodore 64 in the 80s led to a 30-year career writing and developing training for computing and programming. The first non-Basic language I learned was Shava Nerad's DECAuthor, an internal programming language designed for multimedia programming (probably the first) . We used it to program the IVIS, a touch-screen autotutor/epos unit that combined a Pro-350 (PDP-11, deskside) with a 12" videodisk player via a genlock. I cannot remember one line of code.

    From then, it was VMS, Tru64 UNIX, HP-UX, and Linux, running on everything from a DEC Rainbow through an XC-series Itanium supercompute cluster, to EqualLogic iSCSI sans.

    Nice to hear that folk actually read, and sometimes even appreciate, the manuals.

  49. Anonymous Coward
    Anonymous Coward

    How it really was

    Programming today is LUXURY. We had it tough. I used to DREAM of having something like Basic when I started programming.

    I was given an assembler manual for a machine with a 2K word (=10 decimal digits) drum as the main and only storage apart from registers.Training - never heard of it. Coding was painfully slow. You had to look up the execution time for each instruction (in milliseconds) and based on the rotation speed of the drum, figure the address to store the next instruction. The biggest feature of the machine was that it got warm enough to heat your rolls for elevenses...

    1. JeffUK

      Re: How it really was

      Yeah yeah, you had to walk 10 miles uphill (both ways) to the printer after being beaten to death by the computer salesman, only to find the printer had stolen your car, girlfriend and mother..

      Actually that's pretty much my relationship with printers to this day.

  50. bsimon

    XBox now, Ataris then

    I identify myself a lot with this article. Back in the eighties when I was in primary school many of my friends spent their afternoons playing with their Ataris. My parents never wanted to buy me an Atari however I convince them to buy me a Casio FX-5200P and later an Epson HX-20 because they were "useful". I taught myself BASIC and during high school spent countless hours programming character mode games and later programs to solve math and physics problems (which I use to cheat in exams). In those times you had to figure everything out by yourself, no Internet, just a couple of manuals.

    Later in my CS career programming was very easy to me even tough I had to get rid of many of my BASIC bad practices like labels/goto and one character name for variables.

    Now I see my nephews spending long hours playing games in their WIIs and PCs and using internet to get any information or application they could dream about and I wonder what incentive do they have to learn programming? My older nephew just started a CS career without previous experience programming even though he has had a computer all of his life.

  51. timhowarduk

    Spot on. Self confessed 6502 goody goody here. Telling todays computer science graduates about the old world where you had to code your own maths routines for handling numbers bigger than 256 and had no multiply instruction usually makes their eyes bulge incredulously....

    I think I witnessed the big IT Curriculum change. For a start it wasn't called IT....But my first two years of secondary school (Year 7 and 8 in today's speak) we were taught programming. Real programming using BASIC.

    Year 9 came, the national curriculum came in, and suddenly we jumped to the world of word processing, database, graphics programs, in fact the 'structured programming language' requirement of the national curriculum was delivered using LOGO of all languages. PENDOWN FD 10 RT 10 PENUP doesn't teach that many programming concepts!

    RTS

    1. Neil Barnes Silver badge

      'eyes bulge incredulously'

      Do you know how many web pages there are purporting to have correct 32 bit *addition and subtraction* for 8-bit PICs? Do you know how few of them are correct?

      Don't even get me started on timeses and guzintas!

  52. Marshalltown

    Mmmh, punch cards

    The mention of punch cards and the delays really took me back. I recall seeing a woman walking toward the computer center with two large boxes of punched cards. Not sure how many. If it had been paper, she would have been carrying at least a thousand sheets. Give the sive of punch cards maybe twice that many? Anyway, she tripped on a bit of poor pavement and all those cards went flying. She just sat down on the sidewalk and wept.

    1. Anonymous Coward
      Anonymous Coward

      Re: Mmmh, punch cards

      There were 2000 punched cards in a box. If they didn't have sequence numbers in the last 8 columns it would be nigh on impossible to get them back in the right order.

      1. et0hman

        Re: Mmmh, punch cards

        Yep had that happen too.... I was lucky to both attempt at a numerical order on my cards as well as stripping the card tops with markers.

    2. harmjschoonhoven
      Happy

      Re: Mmmh, punch cards

      Therefore I used to draw diagonal lines with a marker pen over the deck of cards. In fact I still do this with unbound piles of paper.

      Turn the sheets upside down, make all edges visible by repeated bending, put waste paper underneat, draw two oblique lines with a pencil.

    3. harmjschoonhoven

      Re: Mmmh, punch cards

      Therefore I used to draw diagonal lines with a marker pen over the deck of cards. In fact I still do this with unbound piles of paper.

      Turn the sheets upside down, make all edges visible by repeated bending, put waste paper underneat, draw two oblique lines with a pencil.

  53. ThomH

    A contrarian here

    I attended university at the turn of the millennium; I was a young child during the '80s and packed my teenage years entirely into the '90s.

    My experience, shortened to the interesting bits: I received an obsolete micro from the classifieds somewhere in the early '90s; left to figure things out on my own as at that stage the computer had no magazines or commercial support I achieved some things I'm very proud of but was remarkably naive in other areas.

    In the late '90s we got a PC and the Internet. So suddenly I had access to unending reams of documentation and properly technical people to discuss things with. My abilities took a huge leap forward. I progressed much faster than I probably would have if I'd continued in independent study or muddling through with a single book or two.

    As a result, just as others above think the most educational environment was having limited choices and needing to figure everything out for themselves, I think the most educational environment was taking a bit of time to get the absolute fundamentals down then being exposed to the breadth of everything available. Probably people a decade younger than me that the best way to learn is to be dropped in immediately amongst the breadth.

    It'll be interesting to see what the second article advocates but too many of the commenters seem to be confusing causation and correlation so as to jump from perceiving an experience to be common to suggesting that it's a good idea.

  54. Christian Berger

    It was the 1990s

    In the 1990s there was this strange idea that you didn't have to be able to program any more and that somehow you could do actual work just by using pre-made application software. Programming was cut out of the school curriculum and replaced with worthless clicking around in office software.

    We need to understand again that programming is the natural way to use computers. And we need environments which convey that idea. We need powerful shells either textual (like bash) or something graphic (like GRAIL).

  55. phil dude
    Megaphone

    needs a revolution...

    Quality != Quantity

    Schools have been beaten into teaching as narrow a curriculum as possible to pass as MANY students as possible for as many exams as possible. Computing is an enormous field and is (or is becoming) indispensable to many scientific areas, and it is treated like an educational afterthought.

    One reason IT projects fail is because unlike industries that make "stuff", software quality is extremely difficult to measure to the same degree as other industrial output e.g. phones, TV, washing machines , drugs beer... you name it. If it is a physical product the failure feedback loop is MUCH shorter....

    Witness the enormous cockup in the USA healthcare system...

    Until the principles, design and application of computing technology are taught as the central driving technology of the next millennia, instead of the icing on the managerial cake, we can expect mediocre education in all disciplines.

    P.

  56. Fogey

    Actually Hatfield Poly had the precurser boxes to the PDP-10. I only got to play with one of the brand new fresh out of the box fully branded PDP-10 jobbies two years after leaving Hatfield. But here were also some snazzy HP PC's with light pens and swappable disc's so big that could only just fit horizontaly into a standard rack.

    I never seriously learned to programme at code level because it didn't see the point and for the most part still don't. But I have used computers every working day since Hatfield. whats important to me is getting the job done, not how its done. So I am happy to buy in programming off the shelf or tailor made.

    Kids should not get bogged down in code level programming unless they want to. They should learn how to make computers and any technology work for them, which means their special area of interest plus maths, logic and so on.

  57. Zot

    Instantly Booting into ROM Basic...

    Load a game and look at the code or have entire games printed out in magazines to see how things are done.

    It all collectively fires up the imagination because as a kid you can think, "Hey, I can see that I could do that."

    There were no crazy system calls or procedures to go through just to draw something on the screen, it was also all a group learning experience for many people at the same period in time. It was just so accessible.

    I eventually started writing games for the ZX81 using hex assembly written out on A4 paper, but that's just me, probably! :)

  58. et0hman

    I guess I started late...

    I started out on a IBM360/VM in college. I could punch 80 cards a minute (cobol). I biggest program was 5 full boxes of punch cards. Later we went to a 370/VM and then the classroom got a PDP11/70. By the time I finished college I was writing programs for In-Line Waiting Systems, marketing programs using PARADOX on a IBM 286 system with 2 MEGS of RAM.

    Things a changed a lot. I have 2 kids that are now PROGRAMMERS and another one writing things in JAVA and Ruby.

  59. Tom 79

    sys64738

    sys64738

  60. Rob2621

    Wow! how I remember that telytype machine with acoustic coupler to the polytechnic

    I remember it fondly as it got me out of writing a few thousand lines for a geography teacher

    a few lines of basic and 1/2 a role of paper

    Lines done...

    somehow I dont my kids could get away with that now...

  61. Furbian

    Boy do I have a story to tell..

    I was weaned on a ZX81, and learnt Z80 assembler back in '81.... now some 30 + years on, yesterday, I was at a Russell Group university, assisting students and marking their assignments, in, wait for it, assembler (not telling which processor! might give away the 'where'), and I do get this feeling that year on year the intake is getting worse, though the grade requirement is rising. For the first time I had a batch of them who could not understand what an unconditional branch was, despite my bringing up an example in front of them.. just one anecdote of the several I have.

  62. Number6

    I still have my home-made Z80 machine from about 1982, and it even worked last time I powered it up. It was loosely based on the MK14, in that it had eight 7-segment displays and a hex keypad. I ripped off the single-step mechanism from the RML380Z (reset a counter that gave an NMI after a number of M1 cycles) so I could debug stuff and examine the register states. I was quite pleased with it, considering I was still at school when I did most of it. The code almost worked first time too, the display scanning was off one digit because it wasn't clear with the repetitive OUT instructions whether the B register was decremented before or after it was put on the high order address bits (I was pointing to a memory buffer, selecting the display port and using the countdown in the B register to index the digit being addressed).

  63. Henry Wertz 1 Gold badge

    I'm not seeing the problem...

    I mean, this is a problem that some normal PC does not have much to program with out of the box. But, I've seen people who did miss out on all the 8-bit machines that will throw linux on, start using shell script, start using python, and start using other languages. There aren't many computer clubs, but with forums, web sites, IM etc., these meetups are simply not as vital as they were back in the day. I've still seen plenty of amazing programmers that are too young to have used 8-bit PCs, or the 16-bit Amiga or Atari ST etc. either.

  64. Anonymous Coward
    Anonymous Coward

    FTFM

    What Dominic failed to do was "find the fine manual". DEC produced excellent manuals for all its software products, and the manuals were usually bundled into the price. To put it more clearly, they were rarely sold separately; DEC took the view that if you bought some software you would need the manuals, so it produced them with just as much care as the software itself. I used to know some DEC technical writers, and some of them got to know more about their specialist software products than the engineers who maintained them. The VMS manual set was so extensive it came to be known as "the orange wall".

    The manuals for your BASIC were probably locked away somewhere safe "so the kids won't mess them up".

    1. wollo

      Re: FTFM

      Thank you sir. Old habits die hard. I'm sitting at the console login of our box, making damn sure that the code examples in my CLI guide are accurate. Dec tech writer for 15 years. Some of my 1990-era manuals are still online at HP's Web site.

  65. Ol' Bob

    BASIC? Magazines?

    Luxury!

    When *I* started programming (back in the day when men were men, women were women, an' computers were great snorting beasts that filled entire rooms and consumed enough EVERY DAY to light up a good-sized city for a week!) we had to toggle our programs in using the pushbuttons on the front panel! Aye, an' memorize the opcodes (I still recall that "15" was STORE) so's we wouldn't have to waste time looking them up! We didn't have "solid state memory" or "core" back then. No! Our main memory was a great rotating drum, an' when y' powered up the machine you had to wait until the daft thing came up to speed before you could do anything! (No, I'm *not* making any of this up!) And o' course, we couldn't afford hexadecimal back in those days - we had to make do with octal - but we were happy then, though we were poor...

  66. MrXavia

    Ahhh nostalgia!

    I started with a 48K spectrum when I was around 7 or 8, moved onto an Amiga 500, then an A1200, my school actually had Windows PC's in a network for my final few years! that was amazing...

    I can really believe they expect CompSci students to have no idea about programming, actually I remember being at uni and doing private tuition in my first year to Master students! I used to leave out the fact I was in my first year until I had given them a couple of hours tuition...

    There were many students that could barely string a simple program together by their final year of Computer Science.. I have no idea how the hell they passed...

  67. Andy Watt

    Why lament? We'll work into our 70s thanks to the idiots running the world...

    QED - I'd rather have a job I can still do in my 70s (non physical labour, keep a quick mind) while the drug-addled, dumbed-down zombies are all staggering around Tesco trying to work out how many chickens "2" is.

  68. S Larti

    Old School IT

    "This meant it could be a week or two between writing your code and getting back a printout informing you that one syntax error had stopped the program from being run. No I’m not making this up, that was how it was done."

    I remember it so well. Your chances of getting a result back from the County computer on your first attempts at code were pretty slim. We weren't so much badly-taught as blind and being led by the one eyed.

  69. Dabooka

    I love reading articles of this ilk...

    mainly becuase I can recall much of the build up and history up to the point I turned 17 and turned my attention to beer and skirt, rather than finishing my A Levels (including CScience). As a result, 98% of the comments section are written in a foreign language to me!

    How I lament my giving up on what was once a real passion, in no small part to the boring and lacklustre experience of my CS lecturer.

  70. Tim Fischer

    My commodore Vic 20 led me to a very successful career in development - more so than my college degree ever could. As for beginning development - I've recently been introduced to Robocode (robocode.sourceforge.net) and believe I will be introducing that to my kids very soon.

    Making it fun to learn and exciting is what gets the creative juices flowing, and that creativity as well as logic skills can be turned into a strong passion easy enough with the right tools.

    Nice article

  71. agricola
    Boffin

    "If you have anything of importance to tell me, for God’s sake begin at the end.

    --Sara Jeanette Duncan, 1861-1922

    I have not read any of the comments--sorry, I'll do that later--but I feel as though I could summarize the general tone fairly accurately.

    I will give you a brief bio in following Ms.Duncan's advice. I will also use the term "we" rather than "I", because thinking in those terms makes, I think, for a more accurate fable.

    We started programming minicomputers and writing productive programs in assembly language in the 1960s.

    We also learned Fortran and Basic. We were in a good position to design and program the micros which came along; F-8, 6800, 6809, Z80, Z8000, TI9900, 680xx, I80xx series, and on and on.

    We learned to program and we learned languages for the same reason we wrote our own peripheral drivers--using devices which were never meant to be used as a computer "peripheral. We wrote our own operating systems.

    It was nirvana when the 8080/5 and Z80 became so popular that the CP/M operating system was created BECAUSE of these devices. Suddenly, there wa an operating system with rational demands and rational ends, and one could be more productive in a much shorter period of time.

    All this changed in a very short time as IBM saw the success of machines such as the TRS-80, et al.

    When Microsoft entered the picture, there was no longer any need to learn anything, except how to USE pre-written software.

    And one contributing factor is the lack of any stability in the programming field. No sooner had we learned to use BASIC and Fortran, than we were told that APL, Pascal, ad nauseum were the waves of the future.

    God help the poor CIS kids: their resumes better include the entire alphabet soup of ADA, Perl, Python, XML, HTML, Java, JavaScript, C++, C#, Ruby, and ON and ON, and ON...

    Oh,kids, don't EVER mention that you know COBOL, or BASIC. The one has only, at last tally, more than USD 60 trillion worth of installed, running code which MUST be maintained. The other? I teach, among other things, the discipline of Digital Signal Processing. I recently received a fairly new text on the subject for review. The author had to include large sets of data, complex numerical calculations, and ordered output, all in a well-formatted and labelled manner. He reproduced, for the benefit of the reader, all his computation. It was, every bit, in BASIC, one of the most powerful languages you have at your disposal.o u

    Just don't EVER mention that you know how to use it, if you do.

    Some after-thoughts:

    I steadfastly maintain that this pathetic state of affairs exists because the educational process was hijacked by two groups:

    a) hardware and software manufacturers who saw in the educational market an opportunity to literally print money by convincing the second group that all they had to do was teach students to USE THEIR PRODUCTS; and

    b) the worst of the two groups: "PROFESSIONAL EDUCATORS", who are totally and completely clueless as to the proper way to teach young people how to use--and that means ALL aspects of digital technology--this new promise of the future.

    Consider this fact: if you are a "professional educator", it is career suicide to admit that there is ANYTHING

    which you can't teach a young person.

  72. TimChuma

    Rose-tinted glasses

    Our family never had a computer in the 1980s, I had to go to friends places to use theirs. For some reason it was always kids that lived on farms that had computers due to tax rorts and they were meant to be for "doing the accounts".

    Not sure what kids these days would program unless it involved API calls to Facebook and Google for various applications like some kind of weirdo. The number of actual programmers interested in that stuff is very low or they are already working for those companies.

    I remember having to write out final assignments by hand even in my final year as I did not have enough time to type them on the computer at school. We only had BBC Micros from 1989 to 1994, with Archimedes in some labs and one PC that kids would sneak playing HHGTTG text adventure on.

    Starting a computer degree meant I needed a computer at home and that was at the start of 1995. I had to share it with the whole family. Also I had to spend 4hr per day commuting on buses, through fifteen feet of snow, uphill in both directions. Kids today!

    The gist of my computing degree was to prepare graduates for work in large companies using UNIX, COBOL, Relational databases and doing Y2K work. I ended up doing none of these and the job I am doing now did not even exist when I started high school.

  73. PDC

    De Havilland Canada DHC-1 Chipmunk T10

    Thumbs up for mentioning the Chipmunk. Had my 100th flight in the damned thing, on the day we retired it from the ATC on 31st MArch 1996. Good memories.

  74. This post has been deleted by its author

  75. Martyn Kaye

    Punched Cards

    I got some punched cards out of the loft to show my kids. When I told them we had to use a magnetic pencil, mark off the holes (in ascii) for each character and then sent off to be processed, they rolled around the floor like a 1980's Cadbury's smash advert !!

  76. jjcroftiv

    Angry Much

    Really, programming isn't that hard, and whether one is indoctrinated to it in some Lord of the Flies computer club really has very little to do with either learning to code or becoming good at it. No one spends any time worrying about whether their children will learn Maxwell's equations, yet we have plenty of qualified electrical engineers.

    1. Anonymous Coward
      Anonymous Coward

      Re: Angry Much

      it's not hard....if you have an aptitude for it and not everyone child does. I've mentored people in their 20s and 30s with no prior programming experience and some people take to it like duck to water while others struggle.

      Learning to code is easy. Designing and writing really good code takes experience. Applying programming skills to solve a problem takes further skill and experience.

      The problem is we're not even giving our kids a good start at the moment. If anything, we're starting them off down the wrong path to become good programmers all in the name of "inclusiveness" because every child needs to be rewarded "for trying" rather than actually completing a learning task.

  77. RegGuy1 Silver badge

    rather than just banging it in ... that’s how you code, isn’t it?

    No it bloody well isn't!

    Good coding is clear. Good coding is simple. Very good coding is thoughtful.

    FFS, I might have to come back and amend it in six months -- get it filled with comments now then you know what you wanted it to do.

    Just bang it in, unbelievable!

  78. Anonymous Coward
    Anonymous Coward

    Kid programmer,

    I programming from 2008 – Kid programmer, if look on ppl that learned programming in 1980.

    I love to write all the algorithms my self, without using any libraries, without find solutions in google

    And very sad to see in what today programming transformed

    When programmers have forgotten how to solve problems and instead ask the solving of problem in google or on forums.

    Since today programmers is rather systems administrators that rewrite some library, but will not write something different - unique from scratch , even if it will work faster and better

    Business does not need programmers that are developing new systems.

    He wants programming administrators that will ensure that their business worked .

    But the worst thing is - that normal programmers to find work as I almost impossible.

    Everyone needs slave administrators: (

  79. Herik

    God that took me back to my school days. My programs inevitably came back with syntax errors (bad hand writing I found out was a product of dyslexia, which I discovered I had just before my finals at Uni). As a product of this I failed my computer o'level, yet now have a 2:1 in computing . . oh and a C&G in computer programming (from using DIBOL on a PDP-10 iirc)

    But aswell as Basic (which I could practise at home on my ZX-81) we had . . . CESIL . . . still had to send coding sheets off from our Burnley school to Blackburn to have it mistyped tho !.

  80. jonlegras

    Part Two?

    Are we ever going to get to read part two of this article?

  81. fodell

    Paris Hilton

    I love/d working in 6502 and its Commodore 64 and 128 descendents, the 6510 and 8502, but I have to admit that every so often I have a slum tryst with TMS-9900.

  82. WurliMonkhaven

    Code Monkey Like Fritos

    This is absolutely legit. One of my biggest frustrations these days as a fairly young coder is that there aren't actually many opportunities for an engineer to really... do any engineering.

    Oh sure, there's problems that need fixing. Stuff that needs doing. But it's all just bodgework and CRUD. I feel like I'm underperforming all the time because I'm *bored* all the time. The actual exciting work is so rare compared to "we need you to put data in the database".

    We don't write using languages any more. We write using APIs.

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

Other stories you might like