Stories
Slash Boxes
Comments

News for nerds, stuff that matters

The Little Coder's Predicament

Posted by timothy on Wed Jun 11, 2003 09:58 AM
from the 10-goto-20-20-goto-10 dept.
An anonymous reader writes "There's an interesting article on Advogato about the world of computing that kids today find themselves in compared to the world that kids in the 80's found themselves in. Learning to program in the 80's was simpler because the machines were more limited, and generally came with BASIC. Now we have Windows, which typically comes with no built-in programming language. What can be done to improve the situation?"
This discussion has been archived. No new comments can be posted.
The Little Coder's Predicament | Log In/Create an Account | Top | 1073 comments (Spill at 50!) | Index Only | Search Discussion
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1) | 2 | 3 | 4 | 5
  • Second hard disk + Linux by A nonymous Coward (Score:2) Wednesday June 11 2003, @10:00AM
  • A couple places to start (Score:5, Informative)

    by David E. Smith (4570) * on Wednesday June 11 2003, @10:00AM (#6171094)
    (http://www.bureau42.com/)
    First, for those interested in the subject, get them a basic "how to program" book. One that's gotten fairly good reviews among the (few) teachers I know is How To Design Programs [htdp.org]. It has the remarkable benefit of being free (as in beer) online, and I believe its learning environment is equally free also. (OTOH, it's Scheme. Some people are allergic to parentheses.)

    Second, once they've got the basics down, get them something a bit more practical. Cygwin is free, and comes with gcc/gc++ and friends. Or even break down and spend a few bucks on Visual Basic (or, if they're really bright, a second hard drive with Linux/*BSD/whatever, so they can pick up GTK+ or QT or whichever widget set is trendy these days).

    Most of the advogato article's suggestions are at best silly. I think he's promoting the return of LOGO, or whatever that language was where you did everything with a "turtle". Except that e apparently expects Microsoft, Sony, Nintendo, and everyone else to agree on a single standard, which is at best laughable. None of those game consoles even come with a keyboard any more, and I don't think you can even get keyboards for the GameCube...

    • Re:A couple places to start by borgdows (Score:2) Wednesday June 11 2003, @10:05AM
    • Re:A couple places to start by PunchMonkey (Score:2) Wednesday June 11 2003, @10:07AM
    • It's the lack of a standard that I think the real problem is.

      A few years back, I remember the rumors of a standard Windows Scripting Language that would be to Windows 9x systems what bat was to DOS. (I haven't power used Windows in years except to run games on, so forgive my ignorance.)

      But the biggest issue with this would be what language? Do you make it uber simple like bat, which could do some interesting scripting things but no real programs? Do you let people actually make up some "interpreted language" programs (like BASIC) so they can do some things, then deal with the headaches from users messing up their systems (or, worse, the viruses that would span if the language actually let you do "stuff" with it - Windows has enough problems with Office macros running amuck in the world without adding more headache).

      And what kind of language? Visual Basic is still around, but I don't know of any serious programmers who really use it hard core - it's more for very small, internal apps (yes, there are visual basic apps out there, but last I checked, nobody's programming Doom III in Visual Basic, move on). So would you build it in C, C++, C#, Java, Perl, Python, Pascal - as soon as you do, there's another group of people (even inside the company making this "Basic scripting language") who have thier own near religious ferver regarding how it should work.

      Odds are, it's just easier to go out, get yourself the Java SDK and notepad/Cygwin and Perl/Python, and go from there.

      Oh, and you can get a keyboard for the Gamecube. I'm not sure if they're selling in the US yet, but they're mainly used for Phantasy Star Online addicts. (Though I would not mind a "Typing of the Dead II" - that game kicked ass.)
      [ Parent ]
    • Re:A couple places to start (Score:5, Insightful)

      by Anonymous Coward on Wednesday June 11 2003, @10:14AM (#6171359)
      Kids don't want a "how to program" book. They want to write small, simple programs that do cool things. Gcc/gc++ and friends? For a 10-year-old? I don't think so.
      What is required is a very simple interface with simple commands. Programming is about Problem Solving (I resisted the urge to put that in caps). It is not about coding style or compilers or interfaces, any more than a sports car is about the CD changer in the trunk.
      Logic is logic. What we need *is* a return to a simple environment for kids. The smart ones will run into restrictions of the environment and branch out into other environments on their own.
      [ Parent ]
      • Re:A couple places to start by Eight 01 (Score:3) Wednesday June 11 2003, @10:18AM
      • Except... (Score:5, Insightful)

        by rblancarte (213492) on Wednesday June 11 2003, @10:26AM (#6171543)
        (http://www.blancarte.com/)
        IMHO, I think that kids who want to program will learn to program. I mean, the kids who learned everything about their computer 10 years ago didn't do it because the tools were there. The computer was something that interested them and they soaked up all they could when they could. The same is still true.

        That all said - I agree, some of the beginning tools are not there in the sense that you no longer have DOS with BASIC. But in another way, you have so much more. Now these kids have the internet to get all their tools. This is where I think the author or the article is missing something - free SDKs are being DLed, and the real wiz kids are learning how to program in much more robust languages than BASIC. Because of such, I really don't see a need for Toy Languages.

        RonB
        [ Parent ]
        • Re:Except... (Score:5, Insightful)

          IMHO, I think that kids who want to program will learn to program. I mean, the kids who learned everything about their computer 10 years ago didn't do it because the tools were there. The computer was something that interested them and they soaked up all they could when they could. The same is still true.

          But how do kids get their interest sparked in the first place? Nothing beats booting up a computer and having a BASIC prompt staring you in the face, daring you to type in your first "10 PRINT 'I AM COOL' / 20 GOTO 10"-type program.

          I always loved computers but who knows if my interest in coding ever would have been sparked if it hadn't been that easy to get started by farting around and making funny little programs like that.

          Why the heck should a kid who's never coded before download a bunch of incredibly obscure (to THEM, not US) crap like Cygwin, etc just to pursue some totally unknown hobby? Some kids will still make this leap of course, but it's going to be LESS people than it would have been had there been a fun, built-in-to-the-OS, totally obvious, free way for kids to get started like you had in the 80's.
          [ Parent ]
          • Re:Except... (Score:4, Interesting)

            Ideally I'd like to see Microsoft provide a really stripped-down of Visual Basic free with the OS. And it should be installed by default, and placed prominently on the Start Menu.

            This would provide something simple for kids (or newbies of all ages) to start playing around with. I think this would increase the number of kids getting into coding overall... which would help Microsoft as kids would be learning Windows programming early, and with more kids overall discovering coding you'd have more total kids "graduating" to more advanced stuff like real programming languages and alternative OS's like Linux, etc.

            It would be a win/win situation for the advancement of programming, IMHO. Perhaps not a win for ME, though, as I'll have more kids competing for my coding job in the future. That problem is tough enough already. :P
            [ Parent ]
            • Re:Except... (Score:5, Insightful)

              by kisrael (134664) on Wednesday June 11 2003, @11:30AM (#6172364)
              (http://kisrael.com/)
              That's a pretty cool idea, and probably one of the few workable ones. I don't see MS doing that, but we can hope.

              It's interesting to think of the history of it:

              Booting into BASIC was a godsend for budding programmers. I really wonder what the lack of that will lead to. (And blah blah blah "BASIC considered harmful"...I think the non-line-numbered versions are fine.)

              I never got to use 'em but I suspect it's too bad HyperCard fell by the wayside. I think that's the closest WIMP-based computers have come to a useful languge that beginners were exposed to and could do useful stuff in.

              These days, most kids will be exposed to the web, and the smart ones will realize "hey--this is pretty easy" and do interesting stuff. That tends to be more design than programming...and server side programming (from a kids point of view) is hampered by the lack of a screen to draw on. I think kids like to make THINGS on a screen, sprites, or 3D if it was easier.

              I think DarkBasic or GameMaker or something like that might be a good bet for grownups who wanted to get a kid started who seems to have potential for this kind of thing.
              [ Parent ]
              • Re:Except... by John_Booty (Score:2) Wednesday June 11 2003, @11:52AM
              • Re:Except... by rot26 (Score:2) Wednesday June 11 2003, @12:09PM
              • Re:Except... by kisrael (Score:2) Wednesday June 11 2003, @12:29PM
              • Re:Except... by brandonY (Score:1) Wednesday June 11 2003, @02:42PM
              • Re:Except... by Goldberg's Pants (Score:1) Wednesday June 11 2003, @02:51PM
              • Re:Except... by John_Booty (Score:2) Wednesday June 11 2003, @03:23PM
              • Re:Except... by kisrael (Score:2) Wednesday June 11 2003, @03:40PM
              • Re:Except... by vrmlguy (Score:2) Wednesday June 11 2003, @04:24PM
              • Re:Except... by rot26 (Score:2) Wednesday June 11 2003, @07:12PM
              • Re:Except... by vrmlguy (Score:2) Wednesday June 11 2003, @10:56PM
              • 3 replies beneath your current threshold.
            • Re:Except... by cyberformer (Score:2) Wednesday June 11 2003, @04:50PM
            • Re:Except... by ergo98 (Score:1) Wednesday June 11 2003, @08:52PM
            • Re:Except... by jo_ham (Score:2) Thursday June 12 2003, @12:32AM
          • Re:Except... (Score:5, Insightful)

            by anonymous loser (58627) on Wednesday June 11 2003, @11:43AM (#6172525)
            I've seen a lot of kids learning to program because they play games on the computer, and want to learn how to make their own. For example, I know several folks whose first exposure to programming was making a mod for UT in UnrealScript. One kid I know even used UnrealScript to do homework assignments for school, until they finally started picking up other languages.
            [ Parent ]
            • Re:Except... by BlackHawk-666 (Score:2) Wednesday June 11 2003, @12:21PM
            • Re:Except... by Pharmboy (Score:2) Wednesday June 11 2003, @05:05PM
          • Re:Except... by jgerman (Score:2) Wednesday June 11 2003, @12:07PM
            • Re:Except... by John_Booty (Score:3) Wednesday June 11 2003, @12:29PM
              • Re:Except... by jgerman (Score:2) Wednesday June 11 2003, @01:13PM
          • Re:Except... by sk8king (Score:1) Wednesday June 11 2003, @12:08PM
            • Re:Except... by Bombcar (Score:2) Wednesday June 11 2003, @05:46PM
          • Re:Except... by tvsjr (Score:2) Wednesday June 11 2003, @12:22PM
            • Re:Except... by M. Skjellyfetti (Score:3) Wednesday June 11 2003, @12:56PM
            • Re:Except... by Goldberg's Pants (Score:1) Wednesday June 11 2003, @03:08PM
          • They won't by autopr0n (Score:2) Wednesday June 11 2003, @01:32PM
          • Re:Except... by mnmn (Score:2) Wednesday June 11 2003, @01:39PM
          • Languages teach nothing by msobkow (Score:2) Wednesday June 11 2003, @02:16PM
          • Re:Except... by sbjornda (Score:2) Wednesday June 11 2003, @02:45PM
          • Re:Except... by ndogg (Score:2) Wednesday June 11 2003, @03:00PM
          • Re:Except... by janeil (Score:1) Wednesday June 11 2003, @03:32PM
          • Re:Except... by pyrrho (Score:1) Wednesday June 11 2003, @03:53PM
          • Re:Except... by soul_cmd (Score:1) Wednesday June 11 2003, @04:35PM
          • Re:Except... by agnosonga (Score:1) Wednesday June 11 2003, @08:39PM
          • Re:Except... by eatdave13 (Score:1) Wednesday June 11 2003, @09:17PM
          • Re:Except... by rsheridan6 (Score:1) Wednesday June 11 2003, @11:37PM
          • Re:Except... by chthon (Score:1) Thursday June 12 2003, @09:56AM
          • 2 replies beneath your current threshold.
        • Re:Except... by PateraSilk (Score:1) Wednesday June 11 2003, @10:57AM
        • Re:Except... by jafac (Score:2) Wednesday June 11 2003, @12:20PM
          • Re:Except... by ender- (Score:1) Wednesday June 11 2003, @02:08PM
            • Re:Except... by jafac (Score:2) Wednesday June 11 2003, @04:15PM
              • Re:Except... by jafac (Score:2) Wednesday June 11 2003, @04:17PM
          • Sincere advice by maharg (Score:2) Wednesday June 11 2003, @04:55PM
        • Re:Except... by trelin (Score:1) Wednesday June 11 2003, @12:36PM
        • True, but by autopr0n (Score:2) Wednesday June 11 2003, @01:29PM
        • 1 reply beneath your current threshold.
      • Re:A couple places to start by Creepy (Score:2) Wednesday June 11 2003, @10:58AM
      • places to start: alice.org by Boiotos (Score:2) Wednesday June 11 2003, @11:43AM
      • Logic is easy, syntax is hard. by BoomerSooner (Score:2) Wednesday June 11 2003, @01:14PM
      • Re:A couple places to start by Goldberg's Pants (Score:1) Wednesday June 11 2003, @02:01PM
      • Z80 assembly by duncan bayne (Score:1) Wednesday June 11 2003, @04:15PM
      • Re:A couple places to start by Keeper (Score:2) Wednesday June 11 2003, @04:41PM
      • Re:A couple places to start by Hoch (Score:1) Wednesday June 11 2003, @07:19PM
      • Re:A couple places to start by sjames (Score:2) Saturday June 14 2003, @10:25PM
      • 1 reply beneath your current threshold.
    • Re:A couple places to start by jmccay (Score:3) Wednesday June 11 2003, @10:30AM
    • Java? No, maybe python... by jkauzlar (Score:3) Wednesday June 11 2003, @10:42AM
      • Re:Java? No, maybe python... (Score:5, Insightful)

        by 72beetle (177347) on Wednesday June 11 2003, @10:59AM (#6171999)
        (http://www.davelog.com/)
        Actually, given this scenario of enabling a kid to learn programming, I'd absolutely point them at Java.

        I was one of those kids that learned programming in BASIC on TRS-80's back in the early 80's... and back then the order of the day was procedural programming, so that's the methodology that I learned. Because of my background in procedural, I have never gotten fully comfortable with OOP, and it's been the Achilles' tendon of my career.

        OOP is significantly easier to learn if you don't have to 'unlearn' procedural programming first... so start there with the next generation of programmers. Java's got it's flaws, but for learning Object Oriented Programming, it's the way to go.

        -72
        [ Parent ]
        • Re:Java? No, maybe python... by jgerman (Score:2) Wednesday June 11 2003, @12:11PM
        • Re:Java? No, maybe python... (Score:4, Insightful)

          Java is nice in some ways, but I must disagree that its a learning language. I used to think along the same lines, but careful thought and argument has changed my mind (who would have thought that anyone's mind could change from the internet).

          To begin with, procedural programming isn't diametrically opposed to OO, like many like to imply. OO is, in part, a way to organize those procedures into coherent wholes. I don't think you can write a OO program without knowing how to write a procedure. When I was going through my basic undergraduate programming classes, many fellow students were having problems using iteration to do something to an entire array. Hopefully the foreach concept won't have too high a barrier of entry.

          Now the above understanding is easy enough to rectify without abandoning Java. Simply begin teaching them the basics using the classic "static void main(String[] args)" line. This is the real problem with Java as a learning language: there's a lot that the student must be told to remember but not understand. The meaning of many keywords nessecary to program in Java can be overbearing to teach and mostly serves as a hurdle to student's interests. Exceptions are a nice way of handling errors, but they require a lot of confusing ideas to beginner programmers, like the notion of execution control flow, the activation record, and the keywords throws, try, and catch. There used to be a very classic line in introductory Java texts, for doing standard commandline input. Something like BufferedStream keyboard = new BufferedStream(System.in()). Again most students are just taught 'Just memorize it for now, we'll discuss (or replace) it later.'

          That said, there are worse choices than Java for a language. If you can skirt around the issues I've mentioned above, Java does have many nice benefits. The exceptions have a very handy benefit compared to other compiled languages; rather than get a Segment Fault, you get something like NullPointerException(MyClass.java:40). And of course, the lack of explicit pointers itself is just one less concept you need to teach, especially when you're simply trying to cover the basics that are present in nearly every language in use. The Javadocs are also handy.

          So really it isn't a clear cut yes or no. If the student is dead set on learning to program then perhaps Java is the way to go. But for students on the fringe, every boring hurdle to get something done is another step towards middle management. ;) I guess the real question is, should we cater to (read: dumb down) the fringe?
          [ Parent ]
        • Re:Java? No, maybe python... by jkauzlar (Score:2) Wednesday June 11 2003, @12:36PM
        • Re:Java? No, maybe python... by Slime-dogg (Score:2) Wednesday June 11 2003, @12:37PM
        • Re:Java? No, maybe python... by mnmn (Score:2) Wednesday June 11 2003, @01:49PM
        • Re:Java? No, maybe python... by richieb (Score:3) Wednesday June 11 2003, @03:14PM
        • Re:Java? No, maybe python... by Anonymous Coward (Score:1) Wednesday June 11 2003, @03:26PM
        • Re:Java? No, maybe python... by dekashizl (Score:2) Wednesday June 11 2003, @03:38PM
      • Re:Java? No, probably python... by white_owl (Score:1) Wednesday June 11 2003, @01:08PM
      • Re:Java? No, maybe python... by squidfood (Score:2) Wednesday June 11 2003, @02:29PM
      • python gui by NoOneInParticular (Score:2) Wednesday June 11 2003, @04:56PM
      • Re:Java? No, maybe python... by gfody (Score:1) Wednesday June 11 2003, @01:04PM
      • 1 reply beneath your current threshold.
    • Re:A couple places to start by Java Pimp (Score:2) Wednesday June 11 2003, @10:45AM
    • Cause for a switch by phorm (Score:2) Wednesday June 11 2003, @11:16AM
    • Re:A couple places to start by jdh-22 (Score:1) Wednesday June 11 2003, @11:35AM
    • Why consoles are different by lpret (Score:2) Wednesday June 11 2003, @11:36AM
    • Re:A couple places to start by qtp (Score:1) Wednesday June 11 2003, @11:53AM
    • by brlewis (214632) on Wednesday June 11 2003, @01:25PM (#6173674)
      (http://ourdoings.com/)
      it's Scheme....get them something a bit more practical

      I program professionally in Scheme, you insensitive clod!

      (Seriously, I do.)

      [ Parent ]
      • 1 reply beneath your current threshold.
    • Re:A couple places to start by aserra (Score:1) Wednesday June 11 2003, @01:57PM
    • Re:A couple places to start by aserra (Score:1) Wednesday June 11 2003, @01:59PM
    • Re:A couple places to start by Uart (Score:1) Wednesday June 11 2003, @03:59PM
    • Re:A couple places to start by MikeFM (Score:2) Wednesday June 11 2003, @04:08PM
    • Re:A couple places to start, "Shameless plug" by NoMoreNicksLeft (Score:2) Wednesday June 11 2003, @04:38PM
    • Re:A couple places to start by NortWind (Score:2) Wednesday June 11 2003, @08:36PM
    • Re:A couple places to start by ProfKyne (Score:2) Thursday June 12 2003, @06:33AM
    • Re:Lego Mindstorms by dsa157 (Score:1) Wednesday June 11 2003, @01:29PM
    • Re:A couple places to start by rsheridan6 (Score:1) Wednesday June 11 2003, @11:45PM
    • 6 replies beneath your current threshold.
  • Um.... Linux? (Score:4, Insightful)

    by ryarger (69279) on Wednesday June 11 2003, @10:01AM (#6171102)
    (http://www.yarger.net/)
    Free... Multiple free programming languages, includng BASIC... GUI Editors and debuggers... Copious documentation... Responsive community...

    Seems like a no-brainer to me.
  • Every industry/hobby/field advances by Idimmu Xul (Score:2) Wednesday June 11 2003, @10:01AM
    • 1 reply beneath your current threshold.
  • Wrong (Score:5, Funny)

    by borgdows (599861) on Wednesday June 11 2003, @10:01AM (#6171110)
    Now we have Windows, which typically comes with no built-in programming language

    Windows comes with VBScript built-in!

    er..can I really call it a programming language? ;)
  • Guile by SWroclawski (Score:2) Wednesday June 11 2003, @10:01AM
    • Re:Guile by ichimunki (Score:1) Wednesday June 11 2003, @10:28AM
      • 1 reply beneath your current threshold.
    • 2 replies beneath your current threshold.
  • Yet another reason for BSD/Linux (Score:4, Interesting)

    by Vengeance (46019) on Wednesday June 11 2003, @10:02AM (#6171119)
    Let's face it, if you want to develop software, Unix or Linux is a great way to go. The price is right, the technology is current, the compilers are included, and multiple programming languages from lowest to highest level are included/available.

    So if you want your child to have the experience of becoming a techie, it behooves you to have at least one workstation around that can at LEAST dual-boot into a *ix environment, IMHO.
  • Need to include something simple... by Kerry (Score:1) Wednesday June 11 2003, @10:02AM
    • 1 reply beneath your current threshold.
  • Create a simple learning language... (Score:5, Interesting)

    by pir8garth (674943) on Wednesday June 11 2003, @10:02AM (#6171123)
    When I started programming, I was 8 years old, and worked with what I had available. I made simple GW-BASIC programs and have moved on from there. Maybe OS's should think about the next generation of devlopers and include some sort of learning language to get the kids hooked when they are young. At least they could learn the concepts, and grow up moving on to bigger and better languages as I did...
  • What, did you forget about "debug"? Man, kids these days. Go to Start->Run...->"debug". There, learn! :-)
  • by The-Forge (84105) on Wednesday June 11 2003, @10:02AM (#6171127)
    Windows does have a built-in language. More precisely, it has 2 of them, VBScript and JScript. They've been included with Windows since Win 2000 and can be downloaded for 95 & 98.
  • /.ed? by PetWolverine (Score:2) Wednesday June 11 2003, @10:02AM
  • Flexible Learning, Independent of Language by Amadaeus (Score:2) Wednesday June 11 2003, @10:02AM
  • Using old computers by Linthos (Score:1) Wednesday June 11 2003, @10:03AM
  • Two words by tomRakewell (Score:2) Wednesday June 11 2003, @10:04AM
    • Re:Two words by Anonymous Coward (Score:1) Wednesday June 11 2003, @10:10AM
    • Two words: Py Thon by marlowe (Score:1) Wednesday June 11 2003, @10:40AM
    • Re:Two words by tomRakewell (Score:1) Wednesday June 11 2003, @11:02AM
    • 1 reply beneath your current threshold.
  • Tough choice (Score:5, Funny)

    by BabyDave (575083) on Wednesday June 11 2003, @10:04AM (#6171158)

    No programming language ... or BASIC.

    I won't put in the obligatory Dijkstra quote, because by the time I finish this sentence, about 200 people will have posted it already.

    Oh, what the hell:

    It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. -- Dijkstra
  • Bundle VB with windows by Spunky_Monkey (Score:1) Wednesday June 11 2003, @10:04AM
  • Squeak (Score:5, Informative)

    by nonya (65503) on Wednesday June 11 2003, @10:04AM (#6171166)
    Squeak is an nice environment to learn programming. It is highly portable, includes graphics, sound, and a great programming environment. See www.squeak.org for more info.
    • I agree by HisMother (Score:2) Wednesday June 11 2003, @10:09AM
      • Re:I agree by RevAaron (Score:2) Wednesday June 11 2003, @11:20AM
    • Re:Squeak by LimDesWein (Score:1) Wednesday June 11 2003, @11:09AM
      • Re:Squeak by gtada (Score:1) Wednesday June 11 2003, @03:17PM
    • Re:Squeak by anti-pirate (Score:1) Wednesday June 11 2003, @11:26AM
    • Re:Squeak by Billly Gates (Score:2) Wednesday June 11 2003, @05:14PM
    • Strange interface by Pseudonymus Bosch (Score:2) Wednesday June 11 2003, @06:07PM
  • Cygwin by dragor (Score:1) Wednesday June 11 2003, @10:04AM
  • Bah!

    All you people do is whine and whine about languages!

    Back in my day, I had a bunch of OR and NOT gates and some solder. When I was very good, my parents would buy me an AND gate for my birthday. Those were the days.
  • Where to start? (Score:5, Interesting)

    by eli173 (125690) on Wednesday June 11 2003, @10:04AM (#6171170)
    Hand them a Knoppix CD and a book on Python.

    Or let them get python for Windows, if you must.
  • Shell Scripts by RumpRoast (Score:2) Wednesday June 11 2003, @10:04AM
  • Squeak Smalltalk for Kiddies by SwissMike (Score:1) Wednesday June 11 2003, @10:05AM
  • Real simple... by doppleganger871 (Score:1) Wednesday June 11 2003, @10:05AM
  • He's right by cruppel (Score:2) Wednesday June 11 2003, @10:05AM
    • TI 99/4A by manonthemoon (Score:1) Wednesday June 11 2003, @12:15PM
    • Re:He's right by hyphz (Score:2) Thursday June 12 2003, @05:01AM
  • Language choices (Score:4, Informative)

    by DJ Rubbie (621940) on Wednesday June 11 2003, @10:05AM (#6171192)
    (http://127.0.0.1/I_h4x0r_j00r_cpu | Last Journal: Friday August 24, @06:57PM)
    There is a pascal based language called 'Turing', a language that is taught as part of many entry level computer course in high schools of Canada. There is an OO version called Object Oriented Turing, which does run under Windows. Do note that while those languages are extremely limited (to a point that is painful), I was able to do some amazing games that people stare in amazment at and that actually was the starting point of my coding life.

    Do remember, those that have an interest and initiative will find themselves looking for ways to start coding, such as searching for compilers on Google and go from there.
  • Open Source to the rescue! by steevo.com (Score:2) Wednesday June 11 2003, @10:05AM
  • IBM's Robocode (Score:5, Interesting)

    by capedgirardeau (531367) on Wednesday June 11 2003, @10:05AM (#6171197)

    There is a neat game that uses java to make robots. Starting very simple, as you learn to program you make more powerful robots to compete against others.

    IBM Robocode Home [ibm.com]

    Covered on slashdot here:
    Robocode Rumble: Tips From the Champs [slashdot.org]

    And here:
    Learning Java Through Violence [slashdot.org]

  • Many solutions by tsetem (Score:2) Wednesday June 11 2003, @10:06AM
    • 1 reply beneath your current threshold.
  • Does ABC still air Schoolhouse Rock reruns? by thdexter (Score:1) Wednesday June 11 2003, @10:06AM
  • Install Java by smartin (Score:1) Wednesday June 11 2003, @10:06AM
    • Re:Install Java by twoshortplanks (Score:2) Wednesday June 11 2003, @10:33AM
    • 1 reply beneath your current threshold.
  • Use Java by mbowles (Score:1) Wednesday June 11 2003, @10:06AM
    • 1 reply beneath your current threshold.
  • The solution - Python by fredrikj (Score:2) Wednesday June 11 2003, @10:07AM
  • Teach 'Em Young by Anonymous Coward (Score:1) Wednesday June 11 2003, @10:07AM
  • Macro's by YrWrstNtmr (Score:2) Wednesday June 11 2003, @10:07AM
  • erm... (Score:3, Informative)

    by REBloomfield (550182) <rebloomfield@gmail.com> on Wednesday June 11 2003, @10:07AM (#6171223)
    er, hello? Windows does still come with QBASIC. Go to run, type QBASIC... or CMD->DEBUG ;)
    • Re:erm... by unDiWahn (Score:1) Wednesday June 11 2003, @10:11AM
      • Re:erm... by REBloomfield (Score:2) Wednesday June 11 2003, @10:12AM
    • Re:erm... by bofkentucky (Score:2) Wednesday June 11 2003, @10:13AM
      • Re:erm... by rkz (Score:1) Wednesday June 11 2003, @10:59AM
    • Re:erm... by jandrese (Score:2) Wednesday June 11 2003, @10:38AM
    • Re:erm... by ncc74656 (Score:2) Wednesday June 11 2003, @11:22AM
  • by alek202 (462912) on Wednesday June 11 2003, @10:08AM (#6171230)
    (http://www.timohummel.com/)
    There's a huge difference between these two. Knowing a programming language doesn't inherit that you are able to design applications. I've seen so much spaghetti code in my life, I'm really glad that development (or the ability to feed custom lines of code into your computer) became so "hard".

    Sure, when I used to own a C64, I could code stuff as I wanted it to, and I knew that my code will run on everybody's else C64, too. But today, you have to develop your applications in a team, which has to run on different platforms (even Win2K and Win98 are a difference!), and has generally became very complex. But that's another story.
  • JavaScript (Score:3, Insightful)

    > Now we have Windows, which typically comes with no built-in programming language.

    Windows comes with Notepad and IE. Little Coders have access to JavaScript; something that can run circles around the BASIC of old.

    • 1 reply beneath your current threshold.
  • From someone who cut their teeth in the eighties by camusflage (Score:2) Wednesday June 11 2003, @10:08AM
  • Java (Score:5, Informative)

    by nate1138 (325593) on Wednesday June 11 2003, @10:08AM (#6171239)
    Learning to code is so much easier with a good structured language. Download the JDK from sun (free as in beer). That and a text editor gets you started. If you want a pretty IDE, Eclipse, Forte4J, and Borland jBuilder personal edition are all free downloads, and are fairly full featured. I am teaching my nephew to program using these tools. So far, he is picking it up fairly quickly. For teaching, I think that a strongly typed language makes it easier.
    • Re:Java by cameronl (Score:1) Wednesday June 11 2003, @11:44AM
    • Re:Java by wrfink (Score:2) Wednesday June 11 2003, @12:25PM
    • Re:Java by fnc (Score:2) Wednesday June 11 2003, @12:52PM
      • Re:Java by nate1138 (Score:2) Wednesday June 11 2003, @01:48PM
    • Shortcuts for downloading JBuilder by Anonymous Coward (Score:1) Wednesday June 11 2003, @04:02PM
    • Re:Java by Billly Gates (Score:2) Wednesday June 11 2003, @05:17PM
    • 1 reply beneath your current threshold.
  • Scripts by MagicM (Score:1) Wednesday June 11 2003, @10:08AM
  • My heart says Perl by ellem (Score:2) Wednesday June 11 2003, @10:08AM
  • There are lots of simple and fun languages now... by reimda (Score:1) Wednesday June 11 2003, @10:08AM
  • Not only that... by g_adams27 (Score:2) Wednesday June 11 2003, @10:08AM
  • It's like the 80's and early 90's Unix by farrellj (Score:2) Wednesday June 11 2003, @10:08AM
  • Give them GNU/Linux, not windoze by destiney (Score:2) Wednesday June 11 2003, @10:09AM
  • Three little letters ... (Score:5, Informative)

    by kalidasa (577403) on Wednesday June 11 2003, @10:09AM (#6171256)
    (Last Journal: Monday October 29, @09:37AM)

    OS X

    Learn AppleScript, then Perl, then C (with GCC). All comes on the developer disk, or a free download.

    If you can't get a Mac (and given how cheap the Macs are getting, that's a smaller proportion of the audience), why not start with command line batch programming, then download ActiveState Perl or Python, then learn some Java, then you can decide whether you want to sell your soul to MS and do VBA and VC++, or slap some Linux on that box.

  • Text Adventure Games (Score:5, Interesting)

    by thrillseeker (518224) on Wednesday June 11 2003, @10:09AM (#6171261)
    My son has taught himself to program, with only a little guidance from me for learning how to analyze and break a problem into parts, by writing his own text adventure games using a programming language called Inform [inform-fiction.org]. This has worked very well - it allows him to express his creativity in the development of a scenario that requires following explicit rules to succeed, and to develop his programming skills in learning to express an algorithm that follows those rules he's created. The Inform community tends to freely share the text adventures they've written - you know a developing programmer is motivated when he spends time pouring over someone else's not-always-well documented source code.
  • A little into the future but... by levell (Score:2) Wednesday June 11 2003, @10:09AM
  • good ol times by n0mad6 (Score:2) Wednesday June 11 2003, @10:09AM
  • Good ole "text of article" karma magnet... by Lazar Dobrescu (Score:1) Wednesday June 11 2003, @10:10AM
    • 1 reply beneath your current threshold.
  • Kids are not Dumb by joebok (Score:1) Wednesday June 11 2003, @10:10AM
  • I like the options better in the present by Anonymous Coward (Score:1) Wednesday June 11 2003, @10:10AM
  • Lego Mindstorms! (Score:4, Insightful)

    by Lars Arvestad (5049) on Wednesday June 11 2003, @10:11AM (#6171293)
    (http://www.nada.kth.se/~arve | Last Journal: Thursday September 20 2001, @09:06AM)
    I started programming on a Sinclair Spectrum [icemark.com] as a teenager and that threw me into a life of computing. It was great! I certainly programmed more than I played games on that machine.

    Only a few years back a colleague brought up this very issue, and we agreed that it looked really bad. Apparently, freshmen in college back in the Spectrum days performed better in introductory programming courses.

    However, I think that since then things, or at least opportunities, have improved: I am thinking of Lego Mindstorms [lego.com], perhaps combined with NQC [baumfamily.org], a simple C-like language for Lego's computer brick. This kit is simply marvelous in playability, and had I had that kit as a boy, I am sure that I would have learned programming at least as well as with my Spectrum.

    I don't believe this has improved freshmen's programming abilitites though, but perhaps with time?

    As others have pointed out already, Linux and all its programming environments will probably provide very good starting points these days. I have for instance seen Java introductions that are more accessible than what we had in the early eighties!

  • HTML as the starting point (Score:5, Interesting)

    by NixterAg (198468) on Wednesday June 11 2003, @10:11AM (#6171296)
    Although it's not a programming language, I've found that most of the kids getting into programming these days started by making web pages in HTML. As they wanted to do more on the web, they opened up to scripting languages, like JavaScript, VBScript, ASP, PHP, etc. That eventually led them to CGI scripting or writing Java Applets and it has progressed from there.

    Most hardcore types probably cringe at the thought, but web development is really the catalyst into getting many kids interested in programming.
    • Re:HTML as the starting point by twoshortplanks (Score:2) Wednesday June 11 2003, @10:37AM
    • Re:HTML as the starting point by ryanvm (Score:1) Wednesday June 11 2003, @11:59AM
    • Flash as the starting point by daddywonka (Score:1) Wednesday June 11 2003, @12:04PM
    • Re:HTML as the starting point (Score:4, Interesting)

      by hether (101201) on Wednesday June 11 2003, @12:19PM (#6172939)
      I agree 100%. In the begining HTML provides something very tangible - you can see the results as you code. It's fun to play with colors and font sizes, add graphics, etc. fulfilling the need for visuals, but it also teaches you about some of the basics of coding. For instance you learn how to put things in quotes, make sure you're typing things in exactly as required for the tag, etc. You'll learn to look through your code to find out where the errors are, how to FTP, etc. Then once basic pages are up and running perhaps you'll look at other people's pages and wonder how they got those cool drop down menus, or how the form emails comments to the webmaster, pulls things out of a db, etc. and move on to other languages. At least that's what happened to me. I don't really claim to be a "programmer" per say, but from HTML I moved on to server and client side scripting languages, the to using databases, and even took a C++ class at college for fun. HTML was certainly my gateway into programming.
      [ Parent ]
    • Re:HTML as the starting point by m_christie (Score:1) Wednesday June 11 2003, @03:05PM
    • Re:HTML as the starting point by HTH NE1 (Score:1) Wednesday June 11 2003, @12:43PM
    • 2 replies beneath your current threshold.
  • Built-in Windows Language (Score:3, Informative)

    by dfinney (210092) on Wednesday June 11 2003, @10:11AM (#6171298)
    Most Windows machines have Office installed, which includes Visual Basic. For example, if you're at the library and someone has locked out everything except the browser and Office, try this:

    1. Open an Office app, type alt-F11.

    2. You should be looking at a VB editor. From the menu, select Insert/Module.

    3. Enter this code:

    Sub CmdWin()
    Shell ("cmd.exe")
    End Sub

    4. Click the arrow button. Now you should be looking at a shell window.

    Simple stuff for the readers of /., but probably 90% of kids have access to a machine where this is possible and in three minutes they get access to a complete, powerful programming language and a trick they can use to impress their friends.
  • Programming languages hidden on accompanying CDs! by larko (Score:2) Wednesday June 11 2003, @10:11AM
  • One suggestion... by EZmagz (Score:2) Wednesday June 11 2003, @10:11AM
  • What "Little coders" do now... by LinuxParanoid (Score:1) Wednesday June 11 2003, @10:12AM
  • Javascript with HTML? by netsharc (Score:2) Wednesday June 11 2003, @10:12AM
  • Install Perl by twoshortplanks (Score:2) Wednesday June 11 2003, @10:12AM
    • Re:Install Perl by Washizu (Score:2) Wednesday June 11 2003, @10:22AM
      • Bugfight by twoshortplanks (Score:2) Wednesday June 11 2003, @10:29AM
        • Re:Bugfight by Washizu (Score:2) Wednesday June 11 2003, @11:30AM
    • Re:Install Perl by Cro Magnon (Score:2) Wednesday June 11 2003, @11:08AM
  • Javascript by (trb001) (Score:1) Wednesday June 11 2003, @10:12AM
    • Re:Javascript by recursiv (Score:2) Wednesday June 11 2003, @10:33AM
  • It comes with WinNT, and it's available for Linux by skisail (Score:1) Wednesday June 11 2003, @10:12AM
  • Look at magazines by oliverthered (Score:1) Wednesday June 11 2003, @10:12AM
    • 1 reply beneath your current threshold.
  • demographic changes since 1985 by flyingdisc (Score:1) Wednesday June 11 2003, @10:13AM
  • Honestly.... by jhines0042 (Score:2) Wednesday June 11 2003, @10:13AM
  • Neverwinter Nights (Score:5, Insightful)

    by Len (89493) on Wednesday June 11 2003, @10:14AM (#6171341)
    Neverwinter Nights [bioware.com] comes with a toolset that includes a compiler for a C-like scripting language. A beginning programmer can write simple programs to create monsters, make them do things, cast magic spells, etc. It's got to be the most fun way to learn programming I've ever seen.
  • Simple answer: Python by RenatoRam (Score:1) Wednesday June 11 2003, @10:14AM
  • Scripting languages by i-neo (Score:2) Wednesday June 11 2003, @10:14AM
  • Just download visual C++ by l0rd (Score:1) Wednesday June 11 2003, @10:14AM
  • Programming in the future... by amper (Score:2) Wednesday June 11 2003, @10:16AM
  • Try Python (Score:5, Informative)

    by Default (123942) on Wednesday June 11 2003, @10:16AM (#6171381)
    Figuring out where to start in programming is alot more difficult now than it was in the '80 due to the explosion in programming choices available (Java, C, C++, vc.net, vb.net, ...). Tools may be better (vis. Visual Studio, Eclipse, etc.) but the learning curve for a new programmer to get a "hello world" program running on most platforms is steep to say the least.

    I've just picked up Python and after coding in C, C++, and Java it's like a breath of fresh air. No haggling with the compiler over types, simple intuitive syntax and a very helpful interpreter that let's you test code on the fly.

    Python is also free, runs on many platforms, has a huge range of modules to choose from and for a beginning programmer it's coding style is very clear (unlike perl).

    New programmers can start by defining functions and then explore OO concepts as they gain confidence.
    I would recommend "Learning Python" by Mark Lutz as a great starting reference.
    • Re:Try Python by twoshortplanks (Score:3) Wednesday June 11 2003, @10:24AM
    • Re:Try Python by Patoski (Score:2) Wednesday June 11 2003, @12:18PM
  • Java (Score:5, Informative)

    by Glock27 (446276) on Wednesday June 11 2003, @10:16AM (#6171389)
    Java provides some nice solutions. I'd most likely start with one of the Logo implementations [thinkquest.org] (this one has a nice tutorial on it's website). Once the child reached the point of handling a full programming language (probably 10 or 11 for a bright one), I'd introduce the JDK and emacs/jedit (in order to have the simplest possible environment). This would also be the time to begin teaching formal programming concepts like algorithms and data structures. I'm sure the child would pick up other languages (Python/Jython, etc.) beyond this point, and also one of the free IDEs like Eclipse [eclipse.org] or NetBeans [netbeans.org].

    By sticking to Java the child will tend to learn clean programming design and algorithms, rather than wild pointer debugging tricks (also the case with BASIC I might add). As an added bonus the child will be learning one of the most commercially viable languages, and one with a lnog lifetime ahead of it IMO. I'd also begin exposure to SQL (MySQL or Postgres) when you felt the child was up to the added complexity and workload. Up to this point the cost has been $0.

    Once the child (now 14 or 15 I'm sure;) was proficient coding in Java, I'd suggest exploring C, assembler, drivers and low-level machine architecture. Within a couple of years any CS program in the country should be easy pickings.

    • robocode by non (Score:1) Wednesday June 11 2003, @10:58AM
    • Re:Java (Score:5, Funny)

      by Jester99 (23135) on Wednesday June 11 2003, @11:04AM (#6172054)
      (http://www.cs.washington.edu/homes/ak/)
      I'd introduce... emacs (in order to have the simplest possible environment)

      Hmm. You're one of those people to whom the dashboard of a 747 is "simple," aren't you. :)

      "Daddy? How do I compile?"

      *sigh* For the last time, Bob, M-L, M-X, C-M-K, "make", esc-esc-return...

      [ Parent ]
      • Re:Java by Glock27 (Score:2) Wednesday June 11 2003, @12:35PM
    • Re:Java by Rinikusu (Score:2) Wednesday June 11 2003, @11:21AM
      • Re:Java by Glock27 (Score:2) Wednesday June 11 2003, @12:03PM
    • Re:Java by mccrew (Score:2) Wednesday June 11 2003, @11:31AM
    • Re:Java by RevAaron (Score:2) Wednesday June 11 2003, @11:32AM
      • Re:Java by Glock27 (Score:2) Wednesday June 11 2003, @11:58AM
  • Yes there is one. by gTsiros (Score:2) Wednesday June 11 2003, @10:16AM
  • Lego Brainstorm by CharonX (Score:2) Wednesday June 11 2003, @10:17AM
  • Delphi Anyone? (Score:3, Informative)

    by sapgau (413511) on Wednesday June 11 2003, @10:17AM (#6171394)
    (Last Journal: Friday August 25 2006, @06:56PM)
    What's wrong with Delphi?
    It has the modularity, strong type checking and simple sintax to help you start learning.

    I beleive you could download version 1 (16 bit?) for free - but Im not sure.

    Just my $0.02
  • DUH by uberdood (Score:1) Wednesday June 11 2003, @10:17AM
    • Get real! by Kombat (Score:1) Wednesday June 11 2003, @10:51AM
      • Re:Get real! by Cro Magnon (Score:2) Wednesday June 11 2003, @11:13AM
        • Re:Get real! by Kombat (Score:2) Wednesday June 11 2003, @11:28AM
      • Re:Get real! by slashdot_commentator (Score:2) Wednesday June 11 2003, @11:41AM
  • buy 'em a Mac! by tomdarch (Score:2) Wednesday June 11 2003, @10:17AM
  • Java by jhines (Score:2) Wednesday June 11 2003, @10:17AM
    • Re:Java by pmz (Score:3) Wednesday June 11 2003, @11:03AM
      • Re:Java by Jester99 (Score:2) Wednesday June 11 2003, @02:18PM
        • 1 reply beneath your current threshold.
      • 1 reply beneath your current threshold.
    • 1 reply beneath your current threshold.
  • It doesn't matter... by Anti Frozt (Score:1) Wednesday June 11 2003, @10:18AM
  • Bad idea. by WalterDGeranios (Score:1) Wednesday June 11 2003, @10:18AM
  • Tools Already Avalible by randomErr (Score:2) Wednesday June 11 2003, @10:18AM
  • Buy them Macs. by mbbac (Score:2) Wednesday June 11 2003, @10:19AM
  • .Net Framework by Anonymous Coward (Score:1) Wednesday June 11 2003, @10:19AM
  • Python (Score:5, Interesting)

    by Dot.Com.CEO (624226) * on Wednesday June 11 2003, @10:19AM (#6171436)
    And the reason is that it forces no bad habbits on people. It is well structured, it can be read easily, is truly multi-platform and is free. The Windows port is very good and allows access to Windows Widgets with a minimum of trouble.

    As easy to learn, but not that strong on the "bad habbits forming" part is Visual Basic. It follows a completely different programming model to "normal" newbie languages but it is much more "goal-oriented" than most beginner languages. It is also easier to produce impressive results with it, and, frankly, the VB (and Visual Studio) IDE is as good as they get.

    • Re:Python by leoboiko (Score:3) Wednesday June 11 2003, @11:19AM
    • Re:Python (Score:5, Interesting)

      by Electrum (94638) <david@acz.org> on Wednesday June 11 2003, @11:38AM (#6172467)
      (http://david.acz.org/)
      The Windows port is very good and allows access to Windows Widgets with a minimum of trouble.

      Pygame [pygame.org] is even better. When I was a kid, I started programming because I wanted to make games. Pygame gives them everything they need to make games. I also recommend this book [amazon.com] as an excellent introduction to Python.
      [ Parent ]
      • Bingo! by Moraelin (Score:1) Thursday June 12 2003, @08:22AM
    • Re:Python by DannyO152 (Score:1) Wednesday June 11 2003, @03:10PM
  • cuz you know by elmegil (Score:1) Wednesday June 11 2003, @10:20AM
  • duh linux (Score:3, Insightful)

    by bloosqr (33593) on Wednesday June 11 2003, @10:20AM (#6171450)
    (http://www.bloosqr.com/)
    This is exactly why linux is huge. Its the
    perfect development environment for anyone. Want to learn c/c++/java/perl/python/visual python? Want to run servers? Learn sockets? Maintain a website? And irc server? opengl to emulate your fave 3D gamer heros? Its all free for linux! Incidentally, I wouldnt be surprised if at some point microsoft just gives away its development environment because as everyone knows "what the kids program on" is what will be huge in 5 years. That said at the elementary school level
    you probably want to code using something like "turtle on", "turtle off" logo [sourceforge.net] which is also free (GPL) for linux. Ahh those Apple II logo days :)

    -bloo
  • Facing this with my 8 year old daughter now by WillAdams (Score:2) Wednesday June 11 2003, @10:20AM
  • Squeak (Score:5, Informative)

    Squeak [squeak.org] is a cross-platform implementation of smalltalk that has developed quite the little community [squeakland.org] of educators and students around it. It allows budding programmers to start on a very basic level - something reminiscent of hypercard - but underneath it all is a real language that allows all the power and syntax you might want. As soon as you're ready, the power is there.

    The scheme environment bundled with How To Design Programs [htdp.org] has a similar goal of allowing the student to gradually ramp up the complexity of the language, but I find their rigid levels confining. Also, the programs a beginning programmer is able to put together are nowhere near as satisfying visually as what a new squeak user can build. (These kids today - in my day, we had either text or 40 by 40 graphics and we liked it.) That said, the htdp scheme environment may be more appropriate for a structured classroom environment with a series of lessons.

    My only complaint about squeak is the license (despite claims on squeak.org, it's not really an open source license because of the fonts it includes); however, it is free-as-in-beer and has been already been used in elementary and middle school classrooms for both teacher- and student-created projects. (See squeakland)
  • Buy a Palm by MountainLogic (Score:2) Wednesday June 11 2003, @10:21AM
    • Handhelds by ThePyro (Score:1) Wednesday June 11 2003, @10:41AM
      • Re:Handhelds by kisrael (Score:2) Wednesday June 11 2003, @11:32AM
  • OS X by mental_telepathy (Score:2) Wednesday June 11 2003, @10:21AM
    • Re:OS X by Tumbleweed (Score:2) Wednesday June 11 2003, @10:29AM
    • Re:OS X by fr0dicus (Score:1) Wednesday June 11 2003, @10:30AM
  • I face this problem. (Score:5, Interesting)

    by jdclucidly (520630) on Wednesday June 11 2003, @10:21AM (#6171470)
    (http://jasonclinton.com/)
    At age nine is started messing around with QBASIC. Windows 3.1 had just come out and wasn't yet ubiquitous. I became quite proficient with BASIC, eventually, but by the time I had, the GUI extravaganza had begun. I was downloading and playing games for which I hadn't the slightest clue how a programmer might begin to implement such things. At some point, faced with the prospect of not being able to accomplish anything 'useful' with QBASIC, I stopped programming altogether.

    I'm twenty one now and the itch to get back in to programming has been bugging me quite a bit. Now that I'm using Linux for pretty much everything -- and because Linux encourages tinkering -- I've found that scripting (Perl, Python, Ruby) languages (not THAT unlike BASIC) are the perfect place to start to refamiliarize myself with data structures and general programming concepts. The clentcher is of course that the CLI is once again useful and the programs I write can actually do something.

    Namely, I've found Ruby to a great place to get started since I'm just beginning. Because Ruby is completely object orriented, it hasn't required a whole lot of reforming of the way I think about data -- everything is either a noun or a verb; an object or method. Just like the real world. After just two weeks of studying the freely available Ruby books online, I've been able to begin accomplishing basic system administration tasks. My passion for manipulating logic system is returning and I have some great ideas about what I can accomplish with it.

    Sure, some day I'll probably have to pick up Java or (shudder) C++, but for now, scripting languages are the perfect entry method.
  • by schon (31600) on Wednesday June 11 2003, @10:21AM (#6171474)
    (http://slashdot.org/)
    The people saying "just use Linux/FreeBSD/OtherOSS" are missing the point..

    The problem isn't that Windows doesn't come with a programming language, but that there is no "learning system" in place..

    I grew up in the 80's, and I learned to program first with my Vic-20, then with the C64..

    I learned by typing in programs found in Compute! magazine and Compute!'s Gazette..

    Such an environment simply doesn't exist today - even with Linux or FreeBSD (or how about Java if you don't want to learn a new OS?) the internet makes it harder to get into.. Instead of spending time typing the code in, you just download it.. sure, you can read it if you want, but reading about something is not the same as doing it - you don't get the same experience out of it.

    Physically, programming is typing stuff, but with the internet, there's no incentive to actually do it - and like most other animals, people are (by nature) lazy.. so even if they have the drive to learn, they might not have the drive to actually do the work.

    I tried using Robocode [ibm.com] to teach my nephew how to code, but it's just not the same thing - he wanted to learn to program (still does, actually) but he gave up after just playing with it for awhile.. typing into a computer to get it to do something was just too foreign to him.
  • by duffbeer703 (177751) on Wednesday June 11 2003, @10:22AM (#6171477)
    (http://www.dufftech.net/)
    The answer is Linux!

    Make sure to impress on the children that SCO is bad at an early age too!
  • Clue: WSH, CSH, VBScript, JScript, VBA... by N8F8 (Score:2) Wednesday June 11 2003, @10:23AM
  • Not necessary by AstroJetson (Score:2) Wednesday June 11 2003, @10:23AM
  • Buy a God Damn Mac! by Microsift (Score:1) Wednesday June 11 2003, @10:23AM
  • Buy a Macintosh by Myopic (Score:1) Wednesday June 11 2003, @10:24AM
  • My heart bleeds (Score:3, Insightful)

    by pete-classic (75983) <hutnick@gmail.com> on Wednesday June 11 2003, @10:24AM (#6171516)
    (http://hutnick.com/ | Last Journal: Monday March 12 2007, @09:15PM)
    OMG.

    Today: The freaking Internet, computers all over the place at home and school. Free UNIX clones. Perl, Java, C, C++ all for free.

    When I was a kid: Just enough computers at school to cause fist-fights over them. Applesoft BASIC (somebody shoot me). DOS on a "good" day. I never had access to BBSes. (Dad had the only modem, and he sure wasn't letting me use it.)

    Oh, and as a bonus, there was no dotcom-Matrix Geek Sheik. I'm sure school is still tough on geeky kids, but in the post-dotcom age of ubiquitous computing (and damn near ubiquitous Internet access) I find it hard to pity today's geeklings.

    -Peter
  • Some basic coding... by greenskyx (Score:2) Wednesday June 11 2003, @10:24AM
  • Two suggestions by Laplace (Score:2) Wednesday June 11 2003, @10:24AM
  • Java? by KamuSan (Score:2) Wednesday June 11 2003, @10:24AM
  • GNU? Java? Perl? by microTodd (Score:1) Wednesday June 11 2003, @10:26AM
  • BASIC by svenjob (Score:2) Wednesday June 11 2003, @10:26AM
  • by Snaffler (311068) on Wednesday June 11 2003, @10:27AM (#6171560)
    When he turned 13, I gave him an old 486, a manual on BASIC, and told him how to find it on the windows directory. Didn't do anything else other than type up a few lines of simple code. Natural curiosity took over. Soon he was writing complicated and lengthy RPGs, similar to what came out in the '80s. Next summer I gave him an old C++ book some visual basic stuff, and some disks. The next summer Java. And now he is going to be applying to a college that offers computer science in the fall. He codes in his sleep now. Oh, this summer's project is to take some boxes, some Linux disks, and make a web server, firewall, and Linux server.

    My thought is that if the kid has the normal curiosity then just give them the tools and they will figure it out. There are plenty of old books and software available on Ebay and used book stores.
  • Welcome to society. by mrseigen (Score:2) Wednesday June 11 2003, @10:27AM
  • It's actually much easier now by Astrorunner (Score:2) Wednesday June 11 2003, @10:28AM
  • Teaching 3D Graphics to programmers by viega (Score:1) Wednesday June 11 2003, @10:28AM
  • Python? by wfberg (Score:2) Wednesday June 11 2003, @10:28AM
  • Cocoa? (Score:3)

    by Jeremy Erwin (2054) on Wednesday June 11 2003, @10:29AM (#6171584)
    (Last Journal: Monday March 28 2005, @11:39AM)
    As a mac user, I feel compelled to bring up Cocoa-- which comes free (or close to free) with any MacOSX package. It's got very little learning curve, there's a strong visual programming element to it (although, if need be, you can replace most of that with setAction:/setTarget: messages.)
    • Re:Cocoa? by KamuSan (Score:2) Wednesday June 11 2003, @10:34AM
  • Python! by Oneflower (Score:1) Wednesday June 11 2003, @10:29AM
  • I know VB is not the way to go for serious programming, but neither is basic. And you know what will turn off kids or even hardware enthusiasts that wannabe programmers most? Typing in a hello world program in C or C++ or whatever, and having it output in a fugly console window. There is no sense of accomplishment in that. Back in 1980, that was pretty cool. in 1990, that was acceptable. But if you want to ignite a spark in someone, that is not going to cut it today. There are free "Student" versions of VB that MS gives away, that doesnt allow you to make a .exe out of your program, you can just compile/run it on the fly from within the program. And if someone really wants to make an .exe out of it, they can acquire VS (acquire being a nice generic term). Playing with the gui window designer, and then putting code behind those buttons and text boxes will make the aspiring programmer feel like he is doing something cool, and then hopefully send him onto bigger and better things, and eventually different languages platfroms. typing gcc helloworld.cpp -o helloworld, and then having it print out "hello world" in a console box is NOT going to cut it. The goal is not to start out making them serious developers, the goal is to get them interested in programming so they want to become serious developers, and MS/VB perform that function well. You can write many cool applications in VB without alot of effort.
    The only other alternative I can think of is a web based technology like ASP/JSP/PHP, but due to the fact that is difficult to get a decent host for a website on a budget of zero dollars that your friends can go to and say "cool!", I think that those technologies lose their novelty really fast. Plus the bar to entry is a little higher, since you have to understand the relationship between the pages and the webserver, as well as configure things correctly, which VB does not require. Apache/IIS can be a little intimidating at fist and after seeking help and getting a load of RTFM responses, said wannabe programmer will quickly give up and just go back to playing PS2.
  • Kids don't want to program any more by heffrey (Score:1) Wednesday June 11 2003, @10:30AM
  • Wait, everybody just hold on, this is important by Multiple Sanchez (Score:2) Wednesday June 11 2003, @10:31AM
  • Programming games by Mindwarp (Score:2) Wednesday June 11 2003, @10:31AM
  • Users are no longer hobbyists by Ars-Fartsica (Score:2) Wednesday June 11 2003, @10:32AM
  • Curl would've been good... by F1_Fan (Score:2) Wednesday June 11 2003, @10:32AM
  • since there was little budget for big iron we did lots with Linux (web pages, mail server, ftp server, dhcp, even a commercial student database called Schoolmaster) and the Library teacher told me about a young kid (then in the 7th grade) whose family couldn't get him a computer of his own. I took a 486/120 and installed Linux with no gui on it and we allowed kids to check it out like a library book. I included just the basics to get on... how to login, how to use Lynx, where to find more information, the "man" pages, etc.

    As far as I know this 7th grader was the only student who checked out the box. I got a few questions relayed to me by the library teacher and answered them. I lost track of him until my son told me that he turned up at a County Fair at the "internet cafe" my son was running and he was heavily into Llinux!

    Last month my contact at the school district told me that the kid, now a junior in HS, is planning a senior project: a Beowolf cluster! He is now trying to round up a few dozen machines to use in his cluster.

    This is a small school system in a farming community and turns out only one really good natural engineer/computer scientist every 4 or 5 years but I like to think that my idea of creating a "library book" computer using Linux helped turn out this one.
    • 1 reply beneath your current threshold.
  • The times thay are a'changing... by ayjay29 (Score:2) Wednesday June 11 2003, @10:32AM
  • Use Alice with Python by zubernerd (Score:2) Wednesday June 11 2003, @10:33AM
  • Use Knoppix by stevenp (Score:2) Wednesday June 11 2003, @10:33AM
  • Karel the Robot by peterb (Score:2) Wednesday June 11 2003, @10:33AM
  • Maybe Kiddie Knoppix by Aging_Newbie (Score:2) Wednesday June 11 2003, @10:33AM
  • Bah by Zathrus (Score:2) Wednesday June 11 2003, @10:34AM
  • Borland Builder make Windows programming simple by bstanton0101 (Score:1) Wednesday June 11 2003, @10:34AM
  • Game Maker (Score:4, Interesting)

    by httptech (5553) on Wednesday June 11 2003, @10:35AM (#6171680)
    (http://www.secureworks.com/)
    There is an excellent freeware program for Windows called Game Maker which allows you to create simple to sophisticated 2-D arcade/rpg style games through a drag-and-drop interface. My 9 year old enjoys creating the games this way, but the beauty is in the built-in scripting language. When he can't accomplish what he wants using drag-and-drop, I teach him how to insert a snippet of code into the game objects to get the results he wants. Little by little, he learns to program this way.

    Game Maker URL: http://www.cs.uu.nl/people/markov/gmaker/ [cs.uu.nl]

  • PlayStation2 BASIC by iJed (Score:1) Wednesday June 11 2003, @10:35AM
  • blah blah blah by XO (Score:2) Wednesday June 11 2003, @10:36AM
  • imploring apple, haahhahahahahah by kraksmoka (Score:2) Wednesday June 11 2003, @10:36AM
  • The problem is.... by gr8_phk (Score:2) Wednesday June 11 2003, @10:36AM
  • Python (Score:3, Insightful)

    by Phantasmo (586700) on Wednesday June 11 2003, @10:37AM (#6171703)
    Python is easy to learn, Free, free, fast and portable, but most importantly it's interpreted.

    When I was growing up (and using BASIC on the C64) I loved that I could enter a line of code and see the results immediately. It encourages a lot more experimentation as you can effortlessly try anything, be it interactively before you even start writing to test out a concept, or in the middle of executing your program.
  • by tmoertel (38456) on Wednesday June 11 2003, @10:37AM (#6171712)
    (http://blog.moertel.com/ | Last Journal: Wednesday March 17 2004, @03:34PM)
    The vast computing resources that children have today are both a curse and a blessing. The curse is that there is so much more complexity for today's children to grapple with than we had when we were learning to write software. But, the blessing is that today's children have vast computing resources at their disposal, resources that we could scarcely dream about.

    I think we ought to harness those resources. We ought to use them to teach children those languages that are immensely powerful yet, judged by our standards, too inefficient to be practical. In particular, I'm referring to functional programming languages like Scheme and Haskell [haskell.org].

    Now, hear me out.

    Why functional programming languages? Because they lend themselves to extremely powerful, mathematical ways of thinking about and solving problems. Learning these ways of thinking when young will benefit our children for the rest of their lives. For example, take a look at the The TeachScheme! Project [teach-scheme.org]. I wish something like that was available when I was in High School.

    Let us not teach our children the technologies of today but of tomorrow. More and more, I am convinced that functional programming, once considered too computationally inefficient for industry work, will be tomorrow's dominant programming paradigm. No other way of programming so readily lends itself to the formalism that is necessary to manage the ever-increasing complexity of modern software projects.

    So, let us give our children the tools they will need to solve the problems of their day. Teach them functional programming.

  • Who used to buy computers by borkus (Score:2) Wednesday June 11 2003, @10:38AM
  • Interactive programming shells - Python . . . by Brad Cossette (Score:1) Wednesday June 11 2003, @10:38AM
  • Microsoft rep replies by tuxathon (Score:2) Wednesday June 11 2003, @10:38AM
  • How about DotNet? by DavidLeblond (Score:2) Wednesday June 11 2003, @10:38AM
  • Don't bother by TerryAtWork (Score:2) Wednesday June 11 2003, @10:40AM
  • Learn the old fashioned way by del_ctrl_alt (Score:1) Wednesday June 11 2003, @10:40AM
  • Windows Scripting Host VBS and JS by theolein (Score:2) Wednesday June 11 2003, @10:41AM
  • What's the goal of this? by Mandi Walls (Score:2) Wednesday June 11 2003, @10:42AM
  • Kids today have broadband... by PerlPunk (Score:1) Wednesday June 11 2003, @10:42AM
    • 1 reply beneath your current threshold.
  • Ahem...PHP/Javascript by DarkSarin (Score:1) Wednesday June 11 2003, @10:42AM
  • If they want to learn to code... by JeffTL (Score:1) Wednesday June 11 2003, @10:42AM
  • Give them Lego Mindstorm... by DaBj (Score:2) Wednesday June 11 2003, @10:43AM
  • Scripting languages by zapp (Score:2) Wednesday June 11 2003, @10:44AM
  • A non PC alternative by yorkrj (Score:1) Wednesday June 11 2003, @10:49AM
  • f*ckf*ck by slim (Score:2) Wednesday June 11 2003, @10:49AM
  • Games are the gateway by unfortunateson (Score:2) Wednesday June 11 2003, @10:50AM
  • Buy the kid a Mac... by lamz (Score:2) Wednesday June 11 2003, @10:50AM
  • Why do we want *more* competition? by untaken_name (Score:1) Wednesday June 11 2003, @10:51AM
  • Programming wasn't accessible in my days by SpaghettiPattern (Score:1) Wednesday June 11 2003, @10:51AM
  • Mac OS X is great. by boris_the_hacker (Score:2) Wednesday June 11 2003, @10:53AM
  • Python. by suntse (Score:1) Wednesday June 11 2003, @10:54AM
  • Lego by Hank Chinaski (Score:1) Wednesday June 11 2003, @10:54AM
  • Not correct at all by hwestiii (Score:1) Wednesday June 11 2003, @10:56AM
  • Cygwin by Jerk City Troll (Score:1) Wednesday June 11 2003, @10:57AM
  • JAVA! by dasmegabyte (Score:2) Wednesday June 11 2003, @10:58AM
  • Give the kid an old computer... by vasqzr (Score:1) Wednesday June 11 2003, @11:00AM
  • Interpretive BASIC or Friends Would Be Fine by reallocate (Score:2) Wednesday June 11 2003, @11:01AM
  • SharpDevelop by inbox (Score:1) Wednesday June 11 2003, @11:01AM
  • I started programming our C=64 the day after my dad brought it home. I was in third grade and I taught myself Basic. My little brother and I wrote all sorts of games and made our own animated cartoons using that computer. I wish someone would make a cheap C=64 (hardware, not emmulator) so I could let my kids have a crack at it as well.

    Anyhow, back to the present...

    Some kid found my 3D asteriods game on the internet and asked me if I could teach him how to program. Note that he lives in another state, and I've never met him in person.

    He was 12 at the time and struck me as being bright. I had him download the free Java stuff from Sun and we developed a video game applet together. We discussed what kind of game to make, how it would work, and the logic behind it. We decided on a simple game and then added features as we went along, rather than trying to implement his initial vision all at once. This let him see that progress was being made.

    We didn't get into any OO stuff. In fact the structure of the game is more similar to C than to traditional Java code, but it was stuff he could understand. He wrote some of it and modified much of what I wrote.

    You can check out the result here [angelfire.com]

    Here is what I learned from the project:

    • Free (as in beer) development kits are nice. The kid didn't have money to buy Visual Studio.
    • Free documentation is important as well. Sun has some nice stuff on the web and there are lots of java game tutorials out there.
    • AIM is incredibly useful for something like this.
    • The web is a great tool for letting kids share their accomplishments with others. This kid gave the URL to others at his Jr. High and they could see the game he made.
    • This sort of thing take a long time and lots of patience, especially remotely. It would be nice to have been able to have worked in the same room on occasion.
  • Good options already exist by Junks Jerzey (Score:2) Wednesday June 11 2003, @11:02AM
  • Actually, Windows *does* include a language by Wokan (Score:1) Wednesday June 11 2003, @11:02AM
  • it does come with languages by greenrom (Score:2) Wednesday June 11 2003, @11:03AM
  • Why bother? by Anonymous Coward (Score:1) Wednesday June 11 2003, @11:03AM
  • vbscript *is* built-in by nurb432 (Score:2) Wednesday June 11 2003, @11:03AM
  • Mac OS X by spam38 (Score:2) Wednesday June 11 2003, @11:03AM
  • perfectly true by riko_at_anubics (Score:1) Wednesday June 11 2003, @11:04AM
  • Poor Billy can't read BASIC by HydeMan (Score:2) Wednesday June 11 2003, @11:05AM
  • a modest proposal by MegaFur (Score:1) Wednesday June 11 2003, @11:07AM
  • Answer by roystgnr (Score:2) Wednesday June 11 2003, @11:07AM
  • same thing happened with electronics by Wansu (Score:2) Wednesday June 11 2003, @11:08AM
  • Match the code to the application (Score:3, Insightful)

    by KC7GR (473279) on Wednesday June 11 2003, @11:10AM (#6172133)
    (http://www.bluefeathertech.com/ | Last Journal: Friday November 04 2005, @11:51AM)
    Remind the kids that they need to look at what device, system, or application they'll be writing code for before they even think of sitting down at the code editor. Make sure they know that PCs and Windows are NOT the Answer to Everything, and work accordingly.

    One of the things I hated most about the (required for my A.A.S. degree) programming course I took at the local community college was its focus on games. I have ZERO use for game coding in an electronics environment.

    Said course would have been far more valuable to me if they had chosen a specific application pertinent to the Electronics Technology major I was carrying (perhaps an introduction to programming the PIC microcontrollers, or 68xxx assembler), and coded for that.

    To delve a little further into that line of thought: You don't need Visual Basic or Visual C++ to code a PIC to be, say, an electronic lock or programmable frequency divider. What you do need is a stable development platform, a good feel for simple BASIC, and some idea of how the software you're writing is going to interact with the hardware involved.

    On the other wing, you don't usually (that I know of) need to delve into the details of assembly language if you're going to be writing (here we go) a game, or a spreadsheet app, or some similar program that is intended mainly to interact with the user as opposed to running a dedicated function in an embedded device.

    No one can be an expert in all programming forms and languages. There's just too much Out There. Help new students to make intelligent choices about what, exactly, they're trying to code for, teach them good ground rules about coding in general, and the rest should follow on its own.

  • Umm, JavaScript people. JavaScript. by revscat (Score:2) Wednesday June 11 2003, @11:11AM
  • Lego Mindstorms! by ghztew (Score:2) Wednesday June 11 2003, @11:12AM
  • by Alioth (221270) <dyls@alioth.net> on Wednesday June 11 2003, @11:15AM (#6172198)
    (http://www.alioth.net/ | Last Journal: Sunday December 02, @05:43AM)
    When I started, it was with the Sinclair ZX-81 I had as a Christmas present.

    Today, I don't think it's necessarily the lack of built-in languages (as others have pointed out - most OSes come with a language of some sort) but a lack of where-to-get-started.

    The great thing about the ZX-81 is that it came with a manual. Not like a PC manual of today which tells you how to plug in the keyboard and monitor (the ZX-81 manual had this) - the ZX-81 manual also had instructions on programming things - from the basics of programming onwards. It taught you what variables were, what loops were, what if statements did. You got a starting point with the computer as soon as you unpacked it and plugged it in for the first time.

    The BBC Microcomputer was the best - it had a built in 6502 assembler. (I also learned Z80 for the Spectrum I had after the ZX-81). Knowing asm made it a lot easier to learn C, especially pointers (which I've noticed time and time again newbies always struggle with).
  • The NEED for coding has pretty much gone. by splutty (Score:1) Wednesday June 11 2003, @11:17AM
  • Built-in language: Javascript! by Chuck Messenger (Score:1) Wednesday June 11 2003, @11:18AM
  • Even though it's been said ... by Quixotic Raindrop (Score:2) Wednesday June 11 2003, @11:18AM
  • Emulators by midnightJackal (Score:1) Wednesday June 11 2003, @11:20AM
  • What, no pygame? by skryche (Score:2) Wednesday June 11 2003, @11:20AM
  • Easy solution.... by demmegod (Score:1) Wednesday June 11 2003, @11:21AM
  • Don't fix what's broken by redtail1 (Score:2) Wednesday June 11 2003, @11:22AM
  • Why "improve" it? by Tablizer (Score:2) Wednesday June 11 2003, @11:23AM
  • DJGPP for DOS by frankjr (Score:1) Wednesday June 11 2003, @11:24AM
  • Some targeted solutions by useruser (Score:1) Wednesday June 11 2003, @11:24AM
  • C? C++? Java? Get real! (Score:5, Insightful)

    by Cereal Box (4286) on Wednesday June 11 2003, @11:25AM (#6172301)
    I can't believe some of you are suggesting that an 8-10 year old child should be introduced to programming by way of C, C++, or Java. Are you kidding? Perhaps you've forgotten what it meant to be NEW to programming and don't realize that children are going to approach programming in a different way than a veteran will.

    You've got to think about what's going to make sense for a kid. When I was a kid, if I wanted to print "Hello, world!" to the screen I typed in 'print "Hello, world!"'. That makes sense. Do you honestly think a kid just starting out is going to know what all the extra crap he has to declare just to print something in Java means? What the hell do you think "public static void main" means to a kid? How is he supposed to understand that if he wants to "print" he has to use System.out.println? Furthermore, is a kid just starting out supposed to know what static typing is? Give them a language where they can just declare variables. At least that way they can draw a simple parallel to pre-algebra (children understand "x = 5" in math class... they don't have to say "int x = 5" in a math problem, so why would it make sense right off the bat to do so in a computer program)? Do you think children are going to understand even the basic concepts of OO programming? There are undergrads in colleges across the world who are having a tough enough time with that.

    I'm going to recommend Python. It's the modern-day QBasic (not meant in a bad way... Python is very powerful, I mean that it can boil programming down the essentials for novices in much the same way that QBasic did). No static typing, simple syntax, and you can program interactively. It's definitely the best thing going for introducting children to programming today.
  • Web Pages by funbobby (Score:1) Wednesday June 11 2003, @11:25AM
  • gimme a break... by maxconfus (Score:1) Wednesday June 11 2003, @11:26AM
  • maybe it's not the lack of BASIC by calethix (Score:1) Wednesday June 11 2003, @11:27AM
  • My son will learn the way I did: by rschwa (Score:2) Wednesday June 11 2003, @11:29AM
  • Remember.... by phigga (Score:1) Wednesday June 11 2003, @11:34AM
  • Emulation by chrisbtoo (Score:1) Wednesday June 11 2003, @11:35AM
  • No Books by jxs2151 (Score:1) Wednesday June 11 2003, @11:36AM
  • Colobot by chronos82 (Score:1) Wednesday June 11 2003, @11:36AM
  • language-less by Phoenix Dreamscape (Score:1) Wednesday June 11 2003, @11:37AM
    • 1 reply beneath your current threshold.
  • Atari 800 w/ cartridge BASIC by Mannerism (Score:2) Wednesday June 11 2003, @11:40AM
  • BASIC? by ihummel (Score:1) Wednesday June 11 2003, @11:41AM
  • Java + Perl + Shell + C + Pascal for Windows Users by sisukapalli1 (Score:2) Wednesday June 11 2003, @11:42AM
  • So? by John Whorfin (Score:2) Wednesday June 11 2003, @11:42AM
  • As one of those young whippersnappers... by Anonymous Coward (Score:1) Wednesday June 11 2003, @11:44AM
  • BASIC for Browsers by ites (Score:2) Wednesday June 11 2003, @11:47AM
  • And programming languages can't be bought? by NDSalerno (Score:1) Wednesday June 11 2003, @11:48AM
  • I know the answer: by yalla (Score:2) Wednesday June 11 2003, @11:48AM
  • Missing the point by pico303 (Score:1) Wednesday June 11 2003, @11:48AM
  • All-in-one by madmaxx (Score:2) Wednesday June 11 2003, @11:48AM
  • Make it fun with Robocode by gnudot (Score:1) Wednesday June 11 2003, @11:55AM
  • Give them an Apple II for the love of God by blakespot (Score:2) Wednesday June 11 2003, @11:57AM
  • Use Java by d3faultus3r (Score:1) Wednesday June 11 2003, @12:00PM
    • 1 reply beneath your current threshold.
  • Gulf between expectations and reality by BlightThePower (Score:2) Wednesday June 11 2003, @12:03PM
  • Should we pity or envy kids? by raytracer (Score:2) Wednesday June 11 2003, @12:06PM
  • BASIC Stamps? by sillivalley (Score:2) Wednesday June 11 2003, @12:06PM
  • Two big hurdles for little coders by jitterbug (Score:2) Wednesday June 11 2003, @12:09PM
  • You can download Python by semanticgap (Score:1) Wednesday June 11 2003, @12:10PM
  • Most definitely! by Taicho (Score:1) Wednesday June 11 2003, @12:11PM
    • 1 reply beneath your current threshold.
  • go buy an old mac... by ethanms (Score:1) Wednesday June 11 2003, @12:11PM
  • Windows programming language: WSH! by ivoras (Score:1) Wednesday June 11 2003, @12:13PM
  • Calculators by Vann_v2 (Score:2) Wednesday June 11 2003, @12:13PM
  • new hp desktop... by goats_in_boats (Score:1) Wednesday June 11 2003, @12:14PM
  • Dark Basic? by bdelia (Score:1) Wednesday June 11 2003, @12:14PM
    • 1 reply beneath your current threshold.
  • Very Simple, DUMP Microsoft, Adopt Linux! by MrJerryNormandinSir (Score:2) Wednesday June 11 2003, @12:14PM
  • Todays youth has more advantages by pstreck (Score:1) Wednesday June 11 2003, @12:14PM
  • Logo by gatkinso (Score:1) Wednesday June 11 2003, @12:22PM
  • From a kid by TLouden (Score:1) Wednesday June 11 2003, @12:23PM
  • Why no Assembly ? by T40 Dude (Score:1) Wednesday June 11 2003, @12:24PM
  • Tools Available, But Where to Start? by druske (Score:1) Wednesday June 11 2003, @12:25PM
  • PHP (Score:3, Insightful)

    by StormReaver (59959) on Wednesday June 11 2003, @12:33PM (#6173091)
    I'd recommend PHP as an introductory language. It's freely available, is easily installable if you don't already have it (for Linux and Windows, and perhaps the Mac), gives the newbie immediate feedback, on Linux has a command line interpreter that doesn't require a web server (or anything else for that matter), has very simple syntax, and is an exceptionally easy language to grasp. It's the next best thing to the 80s when all home computers came with BASIC in the ROM.

    • Re:PHP by Pvt_Waldo (Score:1) Wednesday June 11 2003, @12:44PM
      • Re:PHP by Pvt_Waldo (Score:1) Wednesday June 11 2003, @12:52PM
  • My solution by Angst Badger (Score:2) Wednesday June 11 2003, @12:33PM
  • HTML is the new BASIC by goodchef (Score:2) Wednesday June 11 2003, @12:34PM
  • Loads of opportunities for beginners by bismarck2 (Score:1) Wednesday June 11 2003, @12:36PM
  • JavaScript by endquotedotcom (Score:1) Wednesday June 11 2003, @12:39PM
  • Alice: designed for kids to learn to program by Khelder (Score:2) Wednesday June 11 2003, @12:41PM
  • a few good starter languages by galacticdruid (Score:1) Wednesday June 11 2003, @12:43PM
  • GUI's by Andrewkov (Score:2) Wednesday June 11 2003, @12:44PM
  • Virtual Machine by El (Score:2) Wednesday June 11 2003, @12:46PM
  • Javascript by batkid (Score:1) Wednesday June 11 2003, @12:48PM
  • It was built in by PetoskeyGuy (Score:1) Wednesday June 11 2003, @12:49PM
  • Perl (Score:3, Funny)

    by pergamon (4359) on Wednesday June 11 2003, @12:50PM (#6173292)
    (http://moore.cx/dan)
    Introducing programming to a kid with Perl would have to qualify as child abuse.

    [That being said, I use Perl wherever possible ;)]
    • 1 reply beneath your current threshold.
  • You're missing the obvious. by brundlefly (Score:1) Wednesday June 11 2003, @01:00PM
  • visual programming - rambling rose by djocyko (Score:2) Wednesday June 11 2003, @01:06PM
  • A good beginners programming language by AndrewWood (Score:1) Wednesday June 11 2003, @01:08PM
  • I'm teaching my kids Python (Score:3, Informative)

    by ChaoticCoyote (195677) on Wednesday June 11 2003, @01:09PM (#6173503)
    (http://www.coyotegulch.com/)

    For the purposes of home schooling, I use Python. The interactive nature of Python resembles the old MBasic and GBasic interpretters; immediate feedback is terrific for learning.

    Python's capabilities scale nicely between simple "hello world" and complex applications; my daughters can gradually learn concepts and techniques.

  • www.squeekland.org by dbj (Score:1) Wednesday June 11 2003, @01:11PM
  • HTML by autopr0n (Score:2) Wednesday June 11 2003, @01:14PM
  • Livewire Python Course by Zapdos (Score:2) Wednesday June 11 2003, @01:18PM
  • I started with.. by butane_bob2003 (Score:1) Wednesday June 11 2003, @01:19PM
  • Python by p3d0 (Score:1) Wednesday June 11 2003, @01:30PM
  • BASIC, still best learning tool!!! by nexusone (Score:1) Wednesday June 11 2003, @01:32PM
  • Been there... use Python + GTK/QT/wx... by Sleepy (Score:2) Wednesday June 11 2003, @01:33PM
  • simpler ??? by dorfsmay (Score:2) Wednesday June 11 2003, @01:36PM
  • How about Lego? by Anonymous Coward (Score:1) Wednesday June 11 2003, @01:43PM
  • Linus (Score:3, Funny)

    by Alpha_Nerd (565637) on Wednesday June 11 2003, @01:46PM (#6173853)
    I remember reading that Linus used to program games in machine code when he was a kid(can't remember what system that was...)

    I'd pay to see a kid(or anyone) do that today.
  • What about... by Timothy Brownawell (Score:1) Wednesday June 11 2003, @01:47PM
  • Find ways to do cool things... by Quixadhal (Score:2) Wednesday June 11 2003, @01:49PM
  • From little Acorns... (Score:5, Insightful)

    by chiller2 (35804) on Wednesday June 11 2003, @01:54PM (#6173924)
    (http://www.kelv.net/)
    My experience - early 80s home computing in the UK
    ---
    Back in '83 my father bought the family a BBC B [1], and not long after playing the bundled games thoroughly I found the User Guide, tried out the teletext examples to do double height text, the moving man vdu23 example, and didn't stop until I got to the end. It was a wonderful learning experience..

    Switch the Beeb on...
    *blur*beep*
    BBC Computer 32k

    Basic

    > 10 PRINT "Ooh look a programming language"
    > 20 PRINT "that is right there at power up"
    > 30 PRINT "and easy enough for a preteen"
    > 40 GOTO 10
    > RUN

    From that prompt BBC BASIC was right there available to you from power up. Want to draw a triangle - plot 85.. play a middle C note - SOUND 1,-15,53,5. Now is that or talking to DirectX via C/C++/VB/Delphi/etc easier for a child?

    Along with the Beeb, plenty other 8 bit machines also provided a simple to use programming environment right there by default at power up. No extras to have to buy, no alternative OS's to install, and what plenty of people who've posted here seem to be completely forgetting - a learning curve suitable for a pre-teen.

    Nowadays
    ---
    I think the article is spot on. A child who sits down at an out of the box Windows PC can do nothing more than play Solitaire. Sure there is plenty that can be done if you know about it. This requires purchase of $50+ books, programming languages, or knowledge to wipe the system and install some Unix variant with an oss compiler, etc. These are out of reach for a child. Even if a knowing parent had sorted out one of these solutions, it is still have a steeper learning curve.

    It's all about accessibility, and nowadays programming really is less accessible to young children. Anyone who can't see that either wasn't there in the 80s or lives in an alternative reality.

    [1] Huge UK success. Never cracked US market. See here [nvg.ntnu.no] for some background history on it.
    [2] For the BBC, Electron, etc there was Micro User, A&B Computing, Acorn User, Electron World, and others besides. The C64/128 had Crash, Zzap, etc, and for the Speccy there was Your Sinclair, and lots of others I've forgotten.
  • The author missed the difference. by zackbar (Score:2) Wednesday June 11 2003, @02:01PM
  • Check out DevApprentice.com by Crag (Score:2) Wednesday June 11 2003, @02:03PM
  • The best way to start? by beaverbrother (Score:1) Wednesday June 11 2003, @02:07PM
  • As the parent of a child learning to program... by sayerofno (Score:1) Wednesday June 11 2003, @02:08PM
  • Python by libertynews (Score:2) Wednesday June 11 2003, @02:08PM
  • Turbo Pascal... It's Alive!!!!! by OldCrasher (Score:1) Wednesday June 11 2003, @02:12PM
  • The Big Vendors' Predicament by Swami (Score:1) Wednesday June 11 2003, @02:14PM
  • Linux! by Ignorant Aardvark (Score:2) Wednesday June 11 2003, @02:16PM
  • Turbo Pascal rules! by YourPreferredNicknam (Score:1) Wednesday June 11 2003, @02:20PM
  • POV-Ray (Score:3, Interesting)

    by Pall Agamemnides (673074) on Wednesday June 11 2003, @02:24PM (#6174249)
    POV-Ray [povray.org] is a free raytracer for making computer-generated images. You can build up 3D scenes using the Scene Description Language (SDL), rather than a modeller; and after a little practice, you naturally move toward writing algorithms to generate more complex images, etc. It comes with lots of sample code, a good help file, and could be used as a way to learn programming. The nice thing about it is that the language itself is simple to use, and making pretty pictures is a good incentive to keep practicing and learning more.

    You can do pretty nice things with the SDL. The help files explain how to write a raytracer within POV-Ray [povray.org]. You can also read and write text files, etc.
  • What about... by Mondain98 (Score:1) Wednesday June 11 2003, @02:25PM
  • *cough*bullshit*cough* by badfish2 (Score:1) Wednesday June 11 2003, @02:34PM
  • Problem solving, productivity, creativity by globalar (Score:1) Wednesday June 11 2003, @02:40PM
  • JavaScript by CowboyRobot (Score:1) Wednesday June 11 2003, @02:44PM
  • All is well. by saider (Score:1) Wednesday June 11 2003, @02:49PM
  • If only I was just learning today!! by Anm (Score:1) Wednesday June 11 2003, @02:58PM
  • Cygwin by wfrp01 (Score:2) Wednesday June 11 2003, @03:06PM
  • Random thoughts on kids & programming (Score:3, Interesting)

    by Kismet (13199) <pmccombs@acm.org> on Wednesday June 11 2003, @03:19PM (#6174864)
    (http://www.petermccombs.com/)
    Kids want to make cool stuff. In 1984 I could write a stupid script to scroll my name on the screen using TI BASIC. I could also write a neat graphical maze game with speach synthesis using the same tool. With Windows Scripting Host and JavaScript (etc), I can write stupid stuff, but not cool stuff. Anyway, how many people here know how to fire up WSH and go? I don't think that's even in the manual.

    At least with DOS 2.11, the manual said I could run "BASICA" and, by the way, try out these few lines of code.

    I had classes in the 4th and 6th grades with C64 LOGO and Atari Basic. It was neat back then. In 2003, neat is 3D graphics and surround sound. Are you going to get a kid hooked on programming with a few batch files? I don't think so.

    The old TI rags used to publish code listings for games like "Dogfight" and "Conquest of Camelot." They were in BASIC and you had to type them in from the magazine and save them onto an audio cassette. I spent hours as an 8-year-old typing in lines of code that I didn't understand. It was cool to see what would happen when you typed "RUN" though.

    In the 80s, programming was one of the things that you bought your computer for, other than games. So if a computer didn't have a tool to program it with, it was either junk or a game console. Not everybody had a computer back then, but those who did kinda liked it.

    Now that there's money in computers as a commodity, it's another story. People still buy computers for games, but not for programming. Besides, if you program, you might become competition, and that's not good, especially if you give your code away for free. That and the increasing complexity of computers and operating systems make languages diverse and specialized.

    So instead of computers that say, "hey, see what you can do with me," we have computers that say, "hey, you can run Word and Half Life and surf the Net if you have a license." And we're moving closer to "you can't run anything else, even if you have a license to run it, unless it's one of ours." Pretty soon (if Microsoft has its way), instead of only needing a license to run a program, you'll need a licence to make one too.

    Anyway, back to the point. If a kid thinks computers are neat, he'll need a system that still lets him try the neat stuff. That is no longer Microsoft unless you've got the cash for VB, which is now an "add on." Can you get VB without buying the whole Dev Studio? I doubt it.

    Today's equivalent to my old TI are the Linuxes, BSDs and other "Open Source" platforms that still actively encourage tinkering and learning.

    Is Linux programming too hard for an 8-year-old to figure out? I guess it depends on where you start. At least you don't have to buy the extras.

    I'm afraid the really cool stuff has been the domain of the big guys for at least ten years now, though. Sorry kids. Well, a few kids might be interested enough to figure it out.

    Nobody's stopping us from making a Linux distro geared towards 8-year-old programmers. If we had a language that made it easy to do some neat sound and graphics, it'd be like the old days.
  • Depends.... by ctve (Score:1) Wednesday June 11 2003, @03:20PM
  • Duh question by Ogerman (Score:2) Wednesday June 11 2003, @03:20PM
  • Macromedia Director by no parity (Score:2) Wednesday June 11 2003, @03:28PM
  • My son uses Linux by wishes (Score:1) Wednesday June 11 2003, @04:02PM
  • pygame + python by impi (Score:1) Wednesday June 11 2003, @04:05PM
  • need more than a language (Score:3, Insightful)

    by bshanks (520250) on Wednesday June 11 2003, @04:08PM (#6175451)
    (http://purl.net/net/bshanks)
    I think most of the 5s that I read above are missing the point. Many of them answer the question "If you want to teach a kid to program, what do you do?" (and most get even more specific, to "which language?").

    When I was little, my dad got an Apple IIc. It came with a bunch of disks. The Apple at Work, The Apple at Play, Introduction, The Inside Story, Exploring Apple Logo, and Getting down to BASIC, among others. These were what got me into programming, particularly the "Getting down to BASIC" disk.

    The two best things about the "Getting down to BASIC" tutorial were:

    1. It came with the computer, and I tried out everything that came with the computer.
    2. It was very, very, very friendly.
    This is what we are lacking today. Something that most kids will discover on their own that gets them into programming, WITHOUT the influence of an adult in their life to suggest it.

    I think we need a well advertised website with a tutorial on it like the Getting Down to BASIC tutorial. A tutorial that you don't have to download or anything; the website has it's own interpreter.

    Furthermore, for most of the tutorial you shouldn't even be using the real interpreter yet; in Getting Down to BASIC, most of the time the tutorial would type a line or two of code, and then ask you to finish one word or something. You weren't really in the BASIC interpreter at all. If you typed the wrong word, it would give you a fake error message and then explain in detail what you did wrong, and ask for another guess. If you made a common mistake, it had a response tailored for that. It also heaped congratulations on you when you did something right. Only near the end would you type in an entire line of code at once or maybe even a whole short program.

    I think just telling kids to go use Python is way off. There's like a million steps in between "go learn Python" and writing Hello World. Among them are "download and install Python", "Run the interpreter", "figure out what an "interpreter" is ", "figure out what a "program" is", "find out how to quit out of the interpreter", "figure out why typing "i want you to put my name on the screen" doesn't work, even though i'm saying essentially the same thing as they are saying in the tutorial, overcome confusion and frustration when you say "Python" and the computer says

    Python 2.1.3 (#1, Sep 7 2002, 15:29:56)
    [GCC 2.95.4 20011002 (Debian prerelease)] on linux2
    Type "copyright", "credits" or "license" for more information.
    >>>

    etc. With Getting Down to BASIC, all you had to do was put in a disk and follow the instructions. Almost anyone who could read could do it. This is what we need. For example, I think that when you are at the tutorial website and you get to the point where you type "Python", the computer should reply something more like this:

    Python 2.1.3 (#1, Sep 7 2002, 15:29:56)
    [GCC 2.95.4 20011002 (Debian prerelease)] on linux2
    Type "copyright", "credits" or "license" for more information.
    >>>

    Good job! Now you've started the Python "interpreter". This means that it is time to start giving commands to Python. Commands are things that tell your computer to do something. For instance, if you typed

    print "hello"

    next, here is what would happen:

    >>> print "hello"
    hello
    >>>

    Now you try! We've already done the first part for you. Type the word "hello" in quotation marks, and then press <return>:

    >>> print
    )

  • Not Really by VirtuaKnight (Score:1) Wednesday June 11 2003, @04:10PM
    • Re:Not Really by VirtuaKnight (Score:1) Wednesday June 11 2003, @04:15PM
  • Thanks for the comments, notes by whytheluckystiff (Score:2) Wednesday June 11 2003, @04:11PM
  • Not true... by Kindaian (Score:1) Wednesday June 11 2003, @04:25PM
  • problem a few years ago, not now. by happylinuxguy (Score:1) Wednesday June 11 2003, @04:32PM
  • Kid accessible programming... by FingerDemon (Score:1) Wednesday June 11 2003, @04:38PM
  • Brings Back Memories (Score:3, Interesting)

    by ShonFerg (652824) on Wednesday June 11 2003, @04:43PM (#6175775)
    When I was young, about in 3rd grade, I ran across my first book on computer programing in the school library... naturally it was a neat little colorfully illustrated book on the BASIC programming language. Unfortunately my family didn't have a computer at home at the time, but there isn't much syntax to the language anyway, and I ate the book up like candy. I actually sat down and wrote out all sorts of programs on our word-processor (fancy typewriters that used to be big but died out as computer prices came down) which I could never run.

    Oh how I longed only to try my programs for real! But none of my friends who HAD computers knew anything about where to go in the system to look for a place that would accept input in BASIC. They probably had GWBASIC on there somewhere, but they certainly didn't know it. I actually remember the first time I got to run a program... it was in a toy store that was selling one of those "Kid's computer" type toys and it was on display. It said it could be programmed, so I went up and typed:

    PRINT "What's your name?"
    INPUT $NAME
    PRINT "Hello, "; $NAME; "!"

    I can't begin to express how pleased I was to see "Hello, Shon!" appear on the screen just as I expected it to.

    We finally got our first personal computer in 1994, but it wasn't for a long time that I realized that, buried deep in a directory, was a program called QBASIC, which I eventually had quite a run with.

    This brings me to the question: As I've seen new computers ship over the years without even QBASIC on them, I feel bad for all those kids who'd like to try to program, but don't know how. Sure we have the internet now, but downloading something like GCC is probably a bit much to ask for a 3rd grader who's never used anything but Windows. I really think that Microsoft should create a Windows GUI version of QBASIC and include it in the start menu just to encourage kids to play around with it. Barring that, OS's like MacOS and Linux that include C/C++ compilers win lots of points in my book. One other thing that I think that has especially helped get kids interested in programming is making Web pages... they see a cool thing on some other page and they wanna learn how to do it. Java's pretty complex for most kids, but there's a huge incentive in that it takes relatively little effort to do something that will really impress your friends, while it can seem like languages like C/C++ let you do nothing but output text.

    So yes, I think that all OS's should include some sort of compiler with a GUI as a basic part of the operating system. If a basic paint program and writing program are worth including, then a basic compiler is definitely worth including as well. Lots of kids are interested in programming a computer at some level, but have no idea where to start.
  • Which to Pick? by kc0dxh (Score:1) Wednesday June 11 2003, @04:45PM
  • Clear he wants by golrien (Score:1) Wednesday June 11 2003, @04:46PM
  • The obvious solution: by master_p (Score:2) Wednesday June 11 2003, @04:50PM
  • Two simple solutions: by gerardrj (Score:2) Wednesday June 11 2003, @05:10PM
  • Improve the situation by killing spreadsheets by tonyl (Score:1) Wednesday June 11 2003, @05:13PM
  • I know! by briancnorton (Score:2) Wednesday June 11 2003, @05:25PM
  • SuperCard! by Josuah (Score:1) Wednesday June 11 2003, @05:27PM
  • assembler by Billly Gates (Score:2) Wednesday June 11 2003, @05:28PM
  • Give the Kids Apple Macs and AppleScript by schappim (Score:1) Wednesday June 11 2003, @05:39PM
  • Well, if they've got a Mac... by Squidgee (Score:2) Wednesday June 11 2003, @05:42PM
  • I miss BASIC. by 602 (Score:1) Wednesday June 11 2003, @06:03PM
  • Linux and/or Python by monopole (Score:1) Wednesday June 11 2003, @06:57PM
  • Postscript by crucini (Score:2) Wednesday June 11 2003, @07:13PM
  • Bert Kersey, where are you? (Score:3, Informative)

    by Our Man In Redmond (63094) on Wednesday June 11 2003, @07:17PM (#6176889)
    For those of you who weren't paying attention in the early to mid 80s, Bert Kersey was the mad genius behind Beagle Bros Software, the coolest software company out there. Their catalogs were a hoot and their products exhibited a complete disregard for taking themselves seriously (this site [panic.com] will give you some of the flavor of the Beagle Bros style), but their best claim to fame was their software. Not only did they write programs that let you do cool things with your Apple II, they showed you how to do the cool things yourself. They were open source years before its restoration to hipness.

    Maybe what we need is someone who enjoys building marvelous toys and then distributing the plans so we can see how they're built, along with a programming environment a kid can use "straight out of the box". If I were doing this I'd do it in Python and distribute it on a CD with Python interpreters for the major platforms to give a kid the best possible chance of being able to start playing right away.
  • Examples (Score:3, Informative)

    by Our Man In Redmond (63094) on Wednesday June 11 2003, @07:45PM (#6177119)
    The real problem these days is examples. And I'm not talking about downloading the kernel source to see how to write programs in C, either.

    Back in the Early Days Of Microcomputing (1980, give or take about five years) there were a number of sources for Basic programs that you could type in to your computer. Once they were typed in you could see how the code correlated to what was on the screen. You could also steal, er, ah, learn from the code in building programs you had created yourself.

    Creative Computing, Compute!, 80-Micro, Softside, Beagle Bros (mentioned in another post farther up the page) . . . if we really want kids to get hooked on computers, we need something like what these magazines and companies provided.
  • My Programming Tale by Phishpin (Score:2) Wednesday June 11 2003, @08:03PM
  • Early feedback is important... by dvd_tude (Score:1) Wednesday June 11 2003, @08:06PM
  • Oh Poor Friggin' Babies by ReadParse (Score:2) Wednesday June 11 2003, @08:34PM
  • Why assume that kids need to learn to program? by mikearch (Score:1) Wednesday June 11 2003, @08:52PM
  • built in languages by dtfinch (Score:1) Wednesday June 11 2003, @08:57PM
  • What can be done to improve the situation? by axxackall (Score:2) Wednesday June 11 2003, @09:04PM
  • Smalltalk is for small people. (Score:3, Interesting)

    by chris_sawtell (10326) * on Wednesday June 11 2003, @09:24PM (#6177859)
    Squeak smalltalk is a briliant language for smalls. Runs on all small computers under your o/s of choice. Your work will be completely shareable because the Virtual Machine is identical on all hardware platforms. It leads on to the the most productive language ever created.

    Squeak smalltalk for kids [squeakland.org]

    Squeak smalltalk for grownups [squeak.org]

    Smalltalk for business [cincom.com]

    Smalltalk for engineers [exept.de] - Very fast.

    There are many others, have a look through The Smalltalk Portal. [smalltalk.org]

    Just remember that with 30 years of developemnt it just works!
  • It doesn't stare you in the face by Liberty BASIC Guru (Score:1) Wednesday June 11 2003, @09:33PM
  • It's not just Windows... by Jasin Natael (Score:2) Wednesday June 11 2003, @09:43PM
  • Number of coders a harmonic oscillator? by 3.1415926535 (Score:1) Thursday June 12 2003, @01:24AM
  • How kids are learning to code... by kris (Score:2) Thursday June 12 2003, @03:21AM
  • TI calculators by Kirby-meister (Score:2) Thursday June 12 2003, @06:02AM
  • Perl/Tk and SciTE, the ideal couple (both free) by franois-do (Score:1) Thursday June 12 2003, @06:11AM
  • Linux and choice by srussell (Score:2) Thursday June 12 2003, @09:02AM
  • however by da2 (Score:1) Thursday June 12 2003, @09:18AM
  • Have'm learn like I did.... by CharlieG (Score:2) Thursday June 12 2003, @02:41PM
  • Windows has Many FREE programming tools by oldCoder (Score:1) Sunday June 15 2003, @09:15AM
  • Wait! There's More! by oldCoder (Score:1) Sunday June 15 2003, @09:38AM
  • COBOL is the language... by hayriye (Score:1) Monday June 16 2003, @03:43AM
  • Waaaaaa! by DanAnderson26 (Score:1) Monday June 16 2003, @09:47PM
  • Re:What can be done to improve the situation? by LiquidCoooled (Score:1) Wednesday June 11 2003, @10:19AM
  • Re:Perl by Anonymous Coward (Score:1) Wednesday June 11 2003, @10:23AM
  • Re:Learning to program in the 80's was simpler by MrWorf (Score:1) Wednesday June 11 2003, @10:24AM
    • 1 reply beneath your current threshold.
  • Re:Learning to program in the 80's was simpler by KamuSan (Score:1) Wednesday June 11 2003, @10:30AM
  • Re:Little coders by rkz (Score:2) Wednesday June 11 2003, @10:54AM
  • Try KiXtart instead of WinBatch by prandal (Score:1) Wednesday June 11 2003, @12:51PM
  • 75 replies beneath your current threshold.
(1) | 2 | 3 | 4 | 5