Feeds

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 …

G_R

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

21
3
Bronze badge
Coat

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

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

3
1
Silver badge
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!

10
0

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!)

2
0
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!

4
4
Silver badge

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.

7
1

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

Zero page (and zero page addressing) made the 6502/6510 much more useful that it appeared at first sight. Chuck Peddle really was a genius for coming up with that at the time.

I also really liked the 68k, and probably spent more time sitting in front of Devpac 3 on my Amiga than with any other application. :)

1
0
Silver badge

6809

6809 -> Dragon 32 is your friend

5
0
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.

1
0

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
0
G_R

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

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

1
0

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
0
Silver badge

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.

:-)

4
0
Silver badge

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

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

0
0
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.... :-)

1
0

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.

1
0
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
0
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
0
Bronze badge

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.

0
1

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!

1
0
Bronze badge
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...

0
0
Bronze badge

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...

0
0
Silver badge

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.

0
0
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?

4
0
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
0

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
0

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.

4
0
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
0
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?

1
0
Silver badge

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.

5
0
Silver badge
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.

3
0
Silver badge

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.

3
0

This post has been deleted by its author

Silver badge

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.

9
0
Silver badge

Re: Old Manuals

> I bet you can even get COBOL free.

http://www.opencobol.org/

2
0

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.

1
0

This post has been deleted by its author

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!

11
2
Bronze badge
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.

37
0

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.

16
0
Roo
Silver badge

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).

7
0
Bronze badge

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?

2
0
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.

5
20
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.

1
0
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!

7
14
Bronze badge

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.

2
1
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.

5
1
Silver badge

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.

11
0
Bronze badge
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.

7
4
Silver badge

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.

15
1

Page:

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