Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×

David Brin Laments Absence of Programming For Kids 355

An anonymous reader writes "David Brin is an award-winning science fiction writer who has often written on social issues such as privacy and creativity. Now, he's written an essay for Salon.com titled 'Why Johnny Can't Code'. He discusses his son's years-long effort to find a way to use his math book's BASIC programming examples. All they were ever able to find, however, were either children's versions (on the Mac) or 'advanced' versions which attempted to support modern programming requirements (and which required constant review of the user's manual). Ultimately, they ended-up buying an old Commodore 64 on Ebay — Yes, for those of you under the age of 30, 'personal' computers like the Apple II and C64 used to all include BASIC in their ROMs."
This discussion has been archived. No new comments can be posted.

David Brin Laments Absence of Programming For Kids

Comments Filter:
  • There are options (Score:3, Interesting)

    by mkosmo ( 768069 ) * <mkosmo&gmail,com> on Friday September 15, 2006 @03:34PM (#16115969) Homepage
    How about QBasic on Win95, MS DOS, etc? My first BASIC programming experiences were on one of those kiddy VTech laptops, then moved to QBasic on Win95. Worked great... simple BASIC, didn't require any special knowledge. In fact, I quite enjoyed it.
    • Re:There are options (Score:4, Interesting)

      by tmasssey ( 546878 ) on Friday September 15, 2006 @03:38PM (#16116012) Homepage Journal
      Or a C-64 emulator, or GW-BASIC, or VisualBasic or any of a *bunch* of free or open source BASIC interpreters [slashdot.org]...

      This sounds very much made up to write an article.

      Having said that, I have tried to find kid's programming books for my 8-year-old daughter. I started learning computer programming at 8 using my Commodore VIC-20 manual. It had a little cartoon computer character that led you through BASIC programming from the typical 10 PRINT "TIM" 20 GOTO 10 all the way to "advanced" games. As a kid, I absolutely loved it.

      However, I have been able to find *nothing* like that for her... Any thoughts out there?

    • by xxxJonBoyxxx ( 565205 ) on Friday September 15, 2006 @03:42PM (#16116053)
      Welcome back to Slashdot - we missed you yesterday... http://developers.slashdot.org/article.pl?sid=06/0 9/14/0320238 [slashdot.org]
    • by timeOday ( 582209 ) on Friday September 15, 2006 @03:53PM (#16116182)
      Why basic at all? It's a jumble. How about something clean and elegant? That's right, scheme or lisp.

      Actually I really learned to program on an HP calculator. I had previously done some C, but the simple metaphor of the stack was alluring.

      • Re:There are options (Score:2, Informative)

        by mkosmo ( 768069 ) * <mkosmo&gmail,com> on Friday September 15, 2006 @03:56PM (#16116209) Homepage
        I only say that because he explicitly stated the use of BASIC in his son's math book. You really cant use a C compiler to run a few lines of BASIC :)
      • by cp.tar ( 871488 ) <cp.tar.bz2@gmail.com> on Friday September 15, 2006 @04:04PM (#16116281) Journal
        Lisp, Scheme, Python, Perl... anything that'll teach the kid to think and to understand.
      • by tinkerghost ( 944862 ) on Friday September 15, 2006 @04:21PM (#16116441) Homepage
        RTFA - BASIC because it's what was in the textbooks at school.
        There are tons of other languages that could have been used, but each one would have required translating the code in the textbook.
        The artical wasn't about the lack of BASIC per se, but about the lack of support for learning the roots of the higher languages. Everyone says - oh, don't play with that crap - go for the higher languages - Object oriented blah blah blah. The point was that that's not how it should be done. Yeah you can learn the high order & then work your way down to assembly, but it effects how you think. When I write my own code, I write from a minimalist stance (no I don't write my own tcp/ip stacks etc), it might not be as portable or modifiable as code writen using standard libraries and structured as modules with blind objects. On the other hand, it's usualy clean, elegant, and faster than doing it with libraries.
        To put it in perspective, I have worked with people who think that cobbling together widgets is real programming & can't understand how to do anything more than the simplest coding to make them work nice together. I honestly think trying to get them to build a double linked list might give them a heartattack. That's what David's artical was about. Programming, to him, isn't about objects & high level processes, it's about understanding the processes of logic and math that transform blocks of code into something entirely different - whether the magic of a moving ball on a screen, or seeing the difference in performance for a shuttle short vs an indexed sort vs tree sort - and then understanding why each creates the results it does.
        But hey, I'm just a few years younger than him, so I'm still part of that old school approach - what do we know?
        • by DragonWriter ( 970822 ) on Friday September 15, 2006 @05:49PM (#16117140)
          RTFA - BASIC because it's what was in the textbooks at school.
          Isn't, then, the problem with the school purchasing textbooks that were designed for the 1980s?
          The artical wasn't about the lack of BASIC per se, but about the lack of support for learning the roots of the higher languages.
          I'm not sure what you mean by "roots" and "higher". I don't need to learn BASIC to understand the roots of, say, C++. I don't see how learning a modern derivative of Logo (which, along with BASIC, was a common teaching language in the 1980s) is any less conducive to learning the roots of other languages than learning BASIC.
          When I write my own code, I write from a minimalist stance (no I don't write my own tcp/ip stacks etc), it might not be as portable or modifiable as code writen using standard libraries and structured as modules with blind objects. On the other hand, it's usualy clean, elegant, and faster than doing it with libraries.
          This is all well and good, but what does this have to do with whether you started out programming with BASIC, StarLogo, KPL, or anything else? If you start with any programming language and are the kind of person that's interested in learning, you'll branch out, and learn languages with different modules just to be able to do different things. At some point you'll quite likely end up learning some OO languages, some functional languages, some assembly language, and some quirky things that don't categorize all that well, among others.
          To put it in perspective, I have worked with people who think that cobbling together widgets is real programming & can't understand how to do anything more than the simplest coding to make them work nice together.
          Yeah. And there are lots of people like that. And, you know what, many of them probably learned BASIC at one point.
          Programming, to him, isn't about objects & high level processes, it's about understanding the processes of logic and math that transform blocks of code into something entirely different - whether the magic of a moving ball on a screen, or seeing the difference in performance for a shuttle short vs an indexed sort vs tree sort - and then understanding why each creates the results it does.
          Sure, that's what programming is about. But learning that doesn't require learning BASIC as your first language, nor is it, IMO, particularly aided by doing so. OTOH, it is probably aided by learning some programming language young, and having a good enough experience that you seek to learn how to do more and keep doing that over a period of several years.
    • First Big Tits Dupe (Score:5, Interesting)

      by goombah99 ( 560566 ) on Friday September 15, 2006 @03:55PM (#16116194)
      perl -we 'print "Big Tits" until 1==0' Is the epitomy of every first program.

      Perl seems to fit the bill, since it can be as simple as you want and doesn't even have the type issues Basic has. Perl is happy to be procedural. When you are ready to step up to objectsperl is ready.

      Object oriented perl is a wonderful way to learn objects. Wait don't scream. I said "learn". I'd been object oriented programming for years in Java and other languages. But I truly did not understand how all the pieces worked till I wrote perl objects. In perl it's like one of those "visible man" models. You learn how inheritance works. You learn how binding of an instance to a class works. You understand closures for the first time. You understand how the namespaces are kept separate and how instance memory is allocated. It's not just some voodoo that simply works, like in JAVA. Moreover all of the voodoo is not out of reach but right there for you to mess with. An instance can change it's own inheritance if you want it to. An instance can create a new method and write it into it's own namespace if it wants to. An instance can trap calls to it's own methods and redirect them or intercept calls to methods that don't exist and respond to them.

      Those features are not unique to perl (for example pyhton implements objects identically to perl). The difference is that All of that object management occurs in perl itself and is not hidden behind syntactic sugar (like python and java). You quickly appreciate what dereferencing costs, etc...

      The other thing that is nice about perl for learning is all of those prefixes like $ @, and so forth. They may make perl look like cursing but they force you to think about what a variable is. When I index out an array, I get what? an array? no I get a scalar, so $X[2] is how I index @X. You can look at someones perl program and if it's written well tell what every word is. You cannot look at a bare name in python or java and tell if it's a method, an array, a hash, a scalar or reference. Perl you can. (Oh and by the way let me explode a perl/pyhton myth. python has more special markup characters in use than perl, the main difference is that in python they are suffixes instead of prefixes and are overloaded with multiple meanings--try counting how many modifiers there are some time (e.g. () , [] ** and so on))

      Now once you learn perl objects. Well it's time to put down the perl and back away slowly. Python, java are much better languages for writing re-usable, easily read, complex object oriented programs. Perl is still a much more powerful language than either. But it's powerful for efficiently creating compact or single use programs quickly. Not for well designed complex systems.

      Perl is good language to start in, plus it's useful enough to work throughout your career. Basic is not.

    • by porkThreeWays ( 895269 ) on Friday September 15, 2006 @04:02PM (#16116265)
      I know it's a dupe, but I missed out on the discussion last time =P

      The books his son are using were probably published 10-15 years ago. When you factor in the amount of time from when the author actually wrote them, I'd say it's closer to 20. The books being written today probably don't have code examples in them. Even if MS were to include basic in Vista right now, there would be a lag time of when it'd appear in books again.

      That being said, I think he has a point that a simple programming language should be included in consumer operating systems. I really don't think basic fits the bill. It doesn't matter anyway because his point was that basic is already in the text books. The lag time of today's books being written would make that point moot. I think it would be more important to create a purely educational language. Nothing pragmatic about it. I don't think anyone will care if it's dog slow. Make it heavily focused on math operations. Create it so high school computer and math teachers get a boner over it. Make it truely open so it can run on their calculators and phones. Bundle it with every general purpose OS. Let them solve problems with it and not have the language get in the way.

      I think that's really the solution for the problem. Not basic, not python, but a purely educational language that kids can write fun stuff in that teachers love. The die-hard programmers don't have to love it, it's not for them.
    • Re:There are options (Score:4, Informative)

      by Grayputer ( 618389 ) on Friday September 15, 2006 @04:08PM (#16116312)
      Those are copyright MS. Try freebasic www.freebasic.net for the 'free' version.
  • by BWJones ( 18351 ) * on Friday September 15, 2006 @03:35PM (#16115983) Homepage Journal
    Oh, man..... Already posted here [slashdot.org] and I even told "Daddypants".

  • by Churla ( 936633 ) on Friday September 15, 2006 @03:36PM (#16115992)
    No sir... REpeat.. [slashdot.org]
  • by psykocrime ( 61037 ) <mindcrime&cpphacker,co,uk> on Friday September 15, 2006 @03:37PM (#16115997) Homepage Journal
    ... maybe he'd code up a "dupe detector" for the /. editors to use?
  • by Anonymous Coward on Friday September 15, 2006 @03:37PM (#16115999)
    I mean, if I had kids, the first thing I'd do is program 'em to get up and get me a beer from the fridge. Good fer nothin' brats.
  • by night_flyer ( 453866 ) on Friday September 15, 2006 @03:38PM (#16116011) Homepage
    Why can't Zonk pay attention?
  • by drinkypoo ( 153816 ) <drink@hyperlogos.org> on Friday September 15, 2006 @03:38PM (#16116014) Homepage Journal
    It does afford me the option of wondering "aloud" why Brin didn't just download, say, an Apple ][ or C64 emulator. I mean, I always thought the guy was kind of smart, but now I know it's not true. (And don't tell me that non-computer nerds wouldn't know about emulators; if you don't know, ask someone.
    • by MSTCrow5429 ( 642744 ) on Friday September 15, 2006 @03:46PM (#16116102)
      I think he's either dim or feigning ignorane for dramatic effect. There are a plethora of freeware and shareware BASIC compilers available for download, the real problem isn't finding BASIC, it's choosing which version and dialect to use.
    • by Vellmont ( 569020 ) on Friday September 15, 2006 @03:46PM (#16116104) Homepage
      I thought the same thing.

      The article was interesting, but ultimately the author seemed to be concerned about recreating nostalgia for programming on his 8-bit computer rather than actually wanting kids to know how to program. There's countless examples of programming languages suitable for a kid. Bash, Excel, and Javascript are all pretty simple, don't require complex steps like compiling or memory management, and readily accessible.
      • by Danga ( 307709 ) on Friday September 15, 2006 @04:03PM (#16116275)
        There's countless examples of programming languages suitable for a kid. Bash, Excel, and Javascript are all pretty simple

        I don't consider Excel a programming language, BASH is also not a programming language but it allows you to run scripts, javascript is close to a programming language I guess and kids could probably do some fun things with it. But seriously what could a kid do in Excel that would actually hold their interest longer than half a second? "Wow Dad! I just calculated how much money I will make this year in my bank account from interest!". I just don't see Excel appealing to young kids.
    • by flooey ( 695860 ) on Friday September 15, 2006 @03:55PM (#16116201)
      It does afford me the option of wondering "aloud" why Brin didn't just download, say, an Apple ][ or C64 emulator. I mean, I always thought the guy was kind of smart, but now I know it's not true. (And don't tell me that non-computer nerds wouldn't know about emulators; if you don't know, ask someone.

      I think the idea was that he was lamenting that there aren't the tools for people to grow into being computer nerds. Your average Counterstrike player doesn't really want to expend some effort to learn how to program, but if the tools were sitting there, he might end up playing with them.

      Personally, I think the much bigger reason is that our computers do so much more these days. Back when I got my first computer, it didn't really do a lot. Once I beat Crystal Caves and Secret Agent Man, GWBASIC was about the only interesting thing that was left. Nowadays, you'd be hard pressed to get to the point where you're poking around the random stuff that's included on your computer for lack of anything better to do.
      • by drinkypoo ( 153816 ) <drink@hyperlogos.org> on Friday September 15, 2006 @03:58PM (#16116225) Homepage Journal
        Personally, I think the much bigger reason is that our computers do so much more these days. Back when I got my first computer, it didn't really do a lot. Once I beat Crystal Caves and Secret Agent Man, GWBASIC was about the only interesting thing that was left.

        Yeah, I think you've really hit the nail on the head here. Actually you could get BASIC in ROM for the IBM PC-1... but alas, my machine lacked that option, and I ended up scrapping everything but the motherboard which AFAIK is still hanging on a friend's wall.

        Not just that, but those older machines (the 4-bit era) tended to show you BASIC as soon as you booted. It was ready for nothing so much as for letting you write some code.

        • by secolactico ( 519805 ) on Friday September 15, 2006 @04:41PM (#16116586) Journal
          Not just that, but those older machines (the 4-bit era) tended to show you BASIC as soon as you booted. It was ready for nothing so much as for letting you write some code.

          My Atari 8-bit (130XE) would boot into basic if I didn't press "OPTION" when turning it on.

          BOOT ERROR
          BOOT ERROR
          BOOT ERROR
          BOOT ERROR
          BOOT ERROR
          BOOT ERROR
          BOOT ERROR
          BOOT ERROR
          BOOT ERROR
          BOOT ERROR
      • by mikael ( 484 ) on Friday September 15, 2006 @04:25PM (#16116472)
        Personally, I think the much bigger reason is that our computers do so much more these days. Back when I got my first computer, it didn't really do a lot. Once I beat Crystal Caves and Secret Agent Man, GWBASIC was about the only interesting thing that was left.

        Maybe you could have done with a free fun pack of 100 games/programming examples. I still remember getting an Atari 800 for Christmas 1981 - It came with a fun pack of 100+ programs + games from the local mom'n'pop computer shop (the programs had been collected from the computer/programming magazines of the day, and they are still in business).

        Having so many examples was a great inspiration to learn advanced programming. Once past the fundamentals of BASIC programming (conditionals, loops, subroutines), there was assembly language programming, player misile graphics and so on...

        Just about every home computer at the time had some variation of BASIC and graphics (some provided triangle/circle drawing routines in assembler, while others provided routines to multiply matrices/vector arrays).
    • by LunaticTippy ( 872397 ) on Friday September 15, 2006 @03:56PM (#16116207)
      My only complaint about my 64 emulator is the keyboard. The c64 keyboard had some weird keys, and it doesn't map prettily to a modern keyboard. I think a " is shift-2, but I always have to poke around a bit to figure it out.
    • by biobogonics ( 513416 ) on Friday September 15, 2006 @04:25PM (#16116471)
      It does afford me the option of wondering "aloud" why Brin didn't just download, say, an Apple ][ or C64 emulator.

      Even better, find an emulator that runs CP/M which also emulates various types of terminals. One fun thing about computers is making them do fun looking *stuff* like display hacks, moving the cursor, typing backwards, etc. Learn how to control the display by issuing character sequences. Find some books by David Ahl. CP/M had an incredibly rich set of simple tools. Part of the fun is that you have to do some actual building to make things work. Sample any number of the host of languages available under CP/M. Use a line editor. Print out program listings, etc.

      Use the computer as a *tool* to learn something else - like math. Number fun - magic squares - rectangular, triangular, perfect numbers. Find prime numbers and pythagorean triplets, etc. Do number base conversions. Learn dimensional analysis and units, etc, etc, etc.

      Let the child enjoy saying "Whoopie. I made this."

    • by ishmalius ( 153450 ) on Friday September 15, 2006 @04:35PM (#16116538)
      What he is talking about is the innate nature of those older computers to encourage people to tinker and create things. New machines do everything they can to hide the machinery from the users. Older ones gloried in the mechanics of computing. You actually bought a computer for the sake of having one of those Universal Machines that the magazines extolled, rather than a plain, emasculated "desktop." When was the last time you saw a kid with wires and a soldering iron, instead of an off-the-shelf brain dead consumer electronics device?
  • by drewzhrodague ( 606182 ) <drew@nOsPaM.zhrodague.net> on Friday September 15, 2006 @03:38PM (#16116016) Homepage Journal
    Yes, for those of you under the age of 30, 'personal' computers like the Apple II and C64 used to all include BASIC in their ROMs.

    That must make me... damn, over 30.

    yes, the '80s. This is how most of us used to learn. There were still TRS-80s, Amigas, and ancient XT workstations in some of my friends' homes. I was an Apple ][ kid, myself. I guess I still am.
  • Come on... (Score:4, Insightful)

    by naoursla ( 99850 ) on Friday September 15, 2006 @03:39PM (#16116031) Homepage Journal
    I know that /. is famous for dupes, but at some point I start thinking the editors are playing a little joke on us.
  • Uh, hello? (Score:3, Insightful)

    by Dachannien ( 617929 ) on Friday September 15, 2006 @03:40PM (#16116037)
    Why pay for the cow when you can get the emulator [wikipedia.org] for free?
  • How is it that (Score:2, Interesting)

    by Travoltus ( 110240 ) on Friday September 15, 2006 @03:40PM (#16116040) Journal
    Slashdot can post dupe stories about the dearth of programming training opportunities for kids, but they can reject a story I posted about a recent study showing a LACK of programming jobs?

    Why should kids learn programming when they'll only be able to compete for a programming job if they take an East Indian's dollar-a-week salary?
  • Lego Mindstorm? (Score:4, Informative)

    by drewzhrodague ( 606182 ) <drew@nOsPaM.zhrodague.net> on Friday September 15, 2006 @03:40PM (#16116041) Homepage Journal
    What about the Lego Mindsorm? That has a programming language. I'll bet it is way cooler to use a beginners programming language to build robots, than it was to draw boxes, or calculate your homework.

    ...and hold on, now! Where's my damn flying car?
  • Umm... (Score:5, Informative)

    by PFI_Optix ( 936301 ) on Friday September 15, 2006 @03:41PM (#16116045) Journal
    http://www.kidsprogramminglanguage.com/ [kidsprogra...nguage.com]
  • by DG ( 989 ) * on Friday September 15, 2006 @03:41PM (#16116050) Homepage Journal
    Personally, having grown up with the C64 and the Apple][ and all the rest... man, I HATED BASIC.

    It was way, way, WAY too limiting and tedious, even for my neophyte 13-year-old self.

    I really didn't discover the joy of programming until I discovered Turbo Pascal. It was like somebody unshackling me - even with the crappy PC XT CGA graphics.

    Pascal is a *great* learning language. It teaches all the good habits that will be needed for a C/C++/Perl hacker later in life, without all the administrivia involved with C, or the sheer horsepower (with all the syntactic complexity) of Perl.

    Go with Pascal as a first language, and you can't go wrong.

    DG
    • I'm pretty much the same.

      Started Basic at about 5 or 6, Pascal about 12/13, Perl about 15/16, Java about 17 and never really got that into C or assembly except on embedded stuff.

      Ironically i'm now maintaining a VB application, and can put my 2 decades of experience to use.
    • by Serapth ( 643581 ) on Friday September 15, 2006 @03:52PM (#16116168)
      They taught Pascal in my high school, which wasnt such a bad idea. Problem is, this was 15+ years ago and the guy teaching didnt know a damned thing about computers. I think computers are getting much more emphasis at the high school level low.

      That said, we were taugh Alice Pascal, which was a sandboxed learning addition of Pascal. My vague memmories tell me that the sandbox itself put so many contraints on you, the you as much learned working around alice pascals limits, as you did learning pascal.

      Then again, at this time I had already taught myself C and a few languages before that ( Yes, starting with BASIC on an Atari 800 computer ) so the experience was a rather painful one for me.
    • by jsebrech ( 525647 ) on Friday September 15, 2006 @05:27PM (#16116976)
      Personally, having grown up with the C64 and the Apple][ and all the rest... man, I HATED BASIC.

      I started out on a C64/C128 as well. Basic is not a good first language.

      Frankly, if I wanted to teach my child programming, I'd start with javascript. Here's why:
      - It's extremely easy to get started in. You can do a lot with one-liners, and unlike perl you can explain the one-liners to a neophyte. There are many excellent beginner's books.
      - On-screen graphical feedback is instantaneous, and you don't have to restrict yourself to console output.
      - Every single web-enabled PC has the development tools right there. They don't have to do complicated installs, and they can show off their 1337 skills on their friend's computer.
      - And best of all, if you give them a simple hosting account they can place their javascript programs online for all their friends to see.
    • by An Onerous Coward ( 222037 ) on Friday September 15, 2006 @05:29PM (#16116992) Homepage
      That's a point I hadn't thought to make last time this story came around. I started programming on a Commodore64 when I was 7. Not a prodigy; I programmed about as well as you'd expect a 7 year old to program. Copied short snippets from books and whatnot. By ten, I was using basic programming flow to draw interesting patterns on the screen. At the age of thirteen, I tried my first truly ambitious project: a 'Dragon Warrior'-style RPG.

      It was a catastrophe. When I first started composing this, I was going to blame it on BASIC itself, then on the crappy line editor I was trying to use. But as frustrating as these things were, my greatest shortcoming was that I had no adult supervision. When you try and teach yourself, rather than learning from an expert, you tend to not realize when you've missed something very, very important.

      I feel a deep sense of shame even today for admitting this level of stupidity, but I didn't know what a subroutine was. Knowing that I could have called the same snippet of code from different parts of the program would have saved me much heartache, but I had the concept of a flowchart firmly in my head, and it seemed to demand a single, unbroken flow of execution. Which demanded cut-n-paste. Which I couldn't do with that crappy line editor.

      Thinking on it, I should probably try tackling that project again, so that next time I set down to writing a long anti-BASIC diatribe, I'll at least know what the hell I'm talking about.
  • by Scrameustache ( 459504 ) on Friday September 15, 2006 @03:43PM (#16116073) Homepage Journal
    Why use that old junk? What's he got against C?
    You can simply use an OSX terminal and compile with gcc, no fuss.

    But if you want to teach a kid programming: HTML and Javascript is the way to go.
    They're universally accessible in new computers, and they're a great way to learn to code and to share the results.

    All you need is a browser and a text editor.
  • Yeh... (Score:2, Funny)

    by ijakings ( 982830 ) on Friday September 15, 2006 @03:43PM (#16116076)
    A boy who searches for years to find a program that will let him do some examples from his maths book. He is like the /. King. We must find him and make him our saviour, he will lead us to victory over these so called "norms"
    • by SageMusings ( 463344 ) on Friday September 15, 2006 @03:59PM (#16116240) Journal
      I can't figure out why he needs to code 15 line programs in BASIC if he is already 200 pages into a C++ book. I mean, why regress?

      From what I took away from the article, the child seems to be bright enough not to have any need of an old, 8-bit machine capable of running interpreted BASIC. He needs to take the knowledge he has and RUN(pun?) with it.

      My personal take on the whole situation is children with sufficient interest in programming will learn it without the tools of yesteryear. In the end, they'll be better off for it, too. The only thing they need to keep in mind is they should do it for the intellectual stimulation and realize (especially in coming years) there will be few US jobs open to them in that area.
  • by szo ( 7842 ) on Friday September 15, 2006 @03:44PM (#16116084)
    Stories like this could be relocated there after the first comments.
  • by Bones3D_mac ( 324952 ) on Friday September 15, 2006 @03:55PM (#16116202)
    I've been concerned about this issue for some time. Sure there are "options" out there, such as Javascript and the freebie Macintosh developer tools that come with each new system. However, trying to put object-oriented concepts into a form that children can easily adapt to seems a lot more difficult than one might believe. Even something like RealBasic is a bit tricky to follow if you aren't familiar with how object oriented code works.

    There needs to be some kind of readily available interpretive programming language that allows people to start out programming in linear fashion, and later eases them into object-oriented coding.

    Personally, I started out on the Apple II using the built-in basic programming language, and eventually moved up to working in machine code. However, despite the advances I achieved with the Apple II, it took me nearly five years to grasp how object oriented programs work. If someone with years of programming experience has this kind of difficulty following OOP, how can we expect children to instantly pick up on it without learning the most basic fundamentals of writing executable code?

    In my case, it was Macromedia Director 5's "Lingo" programming language that finally made it possible for me to "connect the dots" enough to understand what exactly is going on under the hood. Since then, I've adapted to OOP far enough to use RealBasic, Perl and Javascript with any level of reliability. (Eventually, I'd like to get some variant of C under my belt.)

    Perhaps something along the lines of Macromedia's authorware (now defunct) would provide a good starting point, by giving people a visual programming interface (flowcharting with user defined properties), which can eventually be set to an advanced mode, allowing more confident users to modify the code directly, once they understand the basics.
  • by Dwedit ( 232252 ) on Friday September 15, 2006 @03:57PM (#16116220) Homepage
    Really, a TI83 is just like those ancient computers of the 80's. It boots up to BASIC, is powered by a Z80, and has a tiny amount of RAM, yet it enough for what it does.
  • by __aaclcg7560 ( 824291 ) on Friday September 15, 2006 @03:58PM (#16116224)
    Logo was the only thing we had. We whipped that turtle to death on the Apple ][ to draw all those fancy lines, circle and stars.
  • by Weaselmancer ( 533834 ) on Friday September 15, 2006 @03:58PM (#16116230)

    Good lord man. Why go through all that trouble? [viceteam.org]

    The article should be called Why Johnny Can't Freaking Use Google.

  • by Nijika ( 525558 ) on Friday September 15, 2006 @03:59PM (#16116236) Homepage Journal
    He can lament all he wants, the truth of it is the percentage of kids that have access to computers in the first place is much higher, and the number of computer literate kids that will come out of that expore to completely replace and out-do us will also be much higher.

    I don't think the antiquification of DOS, and of all things, BASIC, is going to have some negative effect.

    We'll always have to suffer the hand-wringing from a generation getting older, and I'll always roll my eyes about it.

  • by bcrowell ( 177657 ) on Friday September 15, 2006 @04:05PM (#16116292) Homepage
    Brin is so full of **** here, it's not even funny. Freshmeat has a whole category [freshmeat.net] full of free BASIC interpreters and compilers. A lot of them run on Windows. He also doesn't seem to understand that there are other languages that can be programmed in a procedural style, just like BASIC. For example, there's nothing stopping you from writing python programs in that style. BASIC doesn't suck because it's simple and nonpretentious. BASIC sucks because it's never been standardized. I learned to program in BASIC on a TRS-80, and it was a major pain having to translate programs written into other dialects into the TRS-80 dialect.
  • by Medievalist ( 16032 ) on Friday September 15, 2006 @04:07PM (#16116305)
    I'm willing to watch their Flash ads in order to read an article, but I've never been able to get past the endless loop of "watch this ad for access!!" despite trying a dozen or more times.

    I've even tried turning off adblock, noscript, flashblock and accepting all their cookies. Still just an endless loop of ads.

    I'm sort of assuming that the page can't handle mozilla-based browsers at this point.

    Too bad for Salon; I might have subscribed, but if their site can't handle my browser and plug-ins of choice I guess I'll have to give my money to somebody else...

  • by skrysakj ( 32108 ) on Friday September 15, 2006 @04:07PM (#16116307) Homepage Journal
    Speaking of which, does anyone want to help with my attempt to fill the gap that this article talks about? My old XLogo project needs some tender loving care: http://xlogo.sourceforge.net/ [sourceforge.net]. It's a simple Logo/Turtle app, just like in the old days. It works: runs commands, even complex series of commands. However, it has not been worked on for quite some time and still needs someone to implement other commands into the parser, and make it Intel processor compatible (aka. Universal Binary).
  • by G4from128k ( 686170 ) on Friday September 15, 2006 @04:08PM (#16116311)
    I too have lamented the changes in IT. When I first learned to program (1977 on an HP-25), the technical environment was very different. Back then, everyone who wanted to use a computer HAD to know how to program. The scarcity of software meant that everyone wrote their own code or, at least, typed in code from a magazine. Very limited software sharing schemes and the inability to quickly find software meant it was easier to write your own than to find someone else's software. Simple languages, simple hardware, simple interfaces, and simple APIs ruled. When the entire OS plus application suite resided in a few k of RAM, it was easy to both work with the system or create your own. It took very little effort for a novice programmer to produce world-class code because the bar was so low and the functionality so primitive that anyone could make something interesting. In the old days, everyone grew their own code.

    Today it's all different. The OS has become a beast that not even a team of programmers can fully comprehend. IDEs, OOP, and layered architectures try to hide the complexity, but its still there. Moreover, almost any bit of code or application that one might want has a multiple incarnations ready for buying/downloading from commercial/shareware/OSS sources. It's now very easy to find the application you want and much harder to write something that is better than anythign else. In the new days, few grow their own code.

    Perhaps its like the change from a subsistence-agrarian world to a world of craftsmen (or industry) where programming is like farming. In the past, everyone grew their own code. Today, no one grows their own food and farming is a very minor part of the global economy. Farmers may lament that most children in the city don't know how to milk a cow or thresh wheat, but perhaps those skills aren't needed in most people. Just as one farmer can now feed some 40 people, one programmer servers the programming needs of a growing number of users. Consider that Microsoft as 60,000 employees whose code runs on at least 600 million operating PCs -- more than 10,000 non-programming users per programmer.

    As with farming, we now live in a world where few need to grow their own code. As far as schools are concerned we may be entering a world in which fewer than 1 child per class will ever need to know how to program. That makes me sad at some level, I truly enjoyed learning to program, but it may be an inevitable part of the maturation process for IT and the internet.
  • by Dr. Zowie ( 109983 ) <slashdot@defores t . org> on Friday September 15, 2006 @04:09PM (#16116323)
    There're TREMENDOUS amounts of programming opportunities out there -- I leave it to other posters to bicker over which watered-down abstracted programming environment or interactive scripting code or automated-gladiator-codebot game is best, but the point is that there are zillions of them.

    The Apple ][ had a nice interactive programming environment (BASIC) and, yes, I remember it fondly. Learning about Woz's Programmer's Aid ROM was like discovering that the Emerald City lurked under the hood of my beige wedge. But the mere fact that you had to use the BASIC/DOS interpreter do get anything done, doesn't mean that most people learned how to program it. Many of my Apple ][ owning friends (and my brother) chose not to learn to program, and learned only enough to play the games. At school we had a set of TRS-80s and we geeks had endless fun hacking the system and inserting patchcodes into the BASIC interpreter and generally exercising our nascent 1337 c0d0r 5ki11z -- but most of the students just played pirated copies of Infocom adventures and space-invader games.

    Today's machines are more versatile and practically infinitely more powerful, but the same duality applies: some folks will look for a command interpreter and start coding, most folks will just go for the nice eye candy.
  • download this.... (Score:3, Informative)

    by scharkalvin ( 72228 ) on Friday September 15, 2006 @04:16PM (#16116403) Homepage
    http://blassic.org/ [blassic.org]
  • by cheros ( 223479 ) on Friday September 15, 2006 @04:42PM (#16116592)
    I still have a couple of PSION Organiser II. 64k RAM, EPROM based storage packs, robust as hell and work off a 9V battery (read: it's portable).

    The main reason this is interesting is the language: Organiser Programming Language (OPL) was a sort of combination of BASIC and Pascal, quite structured and flexible and, most importantly, because the thing was portable you could code anywhere. It ran fast because source code needed to be 'translated' to a sort of executable (akin to Pascal's original P code).

    The language was extended in later products such as the PSION MX5, I think you can even still get that on eBay. Not as robust, but more 'normal' computing statistics, and I think the storage was no longer proprietary either.

    If all else fails, AFAIK Symbian based products may also have that language..
  • by Todd Knarr ( 15451 ) on Friday September 15, 2006 @04:44PM (#16116604) Homepage

    If David had kept his old DOS disks, he could've extracted the QBASIC interpreter from them and used that. I just checked my DOS 6.22 disks and it's there. I believe it'll run in the DOS window on current Windows, and it probably runs under DOSEMU on Linux. Or he could introduce the kid to basic Java using something like Eclipse, if he wants to give the kid an introduction to modern IDEs without too much pain.

  • by ShakaUVM ( 157947 ) on Friday September 15, 2006 @04:47PM (#16116635) Homepage Journal
    I met David Brin once. He tried to sell me some roleplaying games.

    Anyhow, why can't his kid code? Probably doesn't have the mindset for it, sorry. Not everyone can sit in front of a computer all day long thinking about "imaginary things" and then typing them in. If your mind doesn't work in the right way, it can be almost impossible to learn to program. I've taught introductory CS classes before; they can learn enough to scrape by in the class, but they'll never be good programmers (and they usually forget it all by the time the next quarter starts).

    Don't stress your kid out over it, just find out what he is good at.

    If he really loves programming but his mindset isn't right, I guess you could try playing analytical games with him. I dunno, maybe Roborally? Or just crack open an open source quake mod and let him poke around with it, and let him see his results working in action without having to run up the learning curve of writing a whole program from scratch.

    The language itself doesn't really matter, truth be told. I learned on C, FutureBASIC, Hypercard and maybe some other stuff relatively at the same time. The mindset is the important thing, not the language.

Beware of Programmers who carry screwdrivers. -- Leonard Brandwein

Working...