Plenty of us also started young without being exposed to imperative code and
the evil goto, via LOGO and turtle graphics.  For anyone who wasn't aware,
it's actually a fully featured FP language that derives from Lisp. Although
not too many people (especially in that age range) delved deeply enough into
the language that they'd really cover many aspects of FP.

I guess the modern equivalent would be Kojo, although nobody - to my
knowledge - has yet set it up to drive a real, physical turtle.  It's a
shame really, as a touchable turtle was one of LOGO's best features for
really getting kids into this stuff.




On 2 October 2011 20:20, opinali <[email protected]> wrote:

> On Saturday, October 1, 2011 5:07:13 PM UTC-4, Ricky Clarkson wrote:
>>
>> I'm not a parent either, but I suspect that four might be a bit early for
>>> sticking the kid into a machine
>>
>>
>> I started programming at age 5 on a Spectrum 48K and no harm came of it
>> besides the usual BASIC braindamage (no multiline functions on a 48K, only
>> goto, gosub and return - if I'm wrong someone please pop back to '86 and
>> tell me).  Though those who know me best might disagree.
>>
>
> Well I disagree a bit on the "brain damage" part :) those old BASICs, with
> nonexistent structural features, were actually very close to the machine's
> computation model. GOTO and GOSUB are similar to Assembly language's jumps
> and calls; even FOR was close to machine code looping with instructions like
> DJNZ (decrement-and-jump-if-zero). The limited set of data types were a thin
> layer over machine types - no fancy structs, enums, classes or lists; only
> arrays and strings, both of these just sugar over dense memory blocks and
> indexed access, again the single "structured type" directly supported by the
> hardware with complex addressing instructions or index registers. Most
> so-called higher-level BASIC commands, e.g. for graphics, should actually be
> considered built-in libraries and not part of the language. The core
> language itself was just simple branching, variables with simple types and
> destructive assignment (no functional bullshit :), basic arithmetic, and
> "native interface" (calls to Assembly code; PEEK/POKE to memory).
>
> When I moved to Z80, I was already comfortable with most important things:
> subroutines using call/return and an invocation stack; "wild branching"
> (streams of code with multiple entry points, multiple returns, spaghetti
> branching inside and across algorihms); indexing, data blocks; disciplines
> like arithmetic optimization (x+x instead of x*2 etc.), boolean logic. Then,
> like many other self-taught programmers of the time, I learned or
> independently "invented" techniques like self-modifying code and stack
> patching; spent 80% of my time manually doing low-level optimizations such
> as optimal register allocation, instruction selection, propagation,
> unrolling etc., before I had the faintest education on language theory or
> compilers or anything... the good thing is that after this start, every
> language you learn is just syntax sugar ;-) yeah, sometimes the sugar
> enabled radically new paradigms that your neurons will sweat to fully
> understand, but I don't think the indoctrination to a lower-level
> programming model was ever a factor to make it harder.
>
> OTOH, a unstructured language that pretends to be a high-level language,
> such as old VB, *is* something I consider a problem, in the Dijkstra
> category of GOTO-is-evil-burns-brains-forever. This doesn't put you neither
> in the bottom-up road (like starting with Assembly or a low-level Basic),
> nor in the top-down road (starting with Scheme or other decent, respected
> high-level languages, often used in classic introductory programming at CS
> courses).
>
> A+
> Osvaldo
>
>
>>
>>> On Sat, Oct 1, 2011 at 4:29 PM, Alexey Zinger <[email protected]>wrote:
>>>
>>>> Not having kids of my own, I have little to contribute, except
>>>> remembering what drew me into what eventually turned into an interest in
>>>> programming.  I think around that age, I was most enthralled by games
>>>> (checkers, puzzles), fun brain twisters (Louis Carroll), doing challenging
>>>> stuff with my hands (working on my bicycle), etc.  All of it relates to the
>>>> same mindset that programming requires (learning patience, persistence,
>>>> curiosity, abstract thinking).  So I don't think it's necessary to sit a
>>>> little kid in front of a monitor right away to get there.  Most of all, as
>>>> others have said, have fun!
>>>>
>>>> Alexey
>>>>
>>>>
>>>> ------------------------------
>>>> *From:* JamesJ <[email protected]>
>>>> *To:* [email protected]
>>>>
>>>> *Sent:* Friday, September 30, 2011 7:01 PM
>>>>
>>>> *Subject:* Re: [The Java Posse] Computing and kids
>>>>
>>>> With anything that dad enjoys and wants the kids to enjoy, I share
>>>> some advice from a golfer.  He started with the objective to make it
>>>> fun.  He said to start with some playing for short periods on the
>>>> lawn, or going to hit some balls on the driving range for a short
>>>> time, with minimal criticizing and afterwards took his kids for
>>>> ice-cream or some treat.
>>>>
>>>> The most important thing is to provide opportunities, but don't let
>>>> yourself or you kid get upset or stressed, ever.
>>>>
>>>> I have kids from 15 down to 8.  I think that for serious programming,
>>>> 10 to 13 is still pretty early.  They don't have much patience and
>>>> expect to be able to whip out some polished game in an afternoon that
>>>> would really take 20 man years.
>>>>
>>>> The science fair was a good chance to have some incentive to work on
>>>> programming and my oldest enjoyed that.
>>>>
>>>> I think whatever system you choose, you need to balance what it is
>>>> teaching, how much you have to do to see results, how much fun it is
>>>> to encourage continuing work.
>>>>
>>>> I have been blown away with the realization of how much you really
>>>> have to understand to be a decent programmer.  It is a huge
>>>> curriculum.  Take it in small chunks.
>>>>
>>>> At 4, I think the best idea is to just have fun with him.  Play some
>>>> puzzle games together and lots of hands on open ended building like
>>>> leggos.  (Save the mindstorms for later, or just get it for your
>>>> self.)
>>>>
>>>>

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to