I notice you mention he has some experience with C++ (pain and agony) and that you think he should be able to grasp C fairly easily (probably true). I notice as well that you then go on to mention that he's using a Mac with MacOS X on it.

Why haven't you looked into the other C language? It's possible that your son will have a better time of it if he's not taking instruction from you, but rather, learning along with you — and on a Mac these days, the language to know is Objective C.

Maybe you should just learn ObjC along with him. It's not a reinforcement of an authority relationship, the way teaching him a language you already know backward and forward would be: it's more like taking him on a fishing trip, but more fun (fishing sucks). In addition to that, ObjC is a damned nice language, which is a pleasant alternative to the tangled mess certain regions of C++ can be.

Another thing you might want to think about doing is getting the free online versions of Brian Harvey's computer science textbooks that use UCBLogo (free Logo implementation), also written by Harvey, and getting him set up with that. Break his procedural and OOP habits enough to broaden his mind in functional and list-processing directions before he gets to college and is thoroughly indoctrinated by all the Java marketing that goes on there. Logo is, after all, basically Lisp without parentheses, and Harvey's three-book series actually treats new Logo programmers as adults.

You could also just point him in the direction of something like PerlMonks or the ruby-talk mailing list, shove him into the deep end, and see how well he swims. If nothing else, it'll show you once and for all whether he's cut out to be a wacky hacker like your buddies here.

print substr("Just another Perl hacker", 0, -2);
- apotheon
CopyWrite Chad Perrin


In reply to Re: How do I get my teenager interested in software development? by apotheon
in thread How do I get my teenager interested in software development? by talexb

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.