back to article AI can spew code, but kids should still suffer like we did, says Raspberry Pi

Raspberry Pi, a company started with the aim of democratizing computing and recreating the programming frenzy of the 1980s and 1990s, is warning that "vibe coding" cannot replace the skills picked up during the process of learning to code. In a position paper titled "Why kids still need to learn to code in the age of AI," the …

  1. Yet Another Anonymous coward Silver badge

    Learning to code

    The point of "learning to code" in school, and the point of the Pi isn't to produce programmers it's to produce citizens (and conceivably cabinet ministers) who understand what a computer is, how it works and what it can and importantly cannot do.

    1. Will Godfrey Silver badge
      Boffin

      Re: Learning to code

      In brief, it teaches kids to think not just accept unquestioningly.

      .

      1. LybsterRoy Silver badge

        Re: Learning to code

        You beat me to it - we need politicians who can think things through, not judt mskr press releases

  2. JessicaRabbit

    It's going to be a long time (if it happens at all) before AI is truly capable of understanding what the meatbag writing the prompts actually wants and be able to solve novel problems it can't just crib from code it's seen before. AI still has no understanding of anything it does, how it works etc, that still needs a human.

    1. BartyFartsLast Silver badge

      Which rather neatly proves it's not actually I at all

    2. alain williams Silver badge

      You & I understand that. What worries me is that managers will not and force the use of AI generated code "better productivity innit".

      All nice & good until it is not.

      1. Yet Another Anonymous coward Silver badge

        It's a tool that you have to learn to use.

        Getting copilot to write the outline framework or to generate boiler plate for a typical operation is better than searching stackoverflow coding it from memory

        You have to learn how to phrase the requests, just like you had to learn the correct magic incantations to the C++ compiler

        1. NewModelArmy

          I don't code a lot, but i found that talking to people on a forum helped understand how to do it, in context,.

          I have not used AI, but just getting the answer is not a learning experience, and will not show the underlying concept.

          As others have said, you will not know if the AI generated code is right or not.

          1. Handlebars

            If you try using LLMs you'll find 'just getting the answer' is a rare event.

        2. The Indomitable Gall

          And that only proves that boilerplate is just moronic.

          I never write

          function main () :

          #... blahblah

          if (main):

          main()

          because it's effing wasting my time.

          Plaintext code is an inherent waste of time. The line that you "need to understand" ignores the fact people don't actually understand the boilerplate -- they just copy and paste it.

        3. HMcG

          Copilot can indeed be useful for boilerplate code, but so is a code snippet library utility, and a snippet library has the benefit of being easily updated to new language features, and less likely to generate random mistakes.

          The most useful thing I have found AI to help with is in understanding a language I am not familiar with. That’s something that doesn’t require the answer to be completely correct, as i can figure out what it means even if there are minor mistakes. For situations where I have found a code solution in another less familiar language and need to translate it, it’s genuinely useful.

          The biggest hinderance to AI adoption is the vastly overblown promises of AI companies that are billions in the red and are desperate to start making profit, of at least meaningful growth. Negative reaction to the actual limits of AI after exaggerated claims inevitably leads to disappointment and rejection.

          Unfortunately I think a crash is now the only thing that will reset that situation to reasonable expectations and put us in a situation where widespread acceptance of AI adoption as useful but limited tool can happen.

    3. Anonymous Coward
      Anonymous Coward

      My esteemed employer has migrated to Github, and Copilot has made itself known so I tried it and asked it to find all the commits to a company repo which had something to do with a feature I wanted to take a look at. It said it couldn't give me an answer because there was some problem talking to the Github API and could I rephrase my question.

      So having seen the level of help that Copilot offers, I went to my profile and disabled that as much of that as I could.

    4. MachDiamond Silver badge

      "AI still has no understanding of anything it does, how it works etc, that still needs a human."

      Plenty of software, such as accounting programs, need minor updates from time to time to adhere to changing laws, tax reporting requirements, etc. Does one go back to an AI and completely re-code the application? Something such as a tax table changes often enough that it would be considered from the outset as something that can receive updates, so that's a known issue, but government likes to spring nonsensical crap on companies often enough. I've seen applications with nomenclature that applies to a particular thing, but with a renaming of fields and some slight modifications be useful someplace else. I spent some time at trade show talking with a company that built a system that kept track of something for schools and thought how well it would work for the tool crib at a large company. Perhaps I should have only hinted and angled for a consulting contract, but then I'd have to do real work and write stinkin' reports. Would an AI get the connection?

  3. Gene Cash Silver badge

    They are learning

    They'll copy the AI code and stick it in their Pi... and guess what?

    They'll learn that AI writes crap that doesn't work. And now they need to fix it.

    It's perfect preparation for working with Indian tech centers on the job in the future.

    1. ecofeco Silver badge

      Re: They are learning

      Or any pointy hair boss for that matter.

    2. elsergiovolador Silver badge

      Re: They are learning

      Actually Indian?

  4. b0llchit Silver badge
    Boffin

    The AI coding fallacy

    Even with "vibe" coding you need to describe the problem you are trying to solve meticulously.

    To solve a programming problem with a computer, you must specify the problem and all its conditions. This description is the specification and needs to be complete and correct. Only then you have a program that will function correctly. But when you have a complete and correct specification, then the ONLY remaining step required is compilation into an executable format. In essence, the specification is the program.

    For an AI to create that program, you need to create a prompt that is the complete and correct specification. Therefore, the AI is nothing more than a compiler. The actual work has been done writing that prompt.

    The AI is completely superfluous. You have already written the program when you wrote the promptspecification.

    1. Yet Another Anonymous coward Silver badge

      Re: The AI coding fallacy

      >You have already written it when you wrote the promptspecification.

      It's still more productive, used properly, than just writing the code - just think of it as a higher-higher level langauge

      1. b0llchit Silver badge
        Boffin

        Re: The AI coding fallacy

        I think you need to look and analyse what "complete and correct" means.

        Using a higher level language still does not require AI. The language is not (and never) the issue. It is the specification that is the issue in programming.

      2. Theodore.S
        Thumb Down

        Re: The AI coding fallacy

        > It's still more productive, used properly, than just writing the code - just think of it as a higher-higher level langauge

        A higher level language with a non-deterministic compiler.

        1. Ken Hagan Gold badge

          Re: The AI coding fallacy

          And no formal language definition.

          1. This is my handle
            Meh

            Re: The AI coding fallacy

            Aye there's the rub. "Natural Language" is quite vague, and coding is annoyingly specific? I've not yet done much with CoPilot, etc. yet but I imagine you'd get all sorts of "What do you mean by 'it'?" kinds of errors, no?

        2. b0llchit Silver badge
          Holmes

          Re: The AI coding fallacy

          AI's coding is the equivalent of writing your code in Java2k.

          1. DrGoon

            Re: The AI coding fallacy

            AI coding is more akin to an equivalent of writing your code using fragmented summaries of 'A La Recherche du Temps Perdu' by Marcel Proust.

            1. Ken Shabby Silver badge
              Windows

              Re: The AI coding fallacy

              +1 for the Python reference, my favourite finalist is Bagot, who says his favourite hobbies are strangling animals, golf and masturbating.

          2. David 132 Silver badge
            Happy

            Re: The AI coding fallacy

            ...or INTERCAL. Don't say "please" enough to the compiler - or say it too much - and find that you don't get acceptable results.

    2. werdsmith Silver badge

      Re: The AI coding fallacy

      No you don't need to write a precise specification. A specification, as in a URS or even a functional spec is not pseudocode, nor is is UML or similar. There are general best ways to do things. AI knows them, and codes them.

      The programmer needs to understand how to use this output in the bigger system, how to hook up all the ins and outs etc. A non programmer will struggle with that. AI is very good at helping people along by supplying pre-built chunks of code. I know this, because I do it every day and no amount of whinging on here (or pointless downvotes) changes the truth.

      Unpopular thing to say amongst this groupthink site, but tough shit. Suck it up.

      1. Boris the Cockroach Silver badge
        Unhappy

        Re: The AI coding fallacy

        Quote

        "AI is very good at helping people along by supplying pre-built chunks of code."

        In my line of programming , thats called "A library" or "A macro" and its hardly needs AI to generate the code needed to run the robot loaders. the rest of the code is generated by the programmers interacting with the CAD/CAM system.

        And we've tried AI for our stuff.... the word coming back is NOPE!. the code to be honest does look ok to a beginner or to a less experienced hand and may just work. sadly in high speed manufacturing the word 'may' can leave a trail of destruction or worse.... injury

        1. werdsmith Silver badge

          Re: The AI coding fallacy

          I'm sure you enjoy your line of programming Boris.

      2. b0llchit Silver badge
        Facepalm

        Re: The AI coding fallacy

        Creating a full UML description of your program-to-be can be put into a UML compiler, which will generate an executable for you.

        (I guess you haven't read the full UML specification... it is a very high level programming language when used correctly)

        1. werdsmith Silver badge

          Re: The AI coding fallacy

          A full UML description isn't a URS or functional spec. I guess you haven't read my comment.

          I did suffer a UML unit in my studies. I felt it was more effort to do the UML step than use real code.

          1. Yet Another Anonymous coward Silver badge

            Re: The AI coding fallacy

            What you do is write something in Python/Perl/Etc to generate the UML

          2. Roland6 Silver badge

            Re: The AI coding fallacy

            Given your previous comments, to me that suggests you’re more of a keyboard monkey/code junky than a software engineer.

            UML and other tools have a role, more so in largescale projects involving many teams.

            1. happyuk

              Re: The AI coding fallacy

              Labeling people who prefer modern tools and pragmatism as 'keyboard monkeys' is a great way to make yourself look like a pompous ass. Exactly the kind of outdated elitism that holds teams back.

              To return to a serious software engineering discussion. I’ve always found UML to be more ceremony than substance in most projects I’ve worked on.

              AI makes me faster, more consistent, more effective and allow me to focus on solving actual problems.

              Drawing diagrams that no one maintains and date the moment you write them doesn't and never will.

              Unpalatable fact, (in anticipation of a deluge of downvotes): companies who cling to stuffy, theoretical processes as a measure of competence are going to be left behind. Period.

              The industry is moving on whether you like it or not.

              Those who can’t adapt are welcome to keep perfecting their diagrams while the rest of us ship working software.

      3. Joe W Silver badge

        Re: The AI coding fallacy

        I work for a company that writing pretty critical code. No, not lives-at-stake-level but livelihoods-at-stake-level. My mind boggles at your statement.

        Stop telling me (and the world in general) "I don't need to write a precise specification". This is just plain wrong - and dangerous. Same thing with testing edge cases or actually documenting your code. And unless your code has almost zero impact, these three things, however much we all like to avoid them[1], have to be done in a professional environment.

        Unpopular thing to tell people, but tough shit. Suck it up.

        [1] Yeah, I have been guilty as charged on all three points in the past. We all have. Why else would all those memes exist with "my code is self documenting" et cetera?

        1. Anonymous Coward
          Anonymous Coward

          Re: The AI coding fallacy

          Part of my job is writing code for pharmaceuticals production. So potentially lives-at-stake level if done wrong. A precise specification, continually maintained with any changes, is an absolute requirement. So is testing edge cases and documenting the code. (Not "just" edge cases; we are required to test both branches of every IF statement!) All of this is for good reason - to make sure we have code that does exactly what we need it to do, so the product is good quality, so the patients get their lifesaving medicine.

          Having an AI write code in this environment? If that's a joke, it's not a funny one.

      4. Roland6 Silver badge

        Re: The AI coding fallacy

        >” There are general best ways to do things. AI knows them, and codes them.

        The programmer needs to understand how to use this output in the bigger system, how to hook up all the ins and outs etc.”

        Exactly the same as using boilerplate, library and model code.

        Ie. Having assessed and grabbed something as being relevant and potentially useful, a good programmer will adapt and hone it into the flow of logic they are developing.

        Hence the value of AI in software development isn’t as great as some would like us to believe.

    3. MachDiamond Silver badge

      Re: The AI coding fallacy

      "Therefore, the AI is nothing more than a compiler."

      The problem is that when it screws up, you don't know what the input was that actually created the code. It would be bad to have invoices sent that say "GFY" on the bottom instead of "Thank you for your order", so how would you find out why it's doing that?

  5. Ben Burch

    When General AI happens will we continue to trust code produced by AI?

    Once you have general AI, you have an entity capable on introspection and forming plans.

    If nobody knows how to code we will be defenseless.

    And we will need Robopsychologists.

    1. John Brown (no body) Silver badge
      Coat

      Paging Dr Calvin :-)

  6. Anonymous Coward
    Anonymous Coward

    Reminder earlier today of why you still need to understand the code

    Even when instructed not to, the LLMs would use a code pattern that posed a security risk.

    https://www.theregister.com/2025/06/05/llm_kept_persistent_path_traversal_bug_alive/

  7. Raphael

    Why Johnny Can't Code

    A Long Long Time Ago, 2006, the ever-brilliant David Brin (one of my favourite authors) wrote an article called "Why Johnny Can't Code"

    It seems things are just going to get worse and Johnny will never code.

    https://www.salon.com/2006/09/14/basic_2/

    For three years -- ever since my son Ben was in fifth grade -- he and I have engaged in a quixotic but determined quest: We've searched for a simple and straightforward way to get the introductory programming language BASIC to run on either my Mac or my PC.

    Why on Earth would we want to do that, in an era of glossy animation-rendering engines, game-design ogres and sophisticated avatar worlds? Because if you want to give young students a grounding in how computers actually work, there's still nothing better than a little experience at line-by-line programming.

    Only, quietly and without fanfare, or even any comment or notice by software pundits, we have drifted into a situation where almost none of the millions of personal computers in America offers a line-programming language simple enough for kids to pick up fast. Not even the one that was a software lingua franca on nearly all machines, only a decade or so ago. And that is not only a problem for Ben and me; it is a problem for our nation and civilization.

    1. Richard 12 Silver badge

      Re: Why Johnny Can't Code

      TBH, I think Python fits pretty well in the BASIC slot, and that's trivially available on every platform.

      It's plenty powerful enough for the kinds of things I did with BASIC, enough sharp edges to make mistakes with, fast enough, and has sufficient bindings to make fun things before potentially moving up to something more serious.

      1. Roland6 Silver badge

        Re: Why Johnny Can't Code

        From my involvement with the initial teaching of children to programme, I would regard Python as a second language.

        Those first steps require the simplicity of Basic command line interaction. However,, for those who “click”, a rapid switch to Python is both possible and beneficial to the child’s development. Although, there is the viewpoint, expressed in the 1980s that we shouldn’t be exposing children to procedural programming languages as their first language and instead should be teaching them declarative languages such as Prolog.

    2. This is my handle
      WTF?

      Re: Why Johnny Can't Code

      Thanks for the article. I was unfamiliar with the article or it's author so thanks for both. I read it and I think the author is on the verge of suffering an overdose of nostalgia. I remember BASIC. I had to write some in Uni and even got paid to write some on the side: Can't say I ever liked it. C (which is what I ended up re-writing my got-paid-for-this BASIC code in a year later when I couldn't make any sense of it) provides at least as low-level view into "how the machine thinks" as C-64 BASIC, without having to use BASIC as the "shell" to interface with your O/S (something it's even worse for than application programming IMHO). The author himself admits that are many variants of BASIC he could download then, (and even now) if he really thought BASIC was the cat's meow, but that they were all too high-level. Really? He admits that his son was learning C++ but doesn't really say why that didn't accomplish the same purpose. Finally, he mentions some of the languages designed specifically to teach kids to code (I think he used Logo as an example but there was also Turtle Graphics and I think Scratch was already a thing...) but that they were too high level for his purposes: that point I concede. I totally agree with the underlying premise: someone who thinks the way to sort data is to use COBOL's "SORT" verb, or SQL's "ORDER BY" is missing a lot, but I have to admit that it's been a pretty long time since I had to write my own sort routines from scratch (it was in Perl as I recall -- that's how long ago!), but don't his specific examples don't resonate with me (personally) at all.

  8. Flocke Kroes Silver badge

    Multiverse

    "Even in a world where AI can generate code, we will need skilled human programmers who can think critically, solve problems, and make ethical decisions."

    First up, we are not in a world where AI can generate reliable code and a search of the multiverse would turn up rainbow unicorns far more often than a reliable AI.

    Next: not just skilled human programmers. A bump to the proportion of humans capable of critical think would be wonderful.

    Third: Critical thinking is not even on the checklist when looking for when it is sensible to unleash an LLM on the world.

    1. Anonymous Coward
      Anonymous Coward

      Re: Multiverse

      A corollary is learning to hand write legibly. Yes we can type and dictate, however, neither are particularly useful at the early age where initial language development, hand eye coordination etc. are happening.

  9. Joe W Silver badge

    That last sentence is valid not only for programming!

    "The friction introduced in the conversion of human reasoning into a rigid expression of logic is where the learning and development of computational thinking occurs."

    We all hate legalese, or at least most of us do. Consider this just another way to cast human reasoning into a rigid expression of logic (when done correctly). I actually know a guy who did exactly that as a thesis for his law degree, mapping legal language to mathematic logical expressions to build a "reasoning machine". Lawyers have also obviously been doing obfuscated code longer than we did.

  10. Blackjack Silver badge

    Of course it cannot, AI made code is crap in a crapbasket.

  11. MOH

    Can we stop using marketing terms invented by AI CEOs in serious tech journalism?

    Please stop with the "hallucinations" and "vibe coding".

    It just helps the garbage gain traction and bury the utter nonsense underpinning it all. It's like Blockchain 2.0 but with even more marketing crap

  12. trevorde Silver badge

    Luxury!

    When I were a lad, we had to make our own 'puter chippies from coal dust from 't pit and write own compiler by light from candle. 'Vibe coding' for us were when train shook kitchen table when we were writing code wi' t' family shared pencil.

  13. Rich 2 Silver badge

    Breaking the food chain

    “So why bother with learning the skills necessary to program a computer?”

    I have read this type of thing so many times. Why learn assembler? Nobody uses it any more. Why learn C? I can write a couple of lines of Python that will do the job.

    This thinking is like ignoring half the food chain. To get a C compiler, you need an assembler. To get a Python interpreter, you need C (or something similar). Ignoring and throwing away the lower levels of this chain is false thinking. We will ALWAYS need assembler (at least until there is a very major change in how most computers work). We will still need C and similar “low level” languages for many years to come. It is the very top level stuff (like Python or PHP or Perl) that are transitory and more likely to be discarded.

    Assembly is forever (it will certainly outline me) and if you have any interest in software at all you really ought to learn at least one assembler. That way, you will start to understand why your 2 line Python program isn’t magic; that it does in fact make use of thousands of lines of C which in turn relies on many more assembler instructions under the bonnet.

    1. jml9904

      Re: Breaking the food chain

      AMEN! You can drive without understanding how brakes work, but when you get to that icy patch, you may reconsider that approach. Similarly, understanding the underlying code and architecture-- especially if you're using a debugger -- is vital to good use of even higher-level languages like Python.

  14. CountCadaver Silver badge

    all tailors should learn to weave cloth by hand

    Sounds like a luddite argument, flailing against something that might undermine their income stream.....

    Why shouldn't programming languages be natural language based? Why should they be often some incomprehensible collection of symbols etc that only make sense after extended periods of study and still often result in people struggling agaibst the language.

    I don't recall in star trek etc scenes of people bashing in code by hand, instead it's describe to the computer what you want and it spits it out

    1. Rich 2 Silver badge

      Re: all tailors should learn to weave cloth by hand

      It’s not a Luddite argument at all. The computers we use today are fundamentally very stupid at heart. They need absolute, precise instructions to do anything vaguely useful. As of now, the best way (and I’m not saying this is desirable or not) is to use a classical text based computer language.

      While it would be wonderful if we all had Star Trek levels of computer sophistication, we don’t. Obviously there are many people trying to change that; the current crop of ill conceived “AI” nonsense being one. But it’s not there yet, and I’m afraid complaining “why doesn’t it work like this?” Isn’t going to help

      So, until such a Navana is found (and feel free to research and develop it if you like) you’ll have to make do with a keyboard, a display, and a brain

      1. martinusher Silver badge

        Re: all tailors should learn to weave cloth by hand

        See:-

        https://youtu.be/yPfyMJYWTlY?si=FR0WVriNH3b3RxkA

    2. martinusher Silver badge

      Re: all tailors should learn to weave cloth by hand

      Although stating the problem to be solved and the goals for the solution should be done in a natural langue like English this language is far too imprecise to use instruct a computer. Computers are well meaning but terminally stupid, as the old saying goes "It never does what I want it to do, only what I tell it".

      > don't recall in star trek etc scenes of people bashing in code by hand, instead it's describe to the computer what you want and it spits it out

      That's the magic of screenwriting. Implied in the script is an accumulation of cultural experience that defines the overall course of the plot (the "six stories") and the efforts of set designers and special effects that make sure that the plot unfolds per the script. Even the movie "Galaxy Quest" that attempted to address what would happen if some advanced -- but naive -- civilization took Star Trek as literally true had to resort to dubious, unlikely (if rather fun) scenarios to get plot closure.

      1. druck Silver badge

        Re: all tailors should learn to weave cloth by hand

        This says everything about why you cant use natural languages for programming

        https://www.youtube.com/watch?v=cDA3_5982h8

    3. Roland6 Silver badge

      Re: all tailors should learn to weave cloth by hand

      >” Why shouldn't programming languages be natural language based? “

      They are, just that to get the machine to do exactly what you want, requires precision, which distorts natural language into a more formalised structure. You see this in policy and procedure manuals. The “collection of symbols” can largely be attributed to programmers not wishing to be verbose and minimising keying.

      Hence why COBOL programmes being more verbose tend to be more readable than C and Rust.

      But this is missing the point, you aren’t actually programming the AI, you are giving it an instruction to produce output that can be fed into a compiler, ie. It is translating your natural language instructions into a more formalised structure, namely a programming language.

      A big assumption with AI is languages. I expect there to be a large resource for C, but other languages? So I doubt (general) AI will be of much use writing Algol68 or Ada programmes, even Rust programmes will without careful screening be contaminated by C or C++.

  15. Fido

    I don't see mentioned in the comments or article the fact that the company which makes Raspberry Pi computers is separate and independent from the Raspberry Pi Foundation being reported on. This may be obvious to many people, but I mention it anyway.

    From my point of view the job market for programmers and software engineers has historically expanded since the 60's due to the everywhere increasing use of computers. Then suddenly AI makes writing software so efficient that even though the everywhere use computers still expands, the job market for programmers and software engineers contracts.

    The question boils down to how fast the need for new software continues to increase versus how fast developer productivity increases due to AI. From my point of view, productivity increases will be so great the job market is likely to contact.

    People make analogies about how the job market for skilled machinists didn't grow with the automobile market due to assembly-line productivity increases.

POST COMMENT House rules

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

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like