Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Education Programming

Why Teach Programming With BASIC? 709

chromatic writes "To answer the perennial question 'How can we teach kids how to program?', we created a web-based programming environment. As we began to write lessons and examples, we surprised ourselves. Modern languages may be powerful and useful for writing real programs, but BASIC and Logo are great languages for demonstrating the joy of programming."
This discussion has been archived. No new comments can be posted.

Why Teach Programming With BASIC?

Comments Filter:
  • Python vs. BASIC (Score:4, Informative)

    by Anonymous Coward on Tuesday December 28, 2010 @09:12PM (#34693758)

    I learned to program pretty much with Applesoft BASIC and a Franklin Ace 1000 manual [ironicsans.com]

    Now I'm teaching my mom (!) to program in Python using the Hello World [amazon.com] book.

    Honestly, I wish Python were around when I was learning. Trying to squeeze a new instruction between line 11 and line 12 kinda sucked sometimes. (Then again, I wish a lot of things were around...)

  • Scratch (Score:4, Informative)

    by gmuslera ( 3436 ) on Tuesday December 28, 2010 @10:16PM (#34694300) Homepage Journal
    When i first saw Scratch [mit.edu], included with the XO, got stunned on how powerful it was, and how visual and intuitivel could be for the children. Not sure if there is a web based implementation, but is open, available for all platforms, and maybe more important, already included in a computer meant for children (not sure how much it count in the rest of the world, but in my country almost all school chidren have it).
  • pascal (Score:4, Informative)

    by smash ( 1351 ) on Tuesday December 28, 2010 @10:25PM (#34694374) Homepage Journal

    I've got a big soft spot for pascal. I started wtih basic, and then LOGO (home computer had basic, then logo in school as a kid), but Pascal was the first useful language that actually taught me about data types, functions, and later, object oriented programming (TPv6).

    Its easy to read, not prone to bugs like using = when you mean == (in C), and fast enough to get useful stuff done.

    Problem with programming these days is that to get anything useful done you're buried under a hundred layers of toolkits and abstraction from what is actually going on.

    Give kids an old PC with a copy of DOS, turbo pascal and some basic instructions on VGA mode 0x13 and you can write fun stuff pretty quickly.

  • by smash ( 1351 ) on Tuesday December 28, 2010 @10:33PM (#34694428) Homepage Journal
    I managed it. I agree that there's a hell of a lot of brain damage in basic though. Luckily i moved on before i got too far beyond the simple stuff in basic.
  • Re:Use C# (Score:3, Informative)

    by togofspookware ( 464119 ) on Tuesday December 28, 2010 @10:44PM (#34694500) Homepage

    I thought he was making fun of reporters when they try to talk about computers.

  • Re:Use C# (Score:4, Informative)

    by BeanThere ( 28381 ) on Wednesday December 29, 2010 @07:49AM (#34697032)

    And you avoid learning GOTO. I don't care how easy it makes initial learning, it's building bad habits that you're going to spend years killing.

    This is a common criticism - that you will spend 'years' killing the 'bad habits' you learned from using GOTO. I don't buy it. When I learned programming (on BASIC, back then, as a kid, that was 'the' language to learn on), and I progressed from GOTO's to subroutines, it didn't take me "years" to undo the "bad habit". On the contrary, the moment that I understood I had a better tool for so many jobs, I immediately started using that instead. Why would a programmer keep using a tool if it's much worse for the job? It just doesn't really happen. As soon as your programs get longer than a few hundred lines, or you want to start re-using code, you need something better than GOTO anyway ... it's really only useful on a very small scale, it is naturally self-limiting in use.

    Also, I think GOTO's have one advantage for a learning language aimed at small children: It's easier for a child to learn and understand, as a building block / stepping stone toward more complex things. For some reason, I even remember this learning process (using basic, that was popular then) when I was a small child, on our 48K ZX Spectrum ... GOTO's were easy and obvious, but I recall seeing these weird GOSUB things that seemed more abstract somehow. But, once they were explained to me, it wasn't that bad.

    Finally, any good programmer needs to do significant amounts of assembler at some point in his life, and you're gonna be doing lots of JMP's there anyway, and yet nobody considers that 'learning bad habits', because most people agree that learning assembler makes you a better high-level coder too, and there are reasons for that.

    The criticisms against GOTO are largely exaggerated.

    I have spent probably years cleaning up and maintaining other peoples really bad code. And yet, of all the horrors in the code I had to maintain, I don't recall once ever encountering a "GOTO problem" in the real world, where any programmer had made a big mess because they had learned GOTO's. Never. I've never seen it, and I wonder if anyone here has actually seen this mythical disaster that learning GOTO's supposedly leads to. There are many other bad habits that cause FAR more damage in real-world programming, and yet nobody even cares to teach those in formal Comp Sci or Engineering programs.

Nothing is finished until the paperwork is done.

Working...