back to article Everyone can and should learn to code? RUBBISH, says Torvalds

Outspoken Linux creator Linus Torvalds has taken issue with the oft-repeated assertion that in today's world everybody should learn computer programming, saying he just doesn't believe in it. In an interview with Business Insider over the weekend, the Linux kernel king said that even though he grew up with computers and he …

COMMENTS

This topic is closed for new posts.
  1. John Gamble

    Waiting for "and some of those people who can't code work for/at/on .. $ORG_YOURE_MAD_AT" comments in three, two, one...

  2. stu 4

    arehole

    way to miss the point Torvalds….

    the point of teaching kids to learn to code is so they can learn logical thought, problem solving, deduction… not so they can knock out kernel code when they grow up you arsehole.

    1. Anonymous Coward
      Anonymous Coward

      Re: arehole

      Spend some time with some kids, and you'll find that some will pick up logical thought, problem solving, deduction, and enjoy it… these kids will go on to do well in technical disciplines… and others will struggle with the concepts regardless of how they're presented.

      1. stu 4

        @Stuart Longland

        Sorry.. but this is just mince.

        Most kids come out of school able to add numbers together and read and write.

        those are important skills. Skills that, as a society, we have deemed important enough to benefit their lives (and our society).

        IMHO logical thought, problem solving, 'working how how to do things' or describing them in algorithms is as important.

        It is nothing to do with coding: that is just the vehicle to learning.

        If you are seriously say that some kids cannot pick up logical thought I fucking despair.

        It's one of the true things you learn which cannot be learned by rote. It provides the building blocks for self learning in the future.

        It has FA to do with learning japanese or music as later commentards state. And yes, it can be learned with lego (of you happen to be a boy.. since lego (and most other logic related toys are still gender specific).... 'coding' simply provides a shared canvas to which everyone can learn.

        Perhaps there are some kids that will never learn logic - who will grow up to piss there money away on the lottery for example, through a lack of basic logical thought (which would then lead to them thinking about the stats, etc) like the fuckwitted adults we have today, but I'd like to think we could do better with the next generation.

        1. Anonymous Coward
          Anonymous Coward

          Re: @Stuart Longland

          Unfortunately (?), it's absolutely true. Some people really don't have a hope in hell of picking up logical thought. My girlfriend (whom I love dearly) is one of them. Logic is not something she has any aptitude for, interest in, or could care less about. In her world, it's "not important".

          1. Anonymous Coward
            Anonymous Coward

            Re: @Stuart Longland

            "In her world, it's "not important"."

            Sadly, in the real world in which the rest of us reside, it will often be life & death important.

            I would suggest you do humanity a favour and fail to breed. (www.vhemt.org)

            1. Anonymous Coward
              Anonymous Coward

              Re: @Stuart Longland

              "I would suggest you do humanity a favour and fail to breed."

              Lead the way...

          2. Anonymous Coward
            Anonymous Coward

            Re: @Stuart Longland

            "Unfortunately (?), it's absolutely true. Some people really don't have a hope in hell of picking up logical thought. My girlfriend (whom I love dearly) is one of them. Logic is not something she has any aptitude for, interest in, or could care less about. In her world, it's "not important"."

            What she meant to say was, "I have a vagina, what do I need logic for?"

        2. big_D

          Re: @Stuart Longland

          @stu4 by your extension everybody in school should take electrical engineering and car mechanics if they want to drive or use a toaster.

          I agree logical thinking is important, but learning to write a computer program isn't the only way to learn logic. In fact for most it is incomprehenisble and they will quickly become bored. There are much better ways to learn logic than computer programming. In fact it is needed in most professions, whether they need to code a computer or not.

          1. VinceH
            Coat

            Re: @Stuart Longland

            "@stu4 by your extension everybody in school should take electrical engineering and car mechanics if they want to drive or use a toaster."

            Like this, this or this, you mean?

        3. John Sanders

          Re: @Stuart Longland

          """If you are seriously say that some kids cannot pick up logical thought I fucking despair."""

          The sooner you realize that not everybody is the same and has the same abilities the sooner you'll be on the path of enlightenment.

          And the least inclined to tamper with education for political reasons, least inclined to tell people what to do, society works better etc.

          People often confuse equality in people's abilities with equality of opportunities.

          1. Tom 13

            Re: @Stuart Longland

            everybody is the same =/= seriously say that some kids cannot pick up logical thought

        4. Anonymous Coward
          Anonymous Coward

          Re: @Stuart Longland

          "It has FA to do with learning japanese or music as later commentards state. And yes, it can be learned with lego (of (sic) you happen to be a boy.. since lego (and most other logic related toys are still gender specific).... 'coding' simply provides a shared canvas to which everyone can learn."

          My daughter loved Lego as did every child I ever saw in the near vicinity of a box of Lego bricks.

          You need to get out more.

      2. Anonymous Coward
        Anonymous Coward

        Some kids will pick up logical thought ..

        "Spend some time with some kids, and you'll find that some will pick up logical thought, problem solving, deduction .. and others will struggle with the concepts regardless of how they're presented", Stuart Longland

        And these are the ones who will go on to be promoted to CIO ..

        1. Anonymous Coward
          Anonymous Coward

          Re: Some kids will pick up logical thought ..

          No, they go on to become CEO, implement a stack-ranking system, laugh off competitors with truly innovative products then finally after they realise they got it wrong, try and fail badly to correct the situation by once again applying the same flawed logic, only to finally resign from the position 10 years later.

          1. oolor
            Mushroom

            Re: Some kids will pick up logical thought ..

            Hell, I have enough problem with the logic of technical people, bugger the kids...

            How come no one has recommended teaching coding to people who do it for a living? Quite frankly that would be a good place to start. If anything we might need less programmers, not more. Competent management on the other hand remains the true bottleneck.

            As for the interview, it was pretty tame, straight forward, and Linus presented a balance viewpoint on what could and could not be achieved by introducing coding to more children. The more I read other peoples' reactions compared to the context he says things in, the more I am beginning to think he is, if anything, too kind.

      3. Fluffy Bunny
        FAIL

        Re: arehole

        "and others will struggle" with the most blindingly simple concepts (my words added). These are the ones that will sell bad art to the ACT (Canberra) Government at a gigantic fortune. Yes, I am thinking of that hideous arachniddy thing with all the eyes on Drakeford Drive.

      4. keithpeter Silver badge
        Coat

        Re: arehole

        "That said, I think people should have some way of getting exposure to $SUBJECT, just so that people who find that they enjoy it and have the aptitude know about the possibility,"

        One of the main purposes of education. Glad Torvalds agrees. Coat icon because I'm helping students revise for their Paper 2 Maths exam Friday morning.

    2. HollyHopDrive

      Re: arehole

      There is no point teaching everybody to do the same thing. Its pointless because its self destructive. If everybody can lay bricks you'd never call a bricklayer but you'd all be fucked getting an electrician because everybody is a bricklayer.

      With coding while I believe you should have the opportunity to be exposed to it but its not for everybody. My wife thinks its pointless and boring (she's a teacher and supposed to teach it from september!) But its not going to cure all that's wrong with IT or education. Art, music, science and literature are just as important in a diverse market.

      You could force me to learn French. I was shit at it. I was certainly never going to make a living at it. So it stands to reason other people are the same with coding.

      So imho linus is correct.

      1. I. Aproveofitspendingonspecificprojects

        Arsehole teachers just what every child needs, a miserable bitch to catch them on their downside.

        "My wife thinks its pointless and boring she's a teacher and supposed to teach it from September!"

        I can remember the teacher who put me off school for most of my schooldays. (But I was easily persuaded.) She's going to do a great job. Maybe her boss is being paid by Microsoft?

        Well at least somebody's thinking of the children.

      2. TheOtherHobbes

        Re: arehole

        >You could force me to learn French. I was shit at it. I was certainly never going to make a living at it. So it stands to reason other people are the same with coding.

        True but - the point of skool should be to find talent and develop it. You throw a bunch of basic experiences at kids and see which ones stick. You give the ones who are good at stuff extra time and training so they get really good at it. You keep a balance with the other subjects so they don't grow up with a lumpy brain where some bits are much more developed than others.

        Does it work like this? Not in most state schools, because they don't have the resources for personal attention. Public schools are better at it, but they often go to the other extreme and hothouse the kids so they're good at stuff, but also insane.

        Some basic coding at school for everyone is fine. No one sane (see above) expects everyone to be good at it. Some experience is enough.

        What's not so fine is trying to train up a generation of coders who will lead the march into a glorious British capitalist future of economic innovation. That's moronic, because the real problems with innovation and business in the UK are social and political, and creating a generation of kids who know Python won't even come close to solving them.

        It's also moronic because ten years from now coding won't look much like it does now. Twenty years from now it may well not exist in any recognisable form. Even if it does, it will be done better and cheaper in China, India and Vietnam (etc) than it is here.

        But the political and social problems will remain. If Gove really wanted to make a difference he'd be teaching kids how to deal with those, instead of trying to make a generation of pliant useful little vocationally trained employees.

        1. Badvok

          Re: arehole

          "It's also moronic because ten years from now coding won't look much like it does now. Twenty years from now it may well not exist in any recognisable form. Even if it does, it will be done better and cheaper in China, India and Vietnam (etc) than it is here."

          Couldn't help laughing at this para, I've been doing this shit for nigh on 35 years and it hasn't changed one little bit, I don't think it is likely to in the next 20. (Yes, tools, APIs, terminologies and languages have changed but the base concepts haven't.)

        2. Keith Langmead

          Re: arehole

          "What's not so fine is trying to train up a generation of coders who will lead the march into a glorious British capitalist future of economic innovation. That's moronic, because the real problems with innovation and business in the UK are social and political, and creating a generation of kids who know Python won't even come close to solving them."

          Well said. That's my biggest issue with the policy, not that they want to give kids a taste of what programming is about, but that their aim seems to be to produce an army of coders who'll keep the UK ahead. Aside from not being the most effective way to teach things like logic, or that if a child does take an interest the teacher will be unlikely to have the skills to help them progress, I find it somewhat insulting that they assume that programming is the only area in computing that anyone should care about. Are they going to follow it up with a year of networking, a year of sysadmin'ing, a year of DBAing etc?

      3. Anonymous Coward
        Anonymous Coward

        Re: arehole

        It's just an experience of it. Nobody is saying you need to sit down kids and teach them OO languages.

        Which are you going to teach kids, programming and the fundamentals of computers or how to use Microsoft Office?

      4. John Brown (no body) Silver badge

        Re: arehole

        "With coding while I believe you should have the opportunity to be exposed to it but its not for everybody."

        Agreed. At school, it ought to be taught to some extent at least as a taster for a year or two. After all, I didn't end up as a physicist, chemist, biologist, carpenter or metalworker and much of what I learned in those subjects at school is long forgotten now, but it's all part of general knowledge and education.

        Physics sparked my long term interest in electronics and woodwork taught me enough to build my new kitchen. Doing some programming at school is likely to spark some kids into the IT industry and even if not, will help some understand more of what their own computers and phones are doing. Even if a small percentage learn enough to be able to script their own small functions or tools then I'd call it as much of a success as many of the other subjects studied at school.

      5. JEDIDIAH
        Mushroom

        Re: arehole

        > There is no point teaching everybody to do the same thing. Its pointless because its self destructive.

        "Mommy. The teacher is being mean to me. She's making me do something that's hard."

        In a sufficiently diverse curriculum, EVERY ONE will say that at least once.

        Not everyone is going to be Newton or Dickens or Picasso. That doesn't mean that you don't expose them to stuff and at least try to teach them things.

    3. Charles Manning

      Logical thought

      That can be learned playing with a box of Lego.

      Why did that brick fall off? Maybe if it was clicked together better...

      You don't need code for that.

      Trying to teach logic and deduction through coding is taking the hardest possible route to teaching some broad principles. Worse still, it is beyond what the teaching system (teachers, parents,...) can generally provide.

      1. Rol

        Re: Logical thought

        You don't need teachers to teach kids logic.

        Just pit them against a crow in problem solving tasks with treats as rewards.

        If they fail to learn from the crow, and win no sweets, I guess logic is beyond them, but there's always the cage of ravenous dogs, where they may prove themselves to be budding politicians.

        1. This post has been deleted by its author

    4. MrXavia

      Re: arehole

      No, he sees the point... coding is not something everyone should do...

      I've taught students at university that could barely throw together a basic html page after 3 years at university... I had to hand walk them through basic things.. and these are people who chose to take computer science at university! When I was 8 I knew more than them about how to program...

      (But I would not actually call HTML or CSS coding, I call that a markup language)

      1. John Smith 19 Gold badge
        Unhappy

        @Mr Xavia

        (But I would not actually call HTML or CSS coding, I call that a markup language)

        Because it is?

        But yeah I never really wanted to code. I wanted my computer to do something. Code was the only way to get it.

    5. edge_e
      Facepalm

      Re: arehole (sic)

      I doubt it is possible to teach everyone how to code, we have enough trouble teaching everyone how to spell. Cheap shots aside, I think it is you who is missing the point.

      Everyone can be taught how to kick a ball, but you'd be mad if you thought everyone could be a professional footballer.

      I understand what you're trying to say with regard to teaching people how to think logically and I agree that it is more important to teach people how to think rather than teach them how to pass exams but I think you're failing to grasp an important issue.

      You think teaching to code will teach logical thought process because you're interested in code.

      Those that don't have that interest will gain very little.

      Don't get me wrong, I'm all for putting coding on the syllabus, but an expectation that you can teach everyone to code is not only delusional, it's dangerous.

    6. Amorous Cowherder
      Pint

      Re: arehole

      Assume you have no kids, or perfect A student kids.

      I have a car, apart from a little work on changing brake pads and filling the right holes, I've no interest in it other than it getting me from A to B. My Dad was a mechanic and technical department manager, he's a handy with tools and working with his hands, I'm not and I don't want to be as I've no interest. My Dad has some basic knowledge about computers so I help him with those and he organises my DIY jobs while I work as the gopher on the jobs we need to get done together. He doesn't mind that I'm not good with my hands, just happy I got into a job I like doing.

      I've worked with computers for over 30 years but my daughter has no interest in them, my wife is more interested in them than my daughter and my wife is a nursery school teacher. My daughter wants to be a theatre set designer, something none of us expected with me and my wife being techies. My daughter is very comfortable using computers, knows a little BASIC programming, understands enough to see technology as a tool and nothing more and I'm happy with that. I want her to find a career she really wants to do, not one I force on her just 'cos it's what I like. That's called parenting, knowing your child is an individual, guiding them and encouraging them to do what makes them happy.

      1. rh587 Silver badge

        Re: arehole

        "I've worked with computers for over 30 years but my daughter has no interest in them, my wife is more interested in them than my daughter and my wife is a nursery school teacher. My daughter wants to be a theatre set designer, something none of us expected with me and my wife being techies. My daughter is very comfortable using computers, knows a little BASIC programming, understands enough to see technology as a tool and nothing more and I'm happy with that."

        I think this is an important point. Programming isn't just about writing kernels and drivers. If you get into theatre or stage stuff, then you may well end up getting into lighting routines, which may involve a level of programming at professional production level.

        Likewise a teenage artist who decides they want to get into animation is going to find the ability to program Blender with Python plugins rather useful.

        Similarly developing Photoshop add-ons, etc. Programming is becoming ubiquitous not just in actual application programming but as a supporting tool for other hobbies, interests and careers.

        They don't need to learn all this in school, but they need to learn enough that they can dip further into it if they want to, and the idea of programming isn't scary and perceived to be at the top of an ivory tower.

        The little bit of BASIC I did with an enlightened IT teacher at school certainly made life easier when I had to learn MATLAB and some R at university (the teacher's view was that teaching people to use Word or Excel was the job of English and Maths staff as they are effectively tools to extend the content of those subjects. In his mind teaching IT did not constitute how to use a specific productivity package, which was good because it meant he used his lesson time to actually teach us a bit about how computers worked, why they tended to break (user error), etc).

    7. Shaha Alam

      Re: arehole

      You're getting a lot of grief but i for one kind of see your point. kind of.

      i think in this day and age, coding is fast becoming an essential skill, like how calculator/telephone/tv remote use was/is.

      the world is changing. and whilst it's not important for everyone to be a coder or understand code right now, i suspect it'll seen be ubiquitous and common knowledge. maybe not so much knowledge of compilers and kernels and memory heaps and what not. but thinking in an algorithmic and/or functional sense. being confident in the use of abstract symbols to express logical thought.

      technology will drive the future. it's about whether we want kids to be in the driving seat or not. we need to stop thinking of coding as a specialised skill. it'll very soon become essential for anyone that wants to get ahead. just as computer use is practically essential, even in jobs you wouldn't expect to need any knowledge of computers.

    8. Anonymous Coward
      Anonymous Coward

      Re: arehole

      "the point of teaching kids to learn to code is so they can learn logical thought, problem solving, deduction"

      Clearly you've never had to code in perl ;o)

    9. Anonymous Coward
      Facepalm

      Re: arehole

      He is missing the point, but so are you. It's a 'straw-man' rebuttal. No-one is proposing that all kids are taught up to be programmers. Merely that it's put on a national syllabus so that kids are exposed to it, just as they're given a taste of history, geography, economics, foreign languages, music, particular sports, and a myriad other subjects they can then choose to go on to study in depth or (in most cases) never look at again their entire lives.

      1. Lars
        Happy

        Re: arehole

        @Joefish, thanks, and I agree with the "expose", perhaps some will better understand "to be given an opportunity" or "to throwing shit against the wall and seeing what sticks". I think "In this, he differs with folks like Rohan Silva" is a bit unfair as I doubt Silva expects that everybody should or would become a programmer. I would expose kids to programming as early as possible. If you look at people who are world class, be it music or F1 or whatever quite a few where exposed as very young.

        One story I find superb is about Blaise Pascal who as a kid with his class was forced, by his teacher, to add together all digits from 1 to 100 before going home. Pascal got it, wrote down 5050 and surprised his teacher. The way I like to look at it is that that task exposed him to logic, calculus in early years is not about logic but about how to do things. Also he was exposed to his teacher who took interest in him.

        1. DocJames
          Stop

          Pascal's teacher

          was a dick who hated kids. The reason they were given the 1+2+3... +99+100 was to keep them quiet for a bit. He was upset, not pleased, when Pascal came up with the answer rapidly. I don't think this is a great example of how teaching creates genius, somehow.

          But I agree with the "everyone should be exposed to it at school" cos it certainly helped me (not learnt at school, vague attempts to learn on my own), despite the fact I have nothing to do with programming now.

    10. Frallan
      Coat

      Re: arehole

      That is done by teaching childeren Logic which in the cases where the child is interested will enable easier learning of code. Also your choice of headline is dispicable and your post as a whole lacks subtility, logic and coherency.

      Just my 0.02€

    11. Tom 13

      Re: arehole

      You should have finished reading the article. I had a similar initial gut reaction, but Torvalds clarification at the end makes it clear he thinks all kids should be exposed to programming. It may be that as a professional programmer he has a somewhat different definition of "programming" than you or I do, and that, like his coding standards, it is somewhat higher that of a political carbon emitter.

  3. Anonymous Coward 101

    The man is correct

    Mandating that everyone learns some coding is a waste of time. Some people will just be bad or uninterested in it. It is rather akin to demanding that people learn latin or greek. Latin and greek scholars think it is so important, but the time is better spent elsewhere.

    1. Voland's right hand Silver badge

      Re: The man is correct

      You are missing a few points and so is Torvalds:

      1. Unless you try, you will not know if you can. For example, I did not graduate with CS and I earn a living by coding and problem solving. I am grateful that I was exposed to IT in school when IT meant coding and not Microsoft Office indoctrination and office slavery training. It is the same as with other things - math, english, history, physics, chemistry, etc. None of them is for everyone, but that for some reason is not a barrier. So why software should be special?

      2. Software development and the parts which distinguish real from fake software developers such as finite state machines, data representation, etc teach you how to formulate a problem, represent the data needed to solve a problem and how to go about solving it. This is universally usable across a very wide area of human knowledge. However, it is presently taught only to CS and math. I agree, it is not for everyone - I know plenty of people who suck at solving problems regardless of their knowledge area. However, those who can will benefit from it even if they do not write a single line of code after leaving school.

      3. Having some knowledge of what it takes to code will decimate the parasitic "we will charge you 30 warm and himid client man years" industry and that cannot be bad. This is besides the "developers" (quotes intended) in that industry having graduated with CS from and earning a living without even knowing what a finite state machine is and how to go about to implement one (I usually start interviews with this question and 95% of them inevitably fail at that point).

      1. Charles Manning

        Everyone should learn how to design internal combustion engines

        If they are going to be part of this "driving culture", then they must know how a car works. It is shocking that the ICE is an unknown entity to so many people who use a car on a day-to-day basis.

        Before a person turns 16 and can get a driver's licence, the person must be able to display a good knowledge of thermodynamics, mechanics and the chemistry of hydrocarbon combustion. Then they should also learn how to weld and spraypaint.

        Sounds a bit stupid doesn't it?

        Look, it is fine to make opportunities available to kids so that they CAN learn programming if they want to, but forcing everyone to become a coder is as stupid as forcing everyone to be be a grease monkey.

        1. Fluffy Bunny
          Happy

          Re: Everyone should learn how to design internal combustion engines

          Actually it used to be mandatory to learn how to design a radio transceiver before you could get a ham radio licence.

          1. Vic

            Re: Everyone should learn how to design internal combustion engines

            Actually it used to be mandatory to learn how to design a radio transceiver before you could get a ham radio licence.

            It certainly was when I got mine[1].

            Vic.

            [1] Long expired...

        2. Philip Lewis

          Re: Everyone should learn how to design internal combustion engines

          A bit of simple physics would go a long way though, because understanding that is what keeps you on the road.

        3. Tom 13

          Re: learn how to weld and spraypaint.

          I could have done with a bit of welding exposure in high school. It's one of those things I'd like to know how to do beyond theoreticals that I haven't. And lacking an appropriate instructor have never done.

        4. Piro Silver badge

          Re: Everyone should learn how to design internal combustion engines

          "Before a person turns 16 and can get a driver's licence, the person must be able to display a good knowledge of thermodynamics, mechanics and the chemistry of hydrocarbon combustion. Then they should also learn how to weld and spraypaint."

          That doesn't sound stupid at all. That sounds incredibly practical and useful.

        5. JEDIDIAH

          Re: Everyone should learn how to design internal combustion engines

          > Before a person turns 16 and can get a driver's licence, the person must be able to display a good knowledge of thermodynamics, mechanics and the chemistry of hydrocarbon combustion. Then they should also learn how to weld and spraypaint.

          >

          > Sounds a bit stupid doesn't it?

          It only sounds stupid because you're building a false strawman. None of what you are blithering on about is on topic when it comes to cars. On the other hand, studying the basics of the technology or putting together a plastic model of an engine or just becoming familiar with basic maintenance tasks all are on point.

          Knowing enough to grok the difference between Petrol and Diesel engines does not require a PhD in physics. Although a Cub Scout might be able to assist you.

      2. MrXavia

        Re: The man is correct

        "You are missing a few points and so is Torvalds:"

        but your missing the point, even the spokeswoman for the 'year of code' can't code at all... they oversell what you can learn to do in a short time... and basically they will barely teach you anything you need to learn...

        When I was at school they taught very little about coding, I remember trying to explain to a teacher than a BBC Micro was useless to me when I asked to complete my coursework in the lab which had Mac's, and I had already saved everything on a mac...

        I learned to program because it interested me, but I think exposing people to coding is a good idea, and actually using a 'visual' building block language to teach the principals might be best....

      3. Yet Another Anonymous coward Silver badge

        Re: The man is correct

        Everyone should have the opportunity to learn programming, just like they should have the opportunity to learn a foreign language or to play an instrument.

        It doesn't mean that must learn to program becomes a key school requirement. All that leads to is a watered down defn of "programming" so that 100% of kids can do it. So we have a Computer Science GCSE that consists of changing a font in word.

        Imagine if must play a musical instrument was a requirement, the schools would be full of compulsory triangle practice - which would reduce the number of kids playing the violin - in the same way that compulsory HTML would reduce the number of future programmers.

        1. Charles Manning

          I often get asked about teaching kids programming

          I've been programming for over 30 years. I also homeschooled our kids, interacted with other homeschooled kids wanting to learn programming and also taught stuff at regular schools.

          When people say their kids want to learn programming, they are often stumped. Mum and dad and teachers typically know nothing and don't know ehere to turn.

          First thing I tell them to do is to get interested in problem solving. Fiddling with Lego is a good idea. Sure, both my kids (now post school age) are good programmers. Most of that they learned knee deep in the Lego.

          Some games are good too. I tell them to play CastleMouse. http://jayisgames.com/archives/2010/02/castlemouse.php This game requires much of the sequential & parellel cause/effect thinking that programming does. If you're stumped by Castle Mouse, you'll never be a programmer.

          Messing about with robotics is a good idea too. Watch how the kids observe the robot doing things. Some are obviously making a connection between the code running in the robot and what the robot actually does, others see these as disjointed operations: I pour some code in here and the robot does something over there...

          The most important attribute for being a good programmer is to be able to observe system behaviour/failure, figue out what is happening and then actively trying to fix the problem. Actual skills (& languages) count for nothing. Those can be learned later.

          What we're looking for in a kid is the same thing as we look for in good employees: the "spark". The ability to figure stuff out.

          Slightly OT, but when I did a lot of hiring, one of the best people I ever hired for embedded programming (understanding circuit diagrams, writing interrupt service routines in C and assembler etc) came to us with a business computing background: BASIC, access data bases etc. No embedded skills, but he knew how to break down a problem and fill in the gaps as he learned. I spent about half an hour explaining to him how basic digital circuits work. Pointed him at some code segments to read and within a few days he was solving problems and generating useful code. Within weeks he became one of the hottest programmers on the team.

          There is no point in trying to develop the programmer in every kid out there. Doing so just holds hack classes while dumb Johnny gets it.

          Society is served far better by putting the effort into those who really CAN and leaving those that can't to do drama or burger-flipping 101.

        2. Dom 3

          Re: The man is correct

          Triangle's bloody hard, 'acksherly.

        3. Tom 13

          Re: must play a musical instrument

          I recall learning to play a recorder was a requirement way back in the second grade.

      4. Philip Lewis

        Re: The man is correct

        http://en.wikipedia.org/wiki/Algorithms_%2B_Data_Structures_%3D_Programs

        "Programming" is the very small end result of a large amount of thought. If your first thought is to "program" a solution, you have already failed.

      5. This post has been deleted by its author

    2. NotWorkAdmin

      Re: The man is correct

      Mandating that anyone learn anything they hate is a waste of time. You're good at what you love, you don't love something because you're good at it.

      1. Anonymous Coward
        Anonymous Coward

        Re: The man is correct

        Mandating that anyone learn anything they hate is a waste of time

        An erstwhile girlfriend of mine had to study Hitchhiker's Guide in school. She hated it. It goes to show, I think, that even if something is good/enjoyable, being forced to learn it (or the pedagogic methods used) can turn it into something that you come to hate.

        /anon (for no particular reason)

        1. Denarius Silver badge
          Unhappy

          Re: The man is correct

          @AC. Correct imho. Around web are rants by musos explaining the way music is taught would put anyone off anything taught that way, especially maths.

        2. Vic

          Re: The man is correct

          It goes to show, I think, that even if something is good/enjoyable, being forced to learn it (or the pedagogic methods used) can turn it into something that you come to hate.

          I really hated learning History at school. It was an excessively dry set of data; learning without understanding.

          These days, it's something I enjoy - getting to grips with the *why* of what these kings did, not just the *when*. These names I learnt at school have become characters, and those characters are interesting.

          The method of teaching employed has a huge effect on how the subject comes across. I had a rather heated discussion with my missus (an art teacher) about how Shakespeare is taught in schools; I didn't understand how anyone could find it boring, as I never had. Then I spent an evening in the pub with the Englich department, and they told me all about how they are *told* to teach it. Once again, understanding flowed from that...

          Vic.

      2. Voland's right hand Silver badge

        Re: The man is correct

        Mandating that anyone learn anything they hate is a waste of time.

        If we continue this argument anyone who pretends to hate math should be excused from math. Same from English. Same from other subjects. We might as well make everything elective including education altogether. You do not like to spell, go and have some fun in the garden. Go, enjoy. Or alternatively, you do not like PE, fine, go be obese, have another hamburger, wattaboy.

        With all due respect, I do not buy that argument. The idea of teaching only enjoyable things is a ton of fresh bovine excrement. I did not enjoy geometry in school at all and I hated every minute of it. I now understand that in order to get anywhere in science, tech and engineering I had to study all that. Quite funny too - I remember more geometry today than algebra and calculus which I loved and enjoyed.

        Back on the CS subject. Software and coding is one of the ultimate expressions of problem solving. You devise a way to represent your data, you devise how that data is transformed and you devise how that data changes state.

        As I said before, will a kid write a line of code or not after school is irrelevant. The skills on how to look at a problem and how to address it systhematically will stay on and be useful for life. That is way more useful than Microsoft Office slavery indoctrination (even if the actual method of teaching said skills is not particularly pleasant).

        1. Charles Manning

          "We might as well make everything elective"

          Why not?

          As soon as the kids hit 16 or whatever they don't have to go to school anyway.

          Those that are forced to do so just disrupt the class and screw up the learning of others.

          Some people are not ever going to be coders, but can still solve problems. Different people are drawn to different problems and understand stuff differently. A mechanic mate of mine is brilliant at solving mechanical problems but he really struggles with abstract problem solving.

      3. Charles Manning

        Re: The man is correct

        "Mandating that anyone learn anything they hate is a waste of time. You're good at what you love, you don't love something because you're good at it."

        Sure, it wastes the time of those that don't want to be there, but that does not matter too much.

        Much, much, worse... the people that lack the aptitude and don't want to be there waste the time of those that DO want to be there.

        It is a long time since I was in school, but the teachers waste so much time on the kids who don't get it through either lack of aptitude or lack of interest. Mean while the whole class gets held back while the basic stuff is repeated to Johnny for the 15th time. A class of 45 minutes only provides 5 minutes of usefulness to the kids who do understand.

        School is not really about education. It is primarily daycare so mum and dad can play the dual income game.

      4. A Twig

        Re: The man is correct

        "Mandating that anyone learn anything they hate is a waste of time. You're good at what you love, you don't love something because you're good at it."

        Rubbish, example off the top of my head, I'm shit at golf but I enjoy it...

        There are a lot of things that I love that I'm really not very good at, but trying to get better and learning along the way is half the fun! Whereas the things that I'm good at and find easy generally are pretty boring...

      5. Tom 13

        Re: The man is correct

        I spent 3 years of high school learning Latin, 3 learning Spanish, 1 learning Greek. I spent 2 semesters of college learning German.

        I do not use Latin, Spanish, Greek, or German in any of my day to day activities. It was not however a waste of time. I learned a fair bit. Some about culture, a bunch about my own language, and some about the etymology of words.

      6. Vic

        Re: The man is correct

        Mandating that anyone learn anything they hate is a waste of time. You're good at what you love, you don't love something because you're good at it.

        I spent 8 years learning Latin. I hated pretty much every minute of it.

        But I was reasonably good at it.

        I couldn't see the point at the time, but it has served me well since then, both in terms of understanding my own language and learning new ones.

        It's also kinda useful for taking down pompous arseholes; quidquid latine dictum sit, inflatum altum videtur,,,

        Vic.

    3. Graham Dawson Silver badge

      Re: The man is correct

      Of course learning Latin in particular sets a pretty good foundation for learning most of the Romance languages. My wife studied Latin to the Swedish equivalent of sixth-form level, and now she tells me that her perception of the Romance languages is as essentially dialects of Latin, which makes it pretty easy for her to switch between them in conversations. It's quite scary when she does.

      It also sets a very solid foundation for general language skills, even if does sometimes lead to needless pedantry about the splitting of infinitives...

      Or, to look at it another way, your objection to learning programming to GCSE level could also easily apply to the other core subjects. Not everyone needs to learn French. Not everyone needs to learn chemistry. Not everyone needs to learn physics. They do anyway, because it's a general education. Specialisation happens afterwards.

    4. stu 4

      @AC101

      It has FA to do with learning latin or greek.

      Learning Latin teaches you Latin. that's it. useful or useless depending on your viewpoint.

      Teaching someone to code, teaches them how to think. How to solve problems. How to see solutions, how split difficult problems up, and cope with them. It teaches LIFE. It is NOT about teaching them to code - no one is trying to make kids into programmers to unlease on the (non existent) software coding market.

      Someone who has learned these things for example.... when they get a puncture at the side of the road, don't sit there like a fanny waiting for the AA. they think - problem flat tyre. do i have a spare ? where is it ? where is car manual ? where is jack ? how is wheel attached. what do I need to do to get spare wheel out of car, and onto car.

      I'd hope to most of you, the above is all straight forwards, whether you've ever changed a wheel before or not, but to people who have never been taught and given the opportunity to develop these skills it is not.

      I think a society of people who can 'change a tyre' is a far stronger society.

      1. Anonymous Coward 101

        Re: @AC101

        "Teaching someone to code, teaches them how to think."

        People said exactly the same about latin. Maths teaches people how to think before coding ever should.

        1. Tom 13

          Re: @AC101

          Coding is maths, just mostly in a less abstract fashion. Which for some students will make it easier to teach logic than the pure abstractness of math.

      2. edge_e
        Facepalm

        Re: @stu4

        Oh dear, I guess you didn't like Latin.

        I didn't either, but it taught me a lot about language structure.

        Different people have varying apptitudes for various skills and one size fits all education is as useful as one size fits all shoes.

      3. Trevor_Pott Gold badge

        Re: @AC101

        "I think a society of people who can 'change a tyre' is a far stronger society."

        Why do I need to know how to change a tire? Tire goes flat, I call CAA and they're there in less than 1/2 hr with a spare to fix the problem. Meanwhile, I'm using that 1/2 hour to generate income by writing, checking e-mail, what-have-you. There are people who get paid to solve these problems. They specialized in solving them. Let them do their job.

        Put another way: batteries going dead is "a thing" in Canada during the winter. I could whip out jumpers cables, flag a passing motorist and waste 45 minutes of both of our time trying to get the thing going...or I could call CAA, get in the queue for one of the battery trucks and wait. While I'm waiting, I'm not outside freezing my ASCII off. I'm inside, getting work done. When the truck driver arrives with his Jesus battery of ultimate jumpstarting doom, I'll pop the hood, he'll take about 30 seconds to get my car started and I'm off.

        Unless you've an intention to be a developer, learning to program has no value to you.

        Teaching kids to think is what social studies is for. It's where you learn the history of the world, along with it critical thinking. I don't know what kind of fucked up education system you have, but learning critical thinking was the whole fucking point of social studies for us. The ability to deconstruct our species history, to understand that logic is useful, but is only one method by which humans reason...that is what you need to be able to live and compete in this world.

        You don't need to replicate that by trying to teach people "how to think" in a programming class as well. What you need to do is a better job of teaching them to think in the class that is already mandatory and designed specifically for the purpose!

        1. Denarius Silver badge
          Meh

          Re: @AC101 and in general

          @Trevor. much as I admire your knowledge and skills, I disagree here. In Canada and in large communities vehicle support may work as you describe. Where I live and much of the world, not knowing basic car fixing can kill you. The local car help mobs are usually slow to arrive if they exist at all inland. As for Canadian winters, would it be better if you could sort a flat tire on spot and get going before you freeze ? But I digress.

          I see two issues being discussed explicitly here. One is a definition of a general education and the other is whether computer coding should be a part of general education. Unspoken is the question of space in syllabus and time, not to mention $$ for teachers who can do IT and teach.For the little it is worth, IMHO, basic logic should be part of education. At least it was in some Oz states decades ago. Whether coding in an IT language is useful for this I would call unknown Any studies on whether coding is useful for non-IT staff ? I thought not. I found it encouraged analytical thinking in me. I seriously doubt it did that to many classmates judging by their beliefs and behavior.

          If one must push this latest fad, perhaps a 3 months unit in senior high school for the same reasons I think every coder should do a unit in assembler (pick any chip) and one unit of something like COBOL or a modern shell like ksh93. Simply to be shown how big the gap is between machine code and high level language. One may also get an appreciation of why certain constructs make for faster code. Using a visual tool is irrelevant as the blocks still have to coded together for the event driven gizmos to work.

          Finally, given that the Canadian gov seems to be like the Oz excuse for pollies at moment funding is the elephant in discussion. Public pay taxes, fund the risks and losses and the private sector pocket the profits. Given this looting of the public good, the chances of adequate funding for any education is low. in fact, negative as education has taken major cuts in last budget. See NSW IT support story on ElReg. Better to skip teaching badly and creating another expensive stuffup. At least one minimises cost and learning baggage.

          1. Anonymous Coward
            Anonymous Coward

            Re: @AC101 and in general

            I was thinking that same thing myself...why not just take a Logic class. I did as part of my undergrad studies and I feel it was more beneficial in life and work than all of the other stuff I learned. I also took COBOL programming and Database design and implementation, both after taking the Logic class. My Logic studies made the other classes much easier, but I cannot say the Logic class would have been easier if I had taken the other classes first...

          2. Tom 13

            Re: I see two issues being discussed explicitly here.

            Another is the exact definition of coding.

            I was taught "coding" in high school and took an intro class in college. I might have taken the intermediate class except the class was designated as the weed out class for CS majors. They intentionally gave you more work than an person could actually accomplish to force 4 out of 5 students to drop out. I learned a lot from my geometry/probability and statistics teacher under informal instruction, a bit from the formal high school class, and a tad more in college. I am not now and have never programmed as a paid job. The languages in which I learned were BASIC and PCL. I've heard of all the professional languages and once put together a rudimentary FORTAN program for a physics class because the prof thought we should all do at least one FORTRAN program.

            Was I taught coding? Was it useful?

            I certainly haven't learned it to the level Torvalds has. Maybe to the level some others here have.I still don't quite grasp Snell's sort, but with a reference could easily include it in a program. Never quite grokked the whole two's complement method of subtraction on the CPU, but I accept that it works. It was certainly useful. Certain limitations of computers became clear. Some lines of algorithmic thinking were clarified.

          3. Trevor_Pott Gold badge

            Re: @AC101 and in general

            "In Canada and in large communities vehicle support may work as you describe. Where I live and much of the world, not knowing basic car fixing can kill you. "

            Agree 100%. But that's my point entirely: there is no one universal knowledge set that every human being should have. It all depends on where you live, what you plan to do with your life, etc. And if you plan to go somewhere new - on vacation or to live permanently - you will probably need to learn new things to survive there.

            Isn't that what our species does? Adapt? What's with this idea that we need to teach our kids an impossible amount of knowledge in their early years? And why the idea that they need to learn exactly what we like, instead of discovering who they are and who they want to become?

            1. Denarius Silver badge
              Thumb Up

              Re: @AC101 and in general

              >> What's with this idea that we need to teach our kids an impossible amount of knowledge in their early years?

              A more precise statement of an issue I was trying to express with the issue of limited time. I agree with you. Too much is being shoehorned into early life and education by the well meaning. Thats why I think a generalist approach like learning basic logic and reasoning is better than trying to learn a language to code in. I recall the late great Dennis Ritchie saying somewhere in his writings that the first part of design was to push the keyboard away and get pencil and paper. This was an approach I found very useful to help think about the problem before I attempted to solve it.

              1. Vic

                Re: @AC101 and in general

                I recall the late great Dennis Ritchie saying somewhere in his writings that the first part of design was to push the keyboard away and get pencil and paper.

                A mate of mine had a wonderful saying - "A week of keyboard-bashing can sometimes preclude the need for an hour's thought".

                Usually when I post this, someone feels the need to "correct" the statement :-(

                Vic.

        2. stu 4

          @Trevor

          >Why do I need to know how to change a tire?

          note the inverted commas Trevor ? it was an example. i.e. give someone a fish (knowledge to change a tyre), and they eat for a day, teach them how to fish (logical thought, problem analysis), and they eat every day.

          1. Trevor_Pott Gold badge

            Re: @Trevor

            "give someone a fish (knowledge to change a tyre), and they eat for a day, teach them how to fish (logical thought, problem analysis), and they eat every day."

            Teach someone to change a tire and they might think they know how, then try to do it when/where dangerous and get themselves killed...or at the very least make non-optimal use of their time. Teach someone about tires, flats, recognizing what needs be done and then telling them about the options for resolution to the situation and they can make rational judgements about pursuing learning to solve the problem on their own or always relying on an expert.

            Teaching someone programming does not teach them logical thought or problem analysis. As much as many developers with it did, I know a hell of a lot of colour-by-numbers devs and devs who couldn't think logically if their lives depended on it.

            I agree 100% that critical thinking needs to be taught in school. Just look at the number of people coming out of school who still believe in an interventionist deity! But teaching people how to program isn't going to teach them critical thinking. You have chicken and egg all mixed up here.

            Critical thinking (and probably formal logic) needs to be a core course all on it's own. In Canada, at least at the schools I attended, Social Studies was that course. It taught us critical thinking and analysis, using history as the lesson guide. We also did learn formal logic there, boolean algebra and so forth. That is something I agree every child should learn.

            But teaching them programming won't teach them sweet fuck all unless they have the critical thinking bit down pat first. If you want more colour-by-numbers devs then fine, give the poxy larva enough knowledge to be dangerous, but don't come bitching to me when you hand the keys to the kingdom over to a passle of brats that earnestly believe that the Earth is 6000 years old.

            I just hope I'm not alive to see that world...

          2. Vic
            Joke

            Re: @Trevor

            give someone a fish ... and they eat for a day, teach them how to fish ... and they eat every day.

            Give a man a fish, and he will eat for a day.

            Teach a man to fish, and he will sit in a boat and drink beer all day.

            Vic.

      4. Dom 3

        Re: @AC101

        "Learning Latin teaches you Latin. that's it" - that'll be "I have not done X, therefore X has no value".

      5. Imsimil Berati-Lahn

        Re: @AC101 @stu4

        "Learning Latin teaches you Latin. that's it."

        Learning Latin instills linguistic reasoning, induction and deduction. It teaches the phonetic, grammatical and syntactical building blocks of five other majority languages spoken worldwide. It develops ones ability to communicate and understand by using language.

        Some of those for whom it seems important believe that everyone should be made to learn it.

        However, it is not everybody's forte.

        It should be available to learn, but not compulsory.

        1. Tom 13

          Re: It should be available to learn, but not compulsory.

          Yes and no.

          Particularly for English speaking people I think it should be compulsory to the point that you can correctly conjugate the major word groups and translate between the two. Two years should be sufficient. The catch is, those two years should be fairly early in school. My own exposure started in the 9th grade which was a bit late. I'd say 6th would have been better. The rigorous translation exercises taught me more about how and why English works than my English classes did. Yes, I know English more of a Germanic language, but it worked. I suppose you could do the same with German. I'd give the edge to Latin since it leads to 4 other languages.

          Beyond those two years it should be optional.

        2. JEDIDIAH

          Re: @AC101 @stu4

          Instruction in ANY foreign language changes how you perceive your own as the approach is generally different. That alone is useful. Doesn't matter if it's a dead language or something new and trendy.

      6. Hollerith 1

        Re: @AC101 - @stu4

        I learned Latin and it taught me not just to make some sense of French, Italian and Spanish, but also how to think and express myself with a different set of tools. Latin sentences work differently, so your brain works differently. It also taught me that people thinking a different way is not bad or inferior, just different.

        Before I bought a car I did an evening class one winter on the car. I wanted to be able to do simple things (although I ended up stripping down and rebuilding an engine) so I was not helpless, but what it also taught me is that cars are not mysterious boxes and I can deal with them.

        I think teaching a bit of coding not only exposes kids to a different language, but show them how all our everyday devices work: it is not magic how a tablet works, it is some people working on code. That code lies at the bottom of functionality. That from simple logic comes the wonders of our digital world.

        And, if you find it really interesting, you could help build that world when you grow up.

  4. Anonymous Coward
    Anonymous Coward

    He's right, though. Programming isn't for everyone. Just like systems administration isn't for everyone. Or repairing cars, laying tiles or sticking wallpaper to the walls. Everybody who wants to give it a go has plenty of options doing so. "Everybody should learn to develop code" is just plain wrong.

    Why is it that society wants everybody to do the same things these days. What's needed are specialists, not generalists who know a bit of everything but nothing particularly well.

    1. Anonymous Coward
      Anonymous Coward

      Why is it that society wants everybody to do the same things these days

      Because they want to cut costs and attempt to justify their claims that they are helping solve some problem when they're really doing nothing constructive

    2. Tom 13

      Re: Everybody should learn to develop code

      I think there is a difference between "develop code" and "write code".

      Developing code is the professional level of it, much the same way a chef is a professional cook, though most chefs will probably object to that characterization.

    3. Anonymous Coward
      Anonymous Coward

      "Why is it that society wants everybody to do the same things these days." Where did you get that from.

    4. JEDIDIAH
      Linux

      Just try to have something resembling a clue.

      Lay tile just once.

      You won't look at a floor the same way ever again. You will be able to appreciate fine craftsmanship and recognize the work of a worthless schmuck. As a consumer of the product of genuine experts, your small bit of dabbling will be of immense value. You will actually have some clue of what you are buying and be able to judge people's work.

  5. Chris Miller

    Depends what you mean by 'code'

    I don't think everyone could or should learn how to write kernel code, but the ability to write something very simple using Python or even Basic shouldn't be beyond most people. Being able to parse some simple HTML wouldn't hurt, either.

    1. Old Handle

      Re: Depends what you mean by 'code'

      Exactly. I think almost everyone would benefit from a little experience with scripting or macro type programing. Obviously most people will not be developing full fledged applications, much less working on OS kernels. But any time you find yourself thinking "I just wish I could tell the computer to..." chances are you can, using a script or macro. Especially if what you want to tell it is to do some repetitive task on a bunch of different files/lines/whatever.

    2. william 10

      Re: Depends what you mean by 'code'

      Agree, not everybody can do ART or Music but we all do it at school, coding should be no different.

      A few basics (concepts) are already taught successfully to many primary school kids using simple robots that they programme with a few simple set of instructions.

      1. Terry 6 Silver badge

        Re: Depends what you mean by 'code'

        "Agree, not everybody can do ART or Music but we all do it at school,................... kids using simple robots that they programme with a few simple set of instructions."

        Except that we are asking that kids do a LOT of coding learning- and it's seen as a holy grail.

        And it's more like every kid has to do woodwork, rather than Music. i.e. working skills

      2. Anonymous Coward
        Anonymous Coward

        Re: Depends what you mean by 'code'

        Two of my most useless subjects:

        - Music

        - Japanese Language

        On the music front, I never got to the point of being able to play the recorder that was prescribed to me, it was not much better than a whistle. I certainly couldn't figure out the sheet music and still can't. (e.g. there's 88 keys on a piano keys, but only 5 lines with which to represent notes ordered C, D, E, F, G, A, B… WTF?)

        I do appreciate music, and I have even performed some I learned by ear on radio before (around 1995, played Rod Stewart's Sailing on one of these). I won movie tickets for that effort. That's about as far as it went.

        The irony being now I'm starting to get into drumming, if only to fine-tune my sense of rhythm for the purpose of morse code training.  I guess I've got a more "rhythmic" bone than a "melodious" one. Here, I've got the likes of Mick Fleetwood and Jon Farriss giving me a few hints by way of analysing the spectrograms of their music in Audacity to pick up the patterns and get my timing up to scratch.

        As for Japanese, I sort-of remember how to say hello, something about someone having an itchy knee, a guy named Roko, then it got a bit rude! Studying aspects of the culture was worthwhile, but not learning the language.

        I rather suspect that trying to teach someone whose passion lay in either of the two above subjects how to code, being of a more artistic mind, would be similarly unproductive.

        1. jonathanb Silver badge

          Re: Depends what you mean by 'code'

          A piano score usually has two sets of 5 lines. With the spaces in between the lines and above/below, that allows for 22 of the keys, all of them "white" keys. Keys are in the ratio 5/12 black, 7/12 white. There are modifier symbols for using the "black" keys in between the white ones - ♯ for the black key to the right of a white key, ♭ for the black key to the left of a white key. You can also add extra lines above and below the 5 main lines for the keys outside that range.

        2. Terry 6 Silver badge

          Re: Depends what you mean by 'code'

          " the ability to write something very simple using Python or even Basic shouldn't be beyond most people. Being able to parse some simple HTML wouldn't hurt, "

          Which is a good argument for a couple of weeks of coding at, say, 13 years old. This is rather different to the current policy of teaching 4 year olds and up to "learn to code", all through school, rather than the now deprecated ICT which at least had the benefit of teaching kids to use the tools they need. daily

        3. Frumious Bandersnatch

          Re: Depends what you mean by 'code'

          I'm sorry to say, but sheet music is really easy to figure (well, apart from key signatures, which require a knowledge of scales). The main problem lies in sight-reading, I think. Anyone can probably learn the notation in an afternoon, but it takes practice to be able to look at the pattern on the page and distinguish an E from an F, say, without resorting to reciting a mnemonic (like "every good boy ...") or having to mentally count from your "baseline".

          Sheet music is also completely distinct and separate from actual music. Even if you don't know how to sight-read (or even decipher it in the slightest), you can still be good at music. Scott Joplin, for one, couldn't read sheet music ...

          As for the utility of languages, I guess it depends on how far into it you get in the first place. If you don't apply yourself enough to get beyond a few tourist phrases, then sure, it's useless and you'd be better off waiting until you travel (or will travel) to a place before diving in (so you'll have some practical application of it). I think that any serious study does tend to pay you back for the effort, regardless of how practical it might be in general. I rarely use my Japanese, but I'm still very glad that I did study it, even if it's only to get a bit more enjoyment out of Japanese films or chatting to the occasional Japanese person I meet.

          Music and Japanese might seem useless to you, but it's hardly a blanket statement you can apply to everyone. Coding is no doubt the same ...

          1. stu 4

            @Frumious

            True words.,

            However IF the person who invented the moronic illogical language we use for music had been taught how to code, we may have a 'language' which made logical sense, instead of a situation where we have an A sharp AND a B flat for example.

            Many of my difficulties learning music have been due to it's totally moronic way of describing things: From notation, to note names, to scales, to time signatures there is not a single part which does not make a logical person tear there hair out with the fuckwittedness of it all.

            1. Anonymous Coward
              Anonymous Coward

              Re: @Frumious

              A# and Bb are only the same on a keyboard instrument where the oscillation is fixed

              1. stu 4

                @AC

                Congratulations on proving my point.

                a note = a particular frequency of sound.

                466.16Hz for the 4th A sharp for example. that's it. full stop.

                it makes not a blind bit of difference that while you play your violin that you say A# and Bb are different. they are not. You simplyplay each of them out of tune differently. fine. It does not change the fact that they are the same note.

                It's just that sort of musical pish I am talking about.

                http://www.phy.mtu.edu/~suits/notefreqs.html

                1. Anonymous Coward
                  Anonymous Coward

                  Re: @AC @STU4

                  One should also point out that A# and Bb actually mean different things in musical notation.

                  http://jtauber.com/blog/2006/11/17/why_a-sharp_is_not_b-flat/

                  and to return to the original point, perhaps this will enhance your understanding of something about which you clearly know very little.

                  http://music.stackexchange.com/questions/11815/what-is-the-difference-between-sharp-note-flat-note

            2. Frumious Bandersnatch

              Re: @Frumious

              Many of my difficulties learning music have been due to it's totally moronic way of describing things: From notation, to note names, to scales, to time signatures there is not a single part which does not make a logical person tear there hair out with the fuckwittedness of it all.

              I'm not totally sure about that. I didn't actually learn music in school (all I can remember is that we did singing and I vaguely remember some messing around with a recorder or tin whistle), so I taught myself about it later. Actually, pretty much my first intro to musical "theory" was from appendix E in the Commodore 64 Programmer's Reference Guide. I must have had some other reference, too, as I discovered that each octave is double the frequency of the last one, and that each semitone is a fixed multiple of the last one too (the 12th root of 2, in fact).

              Starting from that point, I found the whole topic much more accessible.

              I do agree that notation is a problem, and no, I can't even sight-read very well or (quickly) figure out the scale from the key signature, or understand all time signatures, or even get my head around why A# isn't the same as B flat (the other commenter's explanation notwithstanding), or ...

              I don't think that the notation for note lengths is too bad, though, since more "decoration" just means shorter notes. At least that's quite simple ...

          2. Anonymous Coward
            Anonymous Coward

            Re: Depends what you mean by 'code'

            Music and Japanese might seem useless to you, but it's hardly a blanket statement you can apply to everyone. Coding is no doubt the same ...

            Indeed. My point was, those were two examples where, for me, the money spent in trying to educate me on those topics was largely wasted.

            There are kids that were in my class, and did shine in one way or another. So it wasn't that the teaching was bad, but I showed very little aptitude in those subjects. For those that did well, it was clearly worthwhile. For me? I'd have been better off spending more time on mathematics.

            As for programming, I can recall once after school messing with an old Commodore 64, and arguing with someone about the spelling of the keywords. She was making fun of the point I was spelling a keyword as "GOTO" (emphasising the point with her pronounciation; got-o), rather than writing "go to". The fact that the computer understood BASIC and not English was one logical fact that was completely lost on this person.

            Now this was a person in the sort of age bracket being spoken of here: primary school age. If they can't grasp the difference between writing English text, and writing machine instructions, then I don't give them much hope in doing anything low-level with a computer.

            By all means, provide some exposure to the subject, but forcing it upon the kids is totally the wrong way to go about it. The one's who don't get it will just get bored and disrupt those who may be genuinely trying to make a good go of it.

            1. Frumious Bandersnatch

              Re: Depends what you mean by 'code'

              Indeed. My point was, those were two examples where, for me, the money spent in trying to educate me on those topics was largely wasted.

              I think I slightly misunderstood you, then. In the end, I think we both agree that not everyone will find formal teaching useful.

              While not everyone will benefit from studying a particular subject, I think we should definitely looking to make sure that everyone at least has the option of studying these things (whether it be music, coding, woodwork, art, languages or whatever). In an ideal world, eh?

        4. Frumious Bandersnatch

          Re: Depends what you mean by 'code'

          Studying aspects of the culture was worthwhile, but not learning the language.

          Ah, yes... I found the quote (and person who said it) that I was trying to remember to respond to your sentiment:

          "To know another language is to live another life." -- T. G. Masaryk, President of the First Czechoslovak Republic

          Who wouldn't want to live another life?

        5. Anonymous Coward
          Anonymous Coward

          Re: Depends what you mean by 'code'

          "The irony being now I'm starting to get into drumming,"

          Q: What do you call someone who hangs out with musicians?

          A: A drummer.

          1. Vic
            Joke

            Re: Depends what you mean by 'code'

            Q: What do you call someone who hangs out with musicians?

            A: A drummer.

            Q: What do you call a drummer without a girlfriend?

            A: Homeless

            Vic.

    3. Bucky 2
      Thumb Up

      Re: Depends what you mean by 'code'

      I'm going to have to "me too" this one.

      I'm all for adding programming as another of the branches of mathematics that we teach school children.

      However, given the percentage of adults who believe that the Earth is 6000 years old, or that there's no such thing as global warming, or that it's EVER appropriate to use the term, "cray-cray," I don't think it's realistic to expect this to translate to a huge global population of computer programmers.

    4. This post has been deleted by its author

    5. Anonymous Coward
      Anonymous Coward

      Re: Depends what you mean by 'code'

      "Most people" sure. I personally know people where it is beyond them, and no amount of enforced training would work.

    6. Roland6 Silver badge

      Re: Depends what you mean by 'code' @Chris Miller

      Scratch (http://scratch.mit.edu/about/ ) is probably the best starting point for everyone; Python, Basic etc. really are only suitable for those who show aptitude.

  6. vagabondo

    Politicians as amateur educationalists

    often aren't very successful meddlers.

    Giving everyone a general understanding of what programming is, and how stuff works is a good thing. Much like expecting everyone to leave school capable of basic communication in two or three native languages would be desirable. But imagining that everyone could/should be competent beyond reading and writing simple scripts is as fanciful as expecting everyone to be able to produce good literature and poetry in several natural languages, or to be a competent surgeon.

    Adam Smith had the right idea; we specialize in what we are good at. That way we get to be efficient/economical, and by swapping/trading the fruits of our labours life is easier for us all.

  7. This post has been deleted by its author

  8. Gert Leboski

    Hmmm, he does have a point.

    You have to enjoy what you do. No point of trying to make coders out of those who don't enjoy it.

    However, to paraphrase a clip from my son's favourite film, Ratatouille, not everybody can be a great coder to, but a great coder could be found in anybody.

    On that basis, programming should be taught in schools at an early age. Thos who have a talent or interest can be nurtured, the others can go do sport, woodworking, home economics or whatever they do have a talent for or interest in.

  9. frank ly

    Commercial importance

    Given the 'importance' of the music and other entertainment industries in this modern world, perhaps everyone should be able to compose music and screenwrite/act/direct a film?

    1. Tom 13

      Re: Commercial importance

      No, but everyone should have been exposed to music composition, screen writing, and acting.

      And oddly enough, most of us are exposed to screen writing and acting via English class in the US. Some Victorian age dude who goes by the name of William. They tell me you should have heard of him.

    2. Anonymous Coward
      Anonymous Coward

      Re: Commercial importance

      Yes, that would be nice.

  10. Anonymous Coward
    Anonymous Coward

    I think its more that some people don't have the sort of calm, collected, unflappable personality that it takes.

    1. Anonymous Coward
      Anonymous Coward

      You what?

      Mate of mine is a programmer, on his third driving test:

      Instructor: Right Mr XXXX can you pull in on the left when convenient unless road signs or vehicles dictate otherwise.

      My mate: 30 mph, mirror, signal, 25 mirror, 20 other mirrors, 15....10.....5.....0. Neutral, hand brake on...

      Bus stop.......Fail.........

      Clever programmer, operates in a universe with no rules.....

      1. Anonymous Coward
        Anonymous Coward

        Re: You what?

        "Neutral, hand brake on..."

        Well, it's hand brake on, then neutral....

    2. Frumious Bandersnatch

      "some people don't have the sort of calm, collected, unflappable personality that it takes"

      Mmmm. That's good sarcasm. I like what you did there.

    3. Voland's right hand Silver badge

      Are you referring to the same people that show three finger salute to press and call fellow developers something that would be befitting to Samuel Jackson (once you transalate it from Finnish to English).

  11. Stretch

    Irrelevant.

    The man made Git. Therefore I would propose all sorts of things for him that would not be allowed under Malicious Communications. He has ruined everything.

    1. James Hughes 1

      Re: Irrelevant.

      What he said.

      Git is shit.

      (Nice concept, horrible implementation. I use it every day and have done for years before the gitbois arrive)

  12. Christian Berger

    We need to improve code literacy

    More and more code governs our lives. Code is more and more getting law. Unless we want to abolish democracy we need to find ways to enable the public to be able to understand that code.

    That's code literacy and it'll become more and more important as time goes on. It's not about making people able to write good software just like education is not about making people able to write good laws. However people must be able to understand the laws they (very indirectly) vote for. A democracy cannot work if the people don't understand the laws.

    Of course there can always be intermediates, journalists for example, who translate the laws into a form people can understand. However if we don't teach people how to read and write code, we won't have journalists able to do so.

    I can understand Torvalds from an emotional perspective. He is seeing more and more idiots trying to get their crappy code into the Linux ecosystem. However he is missing the point here.

  13. Anonymous Coward
    Anonymous Coward

    Everyone should learn how to write code because ...

    ... why exactly?

    Because almost everyone has a laptop or a tablet at home?

    By the same logic everyone should learn how to perform neuro-surgery because everyone has a drill and a knife at home, and one can always buy a magnifying glass at the store.

    Boolean logic - which is what programming is if you eliminate specific language artifacts - is a very special and difficult kind of logic. Most people do not employ Boolean logic in their day-to-day life, and constructing complex logical structures based on Boolean logic is quite difficult and unintuitive.

    What's the point of forcing someone to learn a discipline they have no natural aptitude or interest in, other than frustrating them and making them unhappy.

    1. JEDIDIAH
      Holmes

      Re: Everyone should learn how to write code because ...

      > By the same logic everyone should learn how to perform neuro-surgery because everyone has a drill and a knife at home, and one can always buy a magnifying glass at the store.

      Self-reliant types have been teaching themselves First-Aid for this very reason for over 100 years now.

      Of course self-reliance is very much out of style these days.

  14. Herby

    Next...

    We teach all grade schoolers the finer points of medicine? Let them go home and "play doctor" in their spare time. Look, everyone needs to understand the function of the human body, shouldn't they all be doctors?

    Yes, it does seem a bit silly to me.

    It boils down to "can you follow directions?", which many don't do (*SIGH*).

    1. JEDIDIAH
      Devil

      Re: Next...

      > We teach all grade schoolers the finer points of medicine?

      Just find yourself a Cub Scout. Perhaps one will save your sorry skin some day.

  15. Anonymous Coward
    Anonymous Coward

    Learning to code != learning how to code

    Educating people with a bit about how computer programming works so they understand that they just follow a sequence of simple instructions that can be as lengthy as required would be a good thing.

    Those who are interested can go further and actually learn to code, but there's no more need for every kid to learn how to write yet another sorting program. It would be akin to forcing kids to learn how to maintain their car. While some might think it would be a good thing for everyone to know how to change a tire or change their oil, most people are happy to pay someone else to do that and those who want to know can learn on their own or take auto shop in high school (do they still offer that in US high schools?)

  16. Anonymous Coward
    Anonymous Coward

    Good Lord, we are all doomed

    At a company I once worked for, doing highly technical software development, we didn't care what degree the kid had, but we cared very much about their ability to think clearly and present a cogent argument. All this fuss is really a proxy for the education system being perceived as churning out idiots, isn't it?

    - If you are advocating teaching coding because it forces the learner to think logically and clearly, well, that's valuable - but that experience isn't unique to coding. Learning how to build a lawnmower engine would impart the same skills. Or indeed studying anything taxing, like theology or music, and having teachers with high expectations who don't let you get away with submitting half-baked papers and essays.

    - If you are advocating teaching coding because you feel that the world is all computerized and therefore understanding them is an essential skill, that's a less powerful argument. We don't require proficiency in physics to graduate, but our lives are dependent on electricity and the internal combustion engine. Perhaps we should, but we don't. Given the choice between a mastery of the natural sciences and a mastery of code, I would vote for the former, every time.

    1. Anonymous Coward
      Anonymous Coward

      Re: Good Lord, we are all doomed

      > who don't let you get away with submitting half-baked papers and essays.

      What, you mean, actually _fail_ a student? ... but, but, ... that would ruin the statistics.

      My Dad ran his own company for years - ran a very similar "aptitude" test which wasn't particularly sensitive to what course you did at university, etc. He was basically looking for the one skill you can't teach per-se - common sense - and the right attitude - a work ethic. Unless you are working in a very "top right" industry - you can teach most of the "skills "people needs on the job, but they have to want to learn it, which can be a harder thing to find.

  17. nk

    What they really mean by "everyone should learn to code" is everyone should be exposed to it in some form, for at least some limited time.

    Its not as essential to daily life as reading and writing or basic math. That's why those skills are taught during primary education.

    But coding should have its rightful place in some form or the other within the curriculum of secondary education so people may know what it's about

    Code does not have to mean a full featured programming language. A spreadsheet with macros, hell even pseudocode would do

    Teaching how to break down a problem into ever smaller parts until each becomes manageable is a skill that I dare say should be valuable for *everyone*. I believe that coding is a very good vehicle for that. Sure there might be better ones but I can't think of many

    No one ever said people should be forced into software development. Sometimes it looks as though people make an effort to miss the point

    1. Anonymous Coward
      Anonymous Coward

      > Teaching how to break down a problem into ever smaller parts until each becomes manageable is a skill that I dare say should be valuable for *everyone*. I believe that coding is a very good vehicle for that.

      The entirety of the education system _should_ be geared towards that. What's the point of all of the "knowledge" which all of the existing subjects are trying to cram in our students' heads, if they can't actually apply it to a problem and do something useful with it.

      Unfortunately we have politicians who seem to equate "education" with learning as much general knowledge trivia as possible, followed by a testing methodology which is to regurgitate as much of it verbatim in 2 hours as possible. Very little of our education system encourages application of existing knowledge to new problems - indeed most of the time any "outside of the box" thinking is actively punished because the answers are not on the proscribed list of tick boxes which give marks.

      You don't need to teach coding to teach "original thought" and "problem solving". My nephew "likes computers" (i.e. he plays games) - but he's not interested in coding - it's too abstract. If you want to teach something in schools, and teach it to everyone, you need to make it widely accessible to > 80% of the class. Coding won't give that, unless you wrap it up so much (logo turtles anyone) that it isn't really coding any more - so don't pretend that it is (or that it needs to be).

      1. Anonymous Coward
        Anonymous Coward

        I'd much rather that "coding" was to some extent introduced as part of the syllabus for other subjects.

        Welcome to biology - today we're going to data mine some gene sequence information from a database. Welcome to chemistry - we're going to use some image processing tools to look at some slow-motion reaction images, or to automate some process. Economics 101 - accounting using spreadsheets, and setting up some monthly report generation scripts.

        You teach coding to kids who don't like computers (who would normally hate CS on principle), and you teach some non-coding skills to the guys who love to code (who would hate subject X on principle). Done right it should be "win-win". You obviously can't do this in every lesson - but it teaches what coding is really for in industry - and how that CS is a tool which solves problems in other subjects, and not a solution in its own right (in general).

        1. Tom 13

          Re: Economics 101 - accounting using spreadsheets

          You never had an economics class did you?

          1. Anonymous Coward
            Anonymous Coward

            Re: Economics 101 - accounting using spreadsheets

            > You never had an economics class did you?

            Yep I did GCSE economics - a long time time ago ...

            Modern macro-economics is all about macro-scale models, and data mining - would have made it far more interesting =) Micro economics (i.e. business level) is pretty much accounting, albeit not spun that way, but the basic principles are the same.

            If you can't find some means to get some "computing" in to at least one aspect of an economics course you're not trying hard enough - there are lots of applicabilities to "big data" and statistical trend and correlation analysis in many real world applications of economics (insurance, crime, risk analysis, etc - it's all data mining).

            1. Tom 13

              Re: Economics 101 - accounting using spreadsheets

              Economists don't give a crap about accounting. Accounting these days is just another form of lawyering to avoid government fees.

    2. Tom 13

      Re: What they really mean by

      That's what you mean. That's how I read it. But I'll grant the point of our counterparts on this thread that this is not necessarily what the pointy-headed politicians mean when they say it. Mostly because no matter how rigorous the training or how much time was spent teaching them to code/program, they are the ones who were mostly likely to fail the course.

  18. cookieMonster Silver badge
    Thumb Up

    I just went and read the actual article referenced in the story...

    ...his answer to the second last Q ...

    "That said, I think people should have some way of getting exposure to it, just so that people who find that they enjoy it and have the aptitude know about the possibility. Not because everybody will want to or need to learn, but just because it is a great vocation, and there may well be lots of people who never realized that they might actually like telling computers what to do. So in that sense I think computer courses in schools are a great idea, even if I do not believe in the "everybody should learn to code" thing."

    Don't know what everyone is getting worked up over...

    Linus, he's still on my christmas card list...

  19. Phil W
    Joke

    Alternative

    They may not have aptitude but what if they have emerge or yast?

    1. Steven Raith

      Re: Alternative

      Then they are heretics, and should be burned.

      Sorry, wrong meeting.

      *gets coat that comes with it's own hanger*

  20. Anonymous Coward
    Anonymous Coward

    He's right, but I think it's a good idea

    for everyone to have a taste of it in school. I know someone in IT who never used computers as a child - clever guy, but poor background - people of a similar background may benefit from the exposure.

  21. marturion

    Maybe a better way to teach kids to think logically, it to teach them to write coherently in their own native language. And a good way to do that is to teach them to read books of substance. And a good way to do that is to teach them handwriting and to read to them when they are little.

  22. Anonymous Coward
    Anonymous Coward

    I think there are a few people on the OpenSSL projects that needs to learn how to code.

  23. Anonymous Coward
    Anonymous Coward

    we teach religion in school

    Surely logical thought would be a better use of educational time.

  24. Terry 6 Silver badge

    School

    I learnt coding 40 odd years ago, at high school - in the days when it was real coding. None of your instructions in real words made out of letters back then. Numbers on punch cards, that's how I started. I've had some aspect of computing and IT in my work ever since.

    But I've spent the last 30 years or so in education, specialising in reading and writing.

    And the idea of teaching 5 year old kids to code strikes me as barmy.

    Yes, give kids an experience of coding. I loved it. But I was 15, not 5. And it was not part of the main curriculum, week after week, year after year -and after a few weeks it wasn't compulsory. I did it because I could - not because I had to.

    You can make a case for coding on the basis of some spin-off, but that goes for almost anything: baking, cooking, animal husbandry or horticulture. Rocket science even.

    One of the few areas that has been shown to develop thinking skills for kids - Philosophy - isn't even on the agenda.

    The whole coding idea is just the 21st century equivalent of teaching woodwork and metalwork to working class kids, as if somehow all the kids would then leave school ready to go to work in a coding factory.

    And you know it's not going to turn us into a nation of programmers. The worst case could even be that good, creative potential programmers are totally turned off by the tedious complulsory coding and hordes of mechanically minded code monkeys all become the next generation of Computer Science graduates.

  25. Denarius Silver badge
    Happy

    Linus is right

    Above says it all

    1. Tom 13

      Re: Linus is right

      Yes, but as usual, you have to read all of him, not just the head/subject line.

  26. Anonymous Coward
    Anonymous Coward

    Logical thinking is just another tool

    When Computers changed from a science to a business subject they also removed the requirement for the subject's teachers to be at least degree qualified in the subject they were supposed to be teaching, perhaps the lack of depth and perspective is why these new teachers are finding things difficult.

    Having attended both vocational and academic courses over my lifetime I have noticed how differently the information is presented, even subjects that are fundamentally scientific become memorise this data set so you can answer the questions rather than these are the concepts and how they link logically so the answers are apparent in the structure. The former gets people to pass the exam only where the latter provides a base for further understanding. I would suggest that if you are trying to teach young children who cannot remember their times tables yet via the vocational method then of course you are going to have problems. I have three children and they all used logic and deductive reasoning before they started primary school simply because they learned it first as part of their spoken English.

    As ever with education in the UK, the real problem is threefold, ignorant parents, ignorant teachers compounded by politicians who think that they need only wave a wand to repair the damage they and their predecessors did to the education system of this country.

    If you want children to learn logic at five then teach the parents first, teach them that this is a skill they and their children need if they want to avoid future generations of being cheap uneducated labour, teach them that education begins at home, basically teach them what their duties are as a parent.

  27. Anonymous Coward
    Anonymous Coward

    I find it pretty amusing that a lot of the people pushing this agenda apparently have zero idea what coding is. How do you get kids that could be good "coders" into "code"? Maybe by leaving Logo turtles, Arduino style kits etc around the place so that kids that have a chance to pick something up and have a crack at it. Forcing it down their necks is going to do more harm than good.

  28. Mark 85

    A little knowledge is a dangerous thing.

    So we teach a kid some woodworking in school. Not all of them end up being woodworkers, artisans, etc. But they get a basic knowledge for when they're older and maybe need to talk to a carpenter or fiddle with something around the house. They know when something is outside of their skill set and seek professional advice/help.

    For "coding"... as I see it, they're basically going to generating a bunch of script kiddies who think they know everything there is know about making easy money or having a few LOL's.

    As for logical and critical thinking.. the schools don't seem to be teaching it anymore. WWII is a paragraph in most history books. Logic is a math course and most kids sleep through math. Hell, they can use FB or their iWhatever but ask them to find the area of a circle and all you'll get is blank stare.

    Ok.. I'm done ranting...

  29. razorfishsl

    Torvalds is just living up to his reputation of a 'bad boy' attention seeker, once they teach everyone to code it will help to propagate the argument that has been the issue for the last 50 years., that issue is the lack of formal control plus educational qualifications for programmers. ( no Microsoft certificates do not count…)

    Programming has rapidly become the bolt hole for complete tossers to throw code together and claim they are somehow special because they are 'artistic'.(hence the silly beards and hiking boots many programmers feel the need to indulge in)

    Only they can manage to grasp such highly complex abstract themes and ideas encompassed by programming a computer, the reality is completely the opposite.

    In the 80's I was charged with teaching educationally abnormal students 'basic' and they could manage to grasp the 'aptitude' just fine… yep granted it was not 'Facebook'/'google' but it was the 80's.

    We only have to look at some of the systems and code that are supporting highly critical infrastructure to see the result of this 'artistic' thinking(banking,medicine,internet….)

    Seriously there is a need for him to grow up and start doing a bit more 'charity' work.

    1. Anonymous Coward
      Anonymous Coward

      >teach everyone to code

      "coding" and "designing and implementing OS level code" are very very different things. If you understood that you might realise that your whole comment is complete and utter tripe.

      Teaching kids how to do some basic or html/js/css is not going to create a generation of programmers that can rival the top Linux/*BSD etc guys.

      It's very easy for the people pushing this shit to think that "coding" is a single subject the everyone can learn and then implement anything but implementing a web app in PHP or Ruby is a bit different from implementing OS level code or compilers.

  30. Teiwaz

    Maths & Programming

    I, for one did not 'get' maths until I started programming. I spent all of my primary (elementary, for US and other readers) and most of my secondary education being confused and panicked when confronted by math problems. I just didn't get most of it, especially algebra. I was doomed to fail.

    Then I got interested in computers, learned some BASIC, I saw the paralells with algebra, algebra started to make sense, my maths improved as I thought about the problems from a program perspective.

    Had I been born five or six years earlier I would never have had the opportunity to discover computers and programming and might have failed math and finished my education at sixteen without even a pass in maths.

    Not all children learn the same way, unfortunately, the school system can't deal with children on an individual need level, procesing them as it does in yearly 'batches'. You don't know what a child is going to have an aptitude for unless they try it out, you often can't judge just by 'related' disciplines. Computers is seen as being related to maths, and as I was poor at maths it could be deduced I would not have the mathematical or logical skills to program.

    After schooling is over, learning is only ever approached from a need or an interest or passion. I think the school system puts so much pressure on people these days that most people vow never to approach it again unless faced with the need to 'retrain'.

  31. Anonymous Coward
    Anonymous Coward

    Lateral thinking

    In my long years in the IT industry I was constantly surprised by how many "coders" could not solve a problem that required any lateral thinking. They had been taught how to code - but did not have the aptitude to analyse a new problem from many angles. These people usually had a science degree or even two - and time and time again they drew the wrong conclusion from the available evidence. What was worse they made assumptions to support their favourite guess - rather than devising a test to prove both the positive and negative outcomes of a theory.

    They were really bad when it came to understanding race conditions. Their thinking was along classic tramlines.

  32. Anonymous Coward
    Anonymous Coward

    Everyone should know the basics

    I think it's a good idea to teach people about the grammatical structure of languages, but not necessarily force then to learn Latin as a means of doing that. Similarly, being able to construct a flow diagram, structure your decision-making and comprehend how algorithms work are skills everyone should have a go at. But let's see that as the goal, not just learning a programming language to acquire those skills indirectly.

    As for "not everyone will have the aptitude": we're talking about early stages of education here. Exposure to a wide range of ideas is important. Learning that you're not good at some things is also an important lesson. Lots of people are forced to take physical, religious, literary, musical, mathematical, geographical, etc. education because it's part of becoming a rounded person. Knowledge of how computer programs work should be part of that, even if you're not going to become a programmer.

  33. Anonymous Coward
    Anonymous Coward

    We live with the results everyday

    Unfortunately we live with the bad code everyday that is sold for Billions of dollars. Microsucks is the epitome of bad code and they are laughing all the way to the bank. Get's your weekly Microsucks security patches, fixes, crutches and chaos now! Piling bad code on top of even worse code leads to the Cluster that is Windoze.

  34. a_yank_lurker

    Linus is basically correct

    Linus is correct about teaching coding for the sake of teaching coding; it is idiotic. What needs to be taught is logical, precise thinking skills. The best general area for this mathematics which programming is really a subset.

    The general user does not need to know how to code but needs to understand in very broad terms what is going on. Such as programs execute prewritten code according to inputs supplied by the user. When computers are talking to each other there protocols/standards so they can communicate. Unfortunately, these standards are not always properly implemented either because the devs goofed or, as MS has been known to do, they deliberately broke the standard in favor their own "solution". Also, they need how to determine when the problem is a PICNIC and when it is not.

  35. Sharrow

    Learn what you can't do

    I want everyone to learn to code so some people can learn that it is in fact a specialised thing that not everyone can actually do. So many people in business, and sadly now also in IT management, seem to think that 'can hack a spreadsheet' = 'can write quality, enterprise-class code' it's depressing.

    17 years ago I honestly thought this would get better as tech got more mainstream, but if anything the 'tech makes everything easy' mentality seems to be making it worse.

  36. clean_state

    Coding + math

    Let us rephrase so that everyone can agree:

    Everyone who learns mathematics, should also learn coding (I mean algorithmics more than some specific IT skills).

    I think the situation with programming skills and mathematics is exactly the same. They are both a great teaching tool to develop analytical problem-solving skills and logic. They are both hard which is a good thing because they also teach kids to make a sustained effort. And yes, some people are not good at them and they will find their life passion elsewhere which is fine.

  37. This post has been deleted by its author

  38. Anonymous Coward
    Anonymous Coward

    There are only 10 types of people who understand coding

    Those that do and those that don't...

    1. Terry 6 Silver badge
      Stop

      Re: There are only 10 types of people who understand coding

      Chestnut! Painful!

  39. This post has been deleted by its author

  40. wowfood

    Not a fan

    of the idea of teaching all kids to code. It doesn't make sense to me. School should be a preparation for things people will need. I'd much rather see them scrap this idea that all kids need to know how to code, and instead teach them something useful.

    How to fill in a cheque, pay bills, put up a shelving unit, replace a light switch / plug / put up a new lighting fixture safely (general home DIY)

    Kids are more likely to need that information than they are coding.

    Perhaps a taster course and give them the option of picking it up later on down the line, but not an entire subject dedicated to it.

  41. dajames

    There's a difference ...

    ... between teaching kids about programming and teaching kids to program.

    It's clearly stupid to try to teach all kids to be programmers -- there isn't time within the school day, many won't be interested, and many will be rubbish at it -- but teaching them about programming is another matter. It'll give them some idea as to what goes on inside the beige box, it'll give them some idea of the sorts of skills one has to have to be good as a programmer, it'll give them some idea just how difficult programming is to do right. With luck it will inspire some of them to look further and take the subject up in more depth ... and it may instill just a little bit of respect in others for those geeks who can do this hard stuff.

    I remember that when I was at school, some 40-odd years ago, there was just one chapter in the maths textbook that dealt with computing. I think we covered it in two lessons and had two pieces of homework from it: one was to write a flowchart for solving some simple problem and the other was to write a noddy program for some very simple problem in the pseudo-assembler code for a hypothertical and very simplistic computer. That was a big eye-opener -- I knew essentially nothing about computers before that -- and I'd have loved to study it in more depth, then, but in those days there was no opportunity to do so.

    Computing is so much more a part of our lives now than it was then that it's more important than ever to give at least a basic inkling of what it's about to every child, and to provide the opportunity to study it in more depth for those who want to (though, today, the internet provides that to a large extent). I certainly think that a few introductory lessons to set the scene are an essential part of anybody's schooling.

    Teaching every kid to be a programmer, though? Nah, there's more to education than that.

  42. jason 7

    I can't code.

    There I've said it. I've been around computers for 33 years of my 43 years on the planet. I can pull them apart and put them back together with my eyes closed, teach total novices to use them but coding...nope.

    I just don't get it. I've tried but it just doesn't go in. The logic of it all I cannot see.

    I remember being sent on a Lotus Script course many years ago (why? I don't know, I did argue it was a waste of time) and sat there as the tutor asked everyone to tell their coding experience. Person after person reeled off C++, cobol, pascal, Java blah blah blah. Every language you could think of.

    Then it came to my turn.

    "Erm...BBC B basic, computer studies O level 1987!"

    I could physically feel the eye rolling and teeth sucking going around the room.

    It got even worse when I asked a few minutes later -

    "Erm excuse me...what does concatenation mean?"

    So I just sat there for two days after I got totally lost 20 minutes into the course. Nice visit to Cirencester though so not all was lost.

    1. NomNomNom

      Re: I can't code.

      That's funny because I've been around computers 28 years and I can code them, but I cannot put them together. I don't understand how hardware works, I tried but it's too complicated with all the devices types and stuff. If I had to build a PC I it would probably melt in some way because I had picked the wrong power supply for example.

      1. jason 7

        Re: I can't code.

        Now if we team up would rule the world...

      2. Anonymous Coward
        Anonymous Coward

        Re: I can't code.

        I made a successful career out of trouble-shooting IT system problems which involved hardware and software interactions. I had an aptitude to understand the different levels of both, their interactions - and to produce novel solutions. Timing problems in parallel paths were my speciality - and I was puzzled when others couldn't manipulate several timing paths in their minds at the same time.

        My teenage years were spent with electronics and amateur radio as a hobby.

        I learned coding "on the job" when, by chance, I started work as a computer operator. I struggled for the first six months - when my peers were apparently knocking out programs with ease. However - subsequently they never did understand what made computer systems tick like I did. Basically I saw a deep complexity and timing problems - my peers saw a superficial tramline simplicity.

        Maths was my worst subject at "A" Level - which I failed twice.

  43. RISC OS

    What stupid shit

    of course not everyone should learn to code... has nothing to do with appritude, what use would it be?

    What's next? Every one should be able to build a bicycle? Everyone should be able to build their own house?

    They should have said everyone should learn how to cook... it's amazing that today there are people who think cooking means ready sauces or ready meals... something so fundamental like eating and most of the population don't know how to. The government should be trying to get everyone to do that instead of coding. Most people don't even have a the money for decent kitchen... and then you have well of buying flats with more kitchen space than other people's have for their whole family to live in and because they are rich never actually cook in it. Just going out to eat all the time.

    And the government wants people to learn to program... yeah those are great priorities

  44. NomNomNom

    All kids are bastards and must learn to code. I have decreed it and it shall be so. And the language they learn shall be smalltalk.

  45. Anonymous Coward
    Anonymous Coward

    The problem in UK at least is that the education sector is utterly clueless (and not just about IT). I've seen people claim to "know how to code" because they know a bit of HTML, schools that think learning how to use basic MS Excel macros is programming.

    I'm a sad geek that writes some execrable code but it works, it does stuff, it's creative and, dare I say, exciting. Getting a result, however trivial is exciting, even if that be for a complete beginner something trivial like

    10: print('hello');

    20:goto 10;

    You are in control! Now build on it.

    Some get the programming bug, some will be better suited to one of the thousands of other skills society needs. The BBC computer generation was largely self taught, all that was needed was the spark to light that fire. Early education should be about opening the eyes to the wider possibilities whilst ensuring all get the fundamentals: numeracy and literacy.

    My sprog did A level IT, he was best in class, consistent high marks for coursework and the only one not to fail the first year's course (he got an E). My conclusion was a mismatch between what the teachers were teaching and what the examiners wanted. When the whole class fails it's the school/teachers that have failed. How many teachers are sacked due to incompetence? A BBC Panorama program gave a figure of 18 in 40 years.

  46. Anonymous Coward
    Anonymous Coward

    Apritude for Programming

    Some people have it and some do not.

    Apparently I don't according to those stupid aptitude tests that companies sometimes give you. Yet, I've had a 40+ year career as a software designer/developer and at the moment I'm developing key parts of a £30M system, that will be delivered on-time and under budget.

  47. jason 7

    Getting everyone to code is just as daft...

    ... as pushing everyone to go to University to acquire unrealistic job and wage expectations.

  48. kmac499

    He's right but wrong (well a bit maybe )

    By which I mean, the politicians and education wonks see a knowledge economy coming (it's been here for years guys) so they think we can all be programmers or coders, cue the initiative ..

    People already doing the job know full well that a fomal education does not a coder make, and in some cases it is counter productive stifling natural talent..

    Plus to continue the bricklaying analogy raised in earlier posts, most people can lay bricks, most people can't do it fast enough to make a living.

    So on that score I agree with Linus,

    The second point being that for a lot of people there is no point going much past the "Hello World".program, they will never get it . I have no musical ability whatsoever. I can just about handle a triangle and I struggle with a Kazoo. So for me playing an instrument to any standard is unacheivable, but I do know a tiny bit of music theory and can appreciate how complex a simple tune can be.

    Yes learning to code can be used a device to teach logical thought, planning, problem solving etc but it is by no means unique for that role.

    An insight into programming gives an awareness of what software is and how it works, more importantly you learn how fragile software is. Which I would argue is an essential part of a good general education in a world increasingly reliant on software devices.

  49. Valerion

    Art

    At school I had to take Art up until the end of year 3 (year 9 for the current generation).

    I was worse than hopeless at it. I am unable to draw a straight line even with a ruler. I have no skill whatsoever in drawing anything at all. I recognise this fact. I have no interest in it either. And yet, I was forced, week after week, to do Art lessons and Art projects. Every term my report card would have an Art-shaped blot on it where the teacher would have to mention I made no effort and was basically just utterly shit at it. Eventually a mutual, unsaid agreement was reached where I would do something rubbish and he'd just pretty much ignore it. Towards the end the report cards stopped being so bad actually as he knew there was just no point in making a fuss about it.

    Forcing me to do art - with a complete lack of aptitude for it - was a waste of everyone's time. Teaching coding like this is exactly the same. It won't be valuable for those who don't "get it" in later life any more than Art was for me.

    1. Anonymous Coward
      Anonymous Coward

      Re: Art

      "It won't be valuable for those who don't "get it"". True, but this was really more about giving an opportunity to those who might "get it".

  50. Anonymous Coward
    Anonymous Coward

    Comment on the Bootnote

    Quite an outpouring of comments (and some actually worth reading) but his comment on patents is amusing. Surf to http://patft.uspto.gov/netahtml/PTO/search-adv.htm and enter the term in/torvalds .

  51. tekHedd

    And this is controversial?

    I can't believe this is remotely interesting. My only reaction is "Duh."

    Everybody should learn to play a musical instrument, but not everybody should be expected to become good at it. :)

  52. Anonymous Coward
    Anonymous Coward

    Everyone should try it and those that do well will carry on, those that don't will at least know something about coding.

    Just like doing school sports tends to identify those who could be professional sports stars.

  53. Bladeforce

    Top, TOP....

    ..man. He is absolutely right not everybody should code and nowhere in computer history has everyone ever coded. As for his rant on patents...spot on mate absolutely spot on.

    In the same breath there are many, many people who should not be using computers in general today but hey the Anti Virus companies wont like me saying that! Seems we are living in a world where computers are used too much by people that just have no knowledge or the brains to use them, we should all thank Microsoft for that I guess

  54. Rick Brasche

    Thank you for saying it.

    Thank you for coming out and saying it. Just as I can't play NBA level basketball, nor bear children, some people are NOT mentally structured to code.

    Yes, Virginia - some people are better at some things than others. And some people are incapable of doing certain things. There ARE differences and talents in individuals, and not everyone gets every trophy.

    Some of us square pegs are gonna seal up the square holes better. throwing money at some skillsets just to be politically correct ain't gonna change that.

    Spend your government into the ground all you want, but you're not gonna produce a nation of Hemingways, nor make most people worthy of even typing an El Reg headline.

  55. MarkSitkowski

    I think most of the comments relating to coding teaching people to think, should be prefaced with 'in theory'.

    A few years ago, the universities went through a phase of packing students into programming courses, in the hope of turning out programmers. For my sins, I had to work with these guys, and it quickly became apparent that, although they had mastered (most of) the syntax of the language, they didn't have an original thought in their heads. The nett result of this, was that they were coders, but never programmers.

    I submit that, instead of teaching programming languages, the emphasis should be on problem-solving. Then, perhaps those who graduate that course, could be taught to write code.

    Incidentally, I thought Latin was one of the most useful languages I learned at school. It helped me learn Spanish and Italian in very little time, and to translate family mottoes, like 'Peni tento, non penitentio' (Sir Francis Dashwood)

  56. Anonymous Coward
    Anonymous Coward

    How Linus loves patents

    Here is Linus counting the number of ways he loves the patent system:

    http://regmedia.co.uk/2012/06/18/torvalds_bird.jpg

    Mark

  57. Brian Allan 1

    Learn to Code... Ha!!

    Computer programming is an art form! Saying everyone should learn to program is like saying everyone should learn to paint, or write a novel or learn to play the guitar. Sorry, it just ain't going to happen!!

This topic is closed for new posts.

Other stories you might like