Slashdot Mirror


Hello World!

stoolpigeon writes "Hitting middle age has been an interesting time. I catch myself thinking about how well kids have it today and sounding a lot like my father. One difference is while my dad was happy to teach me about sports or cars, we never spent any time knocking out code together. I think he did realize that home computers were important and I will always be grateful for the Commodore Vic-20 he brought home one day. It was a substantial purchase for our household. I spent many days copying lines of basic from magazines and saving the results to cassette tapes. In my home today we have a considerably better situation, computing wise. There are usually a couple laptops running as well as the desktop machine upstairs. My kids take for granted what I found to be amazing and new. Still, that's all pretty normal and I'd like to give them an opportunity to go deeper if they are so inclined, just like we give them opportunities to explore other skills and pursuits. With that in mind I brought a copy of Hello World! home a few weeks ago, and the response from my oldest has been surprisingly enthusiastic." Keep reading for the rest of JR's review. Hello World! Computer Programming for Kids and Other Beginners author Warren and Carter Sande pages 430 publisher Manning rating 9/10 reviewer JR Peck ISBN 978-1933988498 summary Computer programming for kids and other beginners. Warren Sande wanted to teach his son Carter about programming but had difficulty finding what he thought was a suitable book to guide the process. At the encouragement of Warren's wife, he and Carter decided to write their own while Carter learned to code. Warren chose Python as the language they would work in and then the two together outlined the book and created the sample applications. As the book moves into more complex territory the sample applications are the kind kids like best. They are games. As soon as my daughter saw that she would get to make her own computer games she immediately asked me if we could start working through the book together. When it has been a while since we've had a chance to crack it open, she reminds me by asking when we will get back to it. I would say that on her end it has been a complete success. It has been a great time for us as father and daughter and educational for us both.

Language choice can be quite a hot topic amongst us geeks. In the preface Warren defends his choice of Python with a bullet list I'll summarize here.
  • Python was created from the start to be easy to learn.
  • Python is free.
  • Python is open source software.
  • Python is not just a 'toy' language.
  • Python is multi-platform.
  • Warren likes Python and thinks others will like it too.

I think the list is pretty solid. The only one I think may not be directly applicable to the case it hand is the FOSS angle. Warren explains that being open means that more can be done with the software and that there is a large set of corresponding code out there freely available. A case could be made that this is also true of more closed languages. The one thing I think that could make this important is if the teacher of the material is interested in not just teaching the technical side of programming but is also interested in communicating the philosophical values of freedom. In light of the amount of closed source software and ignorance in regards to FOSS options I've seen in the public school system where I live, I think this may be more important than some think.

The rest of the reasons though I think make Python an incredibly solid choice, and above all else is the simplicity. My daughter has been able to have fun typing code into IDLE without having to get hung up with a complicated environment. The syntax is clean and simple, there is no compiling, it's very easy to just jump in and start making things happen. I think this is important, the younger the student. I was concerned that nine might be just a touch too young for this undertaking. The book itself does not make any recommendations concerning age. The more I've thought about it, the more I agree with that choice. Children vary so greatly and any number chosen would be rather arbitrary. My nine your old has done well so far, but she is already quite a book worm and leans towards more academic pursuits. An older child may struggle and there may be some that are even younger that would be fine with the material in Hello World! So rather than focus on age I think a parent needs to come at this from a perspective of ability, proclivity and experience.

In the ability area, a child is going to know how to read, work with a mouse, and type things via the keyboard. Of course the mouse is optional strictly speaking but most will probably want to use it. Some math skill would be good as well as the ability to understand the use of variables. The book tackles the necessary material in a kid friendly way but it is not dumbed down. In fact the learning potential here is huge, as one may imagine. The book is formatted with lots of visuals and fly-outs that give information on how computers operate and how programming languages deal with information processing. My daughter and I have already had interesting discussions on subjects like integers and floats. An example that draws a sine wave lead to a great teachable moment about amplitude and wave length. Then there is the constant need for approaching problem solving in a structured manner using logic. I think that taking on programming brings a wide number of benefits.

One of the features, is a little caricature of Carter that is placed throughout the book with observations that the real Carter made as he learned with his dad. These are things that a real kid noticed, and so they are likely to stand out to a child working through this book. For instance in the chapter on "Print Formatting and Strings" Carter says, "I thought the % sign was used for the modulus operator!" The book explains that Python uses context to choose how the % sign is used. There are other little cartoon characters that appear throughout the book drawing attention to important points that need to be remembered. Learning is reinforced through quizzes at the end of the chapters. The chapters are not too long but I've found that my daughter and I have to break them into sections because of her typing speed. I've been tempted at times to move things along by typing for her but I know that she will not get the same benefit from the exercise if we do it that way. I will also let errors slide by at times to allow her the opportunity to look at error messages and find the problems.

As I mentioned the book is billed as being for kids and "other beginners." I'm going to say that the primary focus is rightly on kids, and probably kids who are in grade school or maybe junior high. This is not to say that the examples and information wouldn't be great for anyone brand new to programming. There are even some nuggets for someone who has written some code but is new to Python. I am going to guess though that the average high school student will not be as taken with the cartoons and puns. I'd have loved to have written my own lunar lander game at that age though, so maybe I'm selling this short, or maybe it would be something a teen would be happy to work on away from the eyes of others, so as not to appear childish. (I may take heat for this but even as a teenage geek I was immensely worried about the perceptions of my peer group.) I think an adult that was serious about learning to program, even if they had no prior experience, would do better with heavier material. All that said, I think for children they've really hit the sweet spot and as much as marketers would like it to be so, no book can be everything to everyone.

Things start simple with print statements and loops that took me back to good old days of watching messages scroll endlessly by on display computers at Sears when I was a kid. The move towards games starts even then with text and quickly moves on to leveraging Pygame for games that utilize graphics. I think this is important as it keeps things entertaining while teaching important concepts at the same time. I have to say it is quite a bit fun to sit with my child discussing nested loops and decision trees. By the end of the book examples will have included a simple virtual pet, a downhill skiing game and a lunar lander simulation.

I've discussed a child's ability a bit but I think the last two things I mentioned must be taken into account as well. They are proclivity and experience. I've let my daughter drive the time we spend working on this. Just like the parents who project their sports dreams on their kids, I think there is a possibility to do the same with my love for all things digital. It may even be easier to do so as I view the ability to do some amount of programming to be an important life skill. The thing is I don't want to push her too hard and have her back away from it completely. This fits in with the experience part. We take it as it goes, and if things stop being fun, we will back off. I don't do this with her core disciplines from school like reading and math, but for something that is extra right now I'm not going to push. It would transition from being a joy to being work. That brings up a last and unexpected benefit from Hello World! I'm rediscovering a lot of the fun and excitement that drew me into this industry in the first place.

You can purchase Hello World! from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

47 of 199 comments (clear)

  1. Thank you! by scubamage · · Score: 5, Interesting

    Thanks for the review, you just gave me an idea for what I'm going to be getting my nephews for their respective birthdays. Awesome! :)

    1. Re:Thank you! by symes · · Score: 3, Interesting

      At the risk of being modded a troll... I completely agree. I've been looking for something like this for my daughter for some time. She's nine, just got her first laptop (and old one, but decent enough) and is really taking an interest. I know that writing a simple game would give her a real buzz. Next stop Amazon.

    2. Re:Thank you! by mcgrew · · Score: 2, Interesting

      I catch myself thinking about how well kids have it today

      It's like that with every generation. My dad rode a mule to school, I had a school bus. Today's kids (some of them anyway) have air conditioning in the classrooms.

      But in a lot of ways the kids have it harder. For instance, there was no such thing as crack when I was a kid, and meth was only manufactured in drug company factories. If I needed a ride I could find a pay phione, today if you lose your cell you can't make a call.

      My kids take for granted what I found to be amazing and new

      I took running water for granted; well, mostly, because when I was small my grandparents still didn't have running water.

      However, I'm not looking forward to being as old as my parents are now. My dad says "I lived 78 years without a computer and cell phone and I don't need it now", while my maternal grandfather said the same thing about indoor plumbing. Even afetr my uncle put a bathroom in his house, he still used the outhouse! I visited my Mom Saturday, and she was saying the same thing about cell phones. She has one, but she never uses it (it's maddening, these days you expect to actually be able to communicate with people).

      When I was a kid, only rich, giant corporations had computers and about the the only interaction a normal person had with one was that your electric bill came on a Hollerith card.

      BTW and OT, but who gave mod points to a troll? The parent comment should have been left neutral, or at worst, modded "overrated". The book would indeed make a good gift.

    3. Re:Thank you! by dzfoo · · Score: 2, Funny

      >> It's like that with every generation. My dad rode a mule to school, I had a school bus. Today's kids (some of them anyway) have air conditioning in the classrooms.

      You had a school bus?! I had to wait for the district's bus to pick me up. Man, I wish I had my own school bus then. That would have been fun.

              -dZ.

      --
      Carol vs. Ghost
      ...Can you save Christmas?
    4. Re:Thank you! by Anonymous Coward · · Score: 2, Informative

      My kids love Scratch from MIT

      http://scratch.mit.edu/

    5. Re:Thank you! by daveime · · Score: 2, Funny

      Right. I had to get up in the morning at ten o'clock at night, half an hour before I went to bed, eat a lump of cold poison, work twenty-nine hours a day down mill, and pay mill owner for permission to come to work, and when we got home, our Dad would kill us, and dance about on our graves singing "Hallelujah."

      But you try and tell the young people today that... and they won't believe ya'.

  2. sounds like a great book! by jollyreaper · · Score: 4, Funny

    Going to be very disappointed if I get stuck. "This is so simple, even a child can do it! Someone get me a child, I can't make heads nor tails of it!"

    --
    Kwisatz Haderach
    Sell the spice to CHOAM
    This Mahdi took Shaddam's Throne
  3. You missed the point of your own story by cephus · · Score: 5, Interesting

    You went out of your way to praise your Dad for having the foresight to move beyond his comfort zone by bringing home a computer. Isn't computing simply your version of "sports and cars"? Shouldn't you be trying to emulate your father by moving beyond your comfort zone and bringing home something that will inspire your kids to pursue their own interests rather than yours?

    1. Re:You missed the point of your own story by SomeoneGotMyNick · · Score: 4, Funny

      Shouldn't you be trying to emulate your father by moving beyond your comfort zone and bringing home something that will inspire your kids to pursue their own interests rather than yours?

      You mean like bringing home hookers, guns, or anything similar that might lead them to a fruitful career?

    2. Re:You missed the point of your own story by ShieldW0lf · · Score: 5, Interesting

      Get em a RepRap. Teach em to do 3D modeling, back off and let em make their own toys. That's what I'm doing... my kid has already developed a bunch of toys and the circuit boards for our RepRap are in the mail.

      As for teaching kids programming, I'd suggest starting with Scratch from MIT. My daughter loves it.

      --
      -1 Uncomfortable Truth
    3. Re:You missed the point of your own story by CastrTroy · · Score: 2, Informative

      Good point. Also, how do you really get somebody interested in programming in this day and age? I think it would be very hard to impress a kid with a "Hello World" console program with the current state of technology. I mean, when QBasic Gorillas was right up there with the most advanced games, and you could learn how to modify it yourself in a week, then you got interested really fast, because you realized that programming wasn't some kind of magic. But compare that to now, where it would take years of learning to get anything close to a current program, and it could be a difficult thing to get someone interested in the first place.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    4. Re:You missed the point of your own story by Darkness404 · · Score: 4, Insightful

      Scratch is great in that it teaches how to "think" like a programmer. However, ends up not really doing you a lot of good in the long run. Python is an easy to use language but it also is very "real" in that knowing Python can get you somewhere. That said, Scratch is very easy to use and you can make decent applications in there, but in the end you have effectively a "toy" language which won't really help you in the long run.

      --
      Taxation is legalized theft, no more, no less.
    5. Re:You missed the point of your own story by ShieldW0lf · · Score: 2, Interesting

      Scratch is great in that it teaches how to "think" like a programmer. However, ends up not really doing you a lot of good in the long run. Python is an easy to use language but it also is very "real" in that knowing Python can get you somewhere. That said, Scratch is very easy to use and you can make decent applications in there, but in the end you have effectively a "toy" language which won't really help you in the long run.

      You need to get them hungry to create first. Once they hit those limitations, that's when you raise the bar. You can do pretty sophisticated event driven programming in Scratch, and you can reverse engineer other kid's creations from within the IDE. I know there are a lot of kids who moved on to ActionScript from Scratch.

      --
      -1 Uncomfortable Truth
    6. Re:You missed the point of your own story by Jafafa+Hots · · Score: 5, Funny

      one is something that can blow your brains out, the other is a weapon.

      OK, I know that's really stupid, but I'm tired.

      --
      This space available.
    7. Re:You missed the point of your own story by XxtraLarGe · · Score: 3, Funny

      I'm sorry but what do guns and hookers have to do with each other?

      Pimps.

      --
      Taking guns away from the 99% gives the 1% 100% of the power.
    8. Re:You missed the point of your own story by ShieldW0lf · · Score: 2, Interesting

      That's why you give them something that makes the coding easy as in not monotonous but not easy as in done for you. Then they have fun creating and learn to enjoy creating. When they have an idea that they can't implement, THAT is when you introduce the syntax.

      Not talking out of my ass here... I tried a bunch of different things, including LOGO and Squeak. Scratch was the best received. Eventually, Scratch will naturally lead to Smalltalk.

      --
      -1 Uncomfortable Truth
    9. Re:You missed the point of your own story by Anonymous Coward · · Score: 2, Funny

      If you don't influence your kids, fucking Toys'R'Us will.

      I'm a Toys 'R Us kid you insensitive clod!

    10. Re:You missed the point of your own story by Dragonslicer · · Score: 2, Insightful

      Scratch is great in that it teaches how to "think" like a programmer. However, ends up not really doing you a lot of good in the long run. Python is an easy to use language but it also is very "real" in that knowing Python can get you somewhere. That said, Scratch is very easy to use and you can make decent applications in there, but in the end you have effectively a "toy" language which won't really help you in the long run.

      How old is the child that you're giving this to? I'm not a huge fan of Python, but I've seen quite a few languages that are a lot worse (or just plain harder for kids to play with, such as assembly), so I'd say my opinion on it is pretty neutral. Having said that, what are the odds that Python will still be a "hot" language in 15-20 years, when the kid will at all care about "getting somewhere" or "the long run"? 20 years ago, how many people would have said that Java would be popular today (yes, I am aware of when Java was first created; that's kinda the point)? My first programming language was Commodore Basic when I was about 5, followed closely by GWBasic. Neither of those are particularly useful these days, but they still served the purpose of getting me interested in programming and ultimately to a computer science degree.

    11. Re:You missed the point of your own story by blahplusplus · · Score: 2, Insightful

      " Shouldn't you be trying to emulate your father by moving beyond your comfort zone and bringing home something that will inspire your kids to pursue their own interests rather than yours?"

      This is where I disagree somewhat, there are certain subjects that you would love to have been forced to take at a young age but you were not long lived enough and too new to the world to realize their importance.

      My relative forced her kids all to go to music school and many ended up becoming musicians out of their own free will, even though early going they weren't so enthused but as they grew up they gained a lot of respect and appreciation for music. Even if they do not get paid professionally to play their instruments they still enjoy it and believe it was an enriching experience that they will pass onto their own children.

      Now the same is not true for all children obviously, some children would probably resent it but that's the risk you take as a parent for having lived longer and having more foresight of vision.

      The idea that disciplining your kids into activities they may (at the time) not be interested is somehow immoral or wrong is incorrect, since kids do not have the life experience to make judgements and reflections about the things they *Regret* their parents *didn't teach them* in hindsight. I'm sure many of us have had such occasions wishing our parents were better or were more clued in to their own wisdom, instead of letting the child (who has no lifetime of experiences and therefore foresight and judgement) do whatever it wants.

      There's a balance between freedom, discipline, responsbility and enrichment and I think parents should take that part of themselves back as *the parent*.

  4. Re:C is the only starting language by Saint+Stephen · · Score: 5, Funny

    Oh, I remember my first days of trying to get anything to work in C. (This was in the days of DOS, before Windows). Hopeless! I'd be trying to program Hello World or a very small addition to hello world like type in a character, and have to reboot the PC because I overwrote system memory :-)

  5. Free alternative by johnjaydk · · Score: 3, Informative

    There is a really nice, free alternative available in "How to think like a computer scientist". Despite the title, it's aimed regular school kids and is being used to teach a class on python programming. It's just come out in a second edition. http://openbookproject.net//thinkCSpy/

    --
    TCAP-Abort
  6. Start them on a tricycle? Or a GSXR? by starglider29a · · Score: 2, Interesting

    Here's a question: If we teach our kids to program, do we start them on:

    10 N=N+1
    20 PRINT N
    GOTO 10

    or OnClick="doHelloWorld"

    After learning to program on a TRS-80 and later GWBASIC but now doing ASP.NET, I find myself looking at code (ExecuteSacalar()) as if every step takes 1/100th of a second, thus slowing performance. When in actuality, it takes a microsecond. Are we better off teaching them how to write an algorithm (How much is 1 + 2 + 3 + ... + N?) or to start with finding what they need in a library? I've seen advantages and disadvantages to both my career.

    Much of what I do now is finding the best canned operation (GridView) and toying with styles, rather than rolling my own Repeater. Seldom, but not never, does knowing how to step through a string get used. Although rolling my own DDL's is faster than letting .NET do it.

    Should we teach our kids how to ride a motorcycle where pedaling isn't needed? Or do they need to learn to pedal before they ride a motorcycle?

    1. Re:Start them on a tricycle? Or a GSXR? by Darkness404 · · Score: 2, Interesting

      It depends, to finish up your analogy, should we give the kids a tricycle when they already have a motorized Segway, or give them a motorcycle. Showing a kid "Hello World" doesn't provoke the same interest it did back in the '80s. Really, back then we had (for the time) state of the art games that you could fully modify with a week or two of learning. Even "advanced" games like Super Mario Bros. for the NES is looked at as something a beginner should be able to do. So unless the kid can make a game equivalent to SMB, they aren't going to be too interested.

      --
      Taxation is legalized theft, no more, no less.
  7. Not Python! by Un+pobre+guey · · Score: 3, Insightful

    Why, Lord, Oh why are blocks defined by indentation!

    1. Re:Not Python! by lysdexia · · Score: 2, Informative

      There are several reasons usually cited for using whitespace to define code blocks. Here's a decent intro.

      http://www.diveintopython.org/getting_to_know_python/indenting_code.html

      It's one of those things: I find it completely easy and intuitive. I don't have any trouble switching between python, perl and ksh (which are what I use to get most of my work done). A decent editor (I like vim) will usually take care of auto-indenting.

      Or were you just kvetching?

    2. Re:Not Python! by Un+pobre+guey · · Score: 3, Insightful

      Not just kvetching, though that is certainly part of it. I like to format code for 1) readability and 2) printability on 100 character lines. This means I do a lot of indentation that Python does not like, but has no syntactical meaning or importance.

      It is, of course, purely a matter of taste and habit. Python is certainly as good a language as any. The indentation thing is a showstopper for me, but evidently not for many other people. Also, choosing a programming language for kids is no simple matter, Python or not.

    3. Re:Not Python! by rhoderickj · · Score: 3, Insightful

      Using whitespace to define code blocks is awkward at first. I revolted at the idea for a good year or two before finally giving it a go. Ultimately, I barely noticed. Looking back, one could just as easily say, "Why, Lord Oh why are blocks defined by braces!" Honestly, most of us are just used to braces, so anything different is bound to give rise to the knee-jerk reactions of fear and disgust. Ultimately, it is much like how people refuse to use Firefox or Opera over IE: "You mean I don't click the little E to get Internet? That's absurd!" In the end, I found that I disliked Python for other reasons, but the use of whitespace is not one of them. Even so, it's a great language and deserves a look.

    4. Re:Not Python! by sukotto · · Score: 4, Funny

      So you don't have to argue about brace styles :-)

      --
      Come play free flash games on Kongregate!
    5. Re:Not Python! by rhoderickj · · Score: 2, Insightful

      Any language that depends on whitespace to delimit blocks of code (e.g., the code belonging to an IF or FOR loop) is poorly defined. Whitespace exists for visual depictions of code, not internal.

      And that's a perfectly valid argument, but it is still just a concept imposed solely because of previous standards. Technically speaking, whitespace is just another character, so there is no reason to conceptually differentiate it from a brace. A compiler sees whitespace just as it sees braces, but we have traditionally not parsed that whitespace. Python simply uses that whitespace rather than discarding it. On a site note, I work with Java for a living and I often find myself wishing my co-workers would effectively use whitespace. It's amazing how some people honestly don't see anything wrong with code that is unreadable by humans. At least Python makes this type of code much less likely.

  8. The beauty of this book by InsertWittyNameHere · · Score: 5, Funny

    is that not only does it teach programming but as a side effect you're kids are guaranteed to be safe from pregnancy, STDs, or any form of social life.

  9. Expectations of today's 11 year old different by fprintf · · Score: 2, Interesting

    The expectations of today's 9 - 14 year old is very different than for those of us learning BASIC on a Commodore or Atari in the early 80s. I tried Scratch and Kidsprogramminglanguage with my now-13 year old. As soon as he saw the creations we could make he said "at what point do I get to make a game like on Xbox or my computer?" He just wasn't satisfied making lines on the screen or adding numbers or helping to solve his math homework (when it would be easier to solve it in his head). So, yes it would be cool to make lunar lander and I would have also been soooo happy to have such a game in 1983.

    Then again, his favorite games now are often on Kongregate - sometimes the simpler the better, like launching a stick figure out of a cannon and solving various puzzles of angle, thrust, bounce etc. So maybe it is possible, but it needs to be graphic, challenging and most of all fun.

    --
    This post brought to you by your friendly neighborhood MBA.
    1. Re:Expectations of today's 11 year old different by Maximum+Prophet · · Score: 3, Insightful

      I know people who wrote, acted and filmed their own movies on Super 8, back when "Star Wars" was first in theaters. It wasn't possible for an amateur at the time to produce anything close to what a professional could produce, but they did it anyway. I don't know how you would go about instilling the desire to build your own, they just had that desire to begin with.

      --
      All ideas^H^H^H^H^Hprocesses in this post are Patent Pending. (as well as the process of patenting all postings)
    2. Re:Expectations of today's 11 year old different by AdamWeeden · · Score: 2, Interesting

      If that is the case, I would HIGHLY recommend you get him started on Kongregate Labs' Shootorial. It is essentially a tutorial on how to make a side scrolling shooter in Flash from the ground up. It starts out basic but introduces concepts like logic and hit boundaries and other things that actually require code. Hope he enjoys it!

      --
      I was quoted out of context in my autobiography...
  10. Re:Sounds cool but by eln · · Score: 2, Insightful

    I'm not sure I agree with Python either, but popularity of the language shouldn't really enter into the equation at this stage. What you want is a language that will be easy enough for them to pick up without being overly frustrated but powerful enough to allow them to create programs that actually do something useful. The purpose is to try and spur interest in programming, not train them for a job.

    The first language I did any programming in was Applesoft Basic, because the household computer happened to be an Apple IIgs, and it was included. After that, I was taught Pascal in high school. After that, I learned Fortran 77. Now, I do a fair amount of development work, but don't use any of those languages. And yet, learning them was not a waste of time, and in fact taught me a lot of concepts that made me a better programmer down the road with other languages.

    Of course, my experience with Fortran also gave me a deep abiding hatred for languages that enforce indentation, which may be one of the reasons I never picked up Python.

  11. Very different from days of Compute! and Byte... by digitalhermit · · Score: 2, Insightful

    Back then, if you wanted to play a game you often had to copy programs from source code listings. So you had things like line validators (checksum as you entered each line) and whole sections devoted to programming. The projects, I think, were also very different. I remember building a WeFax device to decode satellite weather facsimile images. There was also the Ciarcia articles that talked about everything from building a micro-computer to assembly programming.

    Sure, there are still programming magazines, but we don't have to solve the same things we did then. Now it's just a matter of running CPAN, downloading a Flash or Java snippet, or just a #include.

    That's why I'm super grateful for the availability of Linux, free software, and the suite of compilers. I remember saving up for weeks to purchase Megamax C and later GFA BASIC. I remember borrowing a Z80 card so that I could run Borland Turbo Pascal. Now it's a quick download and every language I want is available within moments.

    The downside is that it's a lot more complex now. If I wanted to make a graphics program back then, for example on TI BASIC, it was a relatively simple matter to redefine a character set with a bunch of POKEs. Now we have to worry about initializing a window, internationalization, acceleration, etc.. Sometimes it's a bit daunting for non-professionals. Sure, there things like SDL and TCL/TK and a raft of IDEs, but still I don't think it is as easy as it was back then. (Of course, today's software does a lot more).

  12. Re:Very different from days of Compute! and Byte.. by FreakyGreenLeaky · · Score: 2, Interesting

    So you had things like line validators (checksum as you entered each line)

    Wow, now that brings back memories. I remember typing many, many lines of numbers (with the checksum at the end) and then finally having a stick-figure or something dodge falling balls...

    Of course, the real fun began when I finally learned what those numbers meant :)

  13. HTML/CSS/JavaScript by XxtraLarGe · · Score: 2, Interesting

    It seems to me if I had a child and wanted to teach them programming, I'd do it using these three techs in this order. You don't need any special software to write any of them, they are easy to learn, and there are millions of free examples available to you. The best thing is, no compiling, no need for a server. You can write a bit of code, open it with your browser and get instant gratification.

    --
    Taking guns away from the 99% gives the 1% 100% of the power.
    1. Re:HTML/CSS/JavaScript by RegularFry · · Score: 2, Insightful

      The problem is, they're all broken. It's far harder than it should be to get anything meaningful done reliably and well in CSS and HTML, even if the specs were implemented properly. Javascript is hamstrung by crappy implementations with crappily pointless differences between them, and a crappy standard library. Don't get me started on the DOM API, that just makes me cry.

      Really, the only advantage that HTML/CSS/Javascript has over Python is that every PC has an interpreter present out of the box, but given that if you're doing JS there's few tools better than Firebug, you've got installation to do anyway and you might as well just suck it up.

      --
      Reality is the ultimate Rorschach.
  14. Re:Here's how you can tell by aquatone282 · · Score: 2, Insightful

    Hand your kid a copy of The C Programming Language. If they can't handle that, they are not ready.

    Why not just chase him around the yard with a baseball bat?

    A lot more humane than your proposal.

    --
    What?
  15. Re:Question for the OP by Azghoul · · Score: 2, Insightful

    I love the Lament, it's incredible.

    I'd guess (hope?) that you don't bring this book out until / unless your child shows an interest.

    But at some point you have to show them SOMETHING though, right? If you don't show them, how will they know what there is to be interested in?

  16. Re:MOD PARENT UP by Anonymous Coward · · Score: 2, Insightful

    Actually, I would say it is more akin to teaching kids how to drive in an old beater with a sloppy transmission and bad alignment. Sure, once they figure out all of the little tricks that are needed to nurse it along, they will be better drivers, but it forces them to deal with a lot of extraneous issues while they are still trying to figure out how to handle traffic laws and keep the car on the road.

  17. Easy start environment: Processing by j-stroy · · Score: 2, Insightful

    I got into computers because I could hack the BASIC games on an Apple ][+

    Accessibility is king! But finding which thread to grab amidst the jumble of a modern GUI OS is tricky!!

    I have just started playing with "Processing" and it seems to have a nice mix of understandable code and super powerful libraries to take advantage of: cross platform, modern hardware and complex meta-behaviours that we might expect.

    As well, I am "sandboxing" with "Parallels" on top of OSX and I have found it to be very stable. (It allows virtualization of Windows flavours, OS X & varieties of linuxen concurrently) The images can be booted Read Only or not. Creating a bulletproof, clean starting environment is what kids(and productions) need, and virtualization images might be part of this.

    I'm new to virtualization, but it feels like the future to me. Since I have taught in hands-on Lab settings I think this is a better solution for a shared use lab than straight up disk imaging... It would allow week by week, class by class customization of the Boot Image, and changes could always be rolled back.

  18. I didn't read to book, but... by ratboot · · Score: 2, Interesting

    Python was created from the start to be easy to learn But I think BASIC on VIC-20 was even easier to learn then Python : no need to use colons or indenting! And what about the dreaded ==, impossible to understant for a kid! Mod me troll.

  19. Teaching a parent BASIC... by VlartBlart · · Score: 2, Funny

    When I had my CBM64 I really wanted my dad to join in the fun of me learning to program - he seemed quite interested but this is how the conversation went...

    ME: So, dad, we're going to print the phrase "Hello Dad" on the screen then print loads of them - it'll be fun
    DAD: OK
    ME: To print something we use the PRINT command so to print this phrase we type 10 PRINT "HELLO DAD" - 10 is the line number - like a number in an instruction book.
    DAD: OK - But why PRINT?
    ME: Errr, because that's the command...
    DAD: Hmmmm, OK
    ME: To print it loads we then type "20 GOTO 10", this means it will GOTO line 10 and print it again..
    DAD: Why GOTO
    ME: Errr, because that's the command...
    DAD: OK
    ME: now we can run it by typing RUN (Hello Dad scrolls up the screen)
    DAD: Why RUN?
    ME: Oh FUCK OFF - you're like a 3 year old!

    That was the end of my dad's programming.

  20. Re:Blocks by indentation by thenextstevejobs · · Score: 2, Insightful

    In fact, if you do this to C code, you can run it through "indent" and it will come out clearly indented for you. It sounds like such a program is impossible for python because it depends so much on how things are indented to start with.

    Yes, it's impossible in Python. And also unneccessary.

    Let's see how smart you are when you get someone's code that isn't so clean in the whitespace department, and won't run anymore once you've opened it and saved it...

    The whitespace requirement of Python sucks. I don't like programs whose behaviors are dictated by characters that I can't see and that aren't standard across editors.

    If you're so into white space, be a man and use Whitespace.

    I'm a fan of perl, Ruby, and bash when it comes to scripting.

    --
    Long live the BSD license
  21. Re:C is the only starting language by Cillian · · Score: 2, Informative

    In DOS, without a memory manager, if you use pointers / arrays you have unrestricted access to every byte of RAM on the computer. Completely raw. Think about every time you get a segfault or a "Program performed an illegal operation" - that could easily be a dead system right there.

    --
    -- All your booze are belong to us.
  22. Educational Programming languages by jbolden · · Score: 3, Interesting

    If any parents are reading this, just wanted to mention I've (+other's help) written an article on wikipedia covering the educational programming language domain:

    http://en.wikipedia.org/wiki/Educational_programming_language