Programming language for children

marc gmane at auxbuss.com
Wed Jun 17 10:24:21 UTC 2009


Walton Hoops said:

> marc said:
> 
>> Apologies, I meant appalling bad idea (in this context).
> 
> Thank you for that insightful, detailed, and well thought out argument. 
> You have convinced me.  I was a fool.

It brightens my day to know that I have brought light where one there was 
darkness.

> marc said (separate post):
> 
>> By why bother these days? For the past twenty years or more we've had
> object references and that'll take you beyond the edge of the known
> universe.
> 
>> The only place I've used pointers recently is to force PHP singletons
>> into
> session objects. And that more of a frig because there isn't, to my
> knowledge, a sensible way of > doing this. This is esoteric stuff that
> most folk could happily live without.
> 
> And because you haven't used them recently they are irrelevant?

You know that's not what I said.

> For that
> matter, I'd be shocked if you haven't used them recently.  For example:
> all references to Java objects: pointers.  Just because its abstracted a
> bit doesn't mean it's not there.

How things are implemented is not the issue - well it is to some degree, 
because folk get so tied up trying to wedge pointers where they shouldn't 
that they miss the simplicity of the model in front of them.

In any case, saying "all references to Java objects: pointers" is 
nonsense. A reference to a Java object is an object reference.
 
>> The amount of times I see folk trying to overlay their "pointer"
>> thinking
>> when trying to understand some languages has lead me to believe that
>> early introduction to pointers can be a real handicap.
> 
> I'm not sure how one overlay's pointer logic into something like php or
> java

Me neither, butt take a look through this exchange by a bunch of 
academics:

  http://mail.python.org/pipermail/edu-sig/2008-May/008528.html

It demonstrates nicely what I'm blethering on about.

> unless they are trying to perform pointer arithmetic on an array
> :-P, but I'll take your word that this is a problem, however it is
> inherently one of experience.  Given experience with these languages,
> your problematic programmers will learn the "proper" way to do things in
> higher level languages.

That's an interesting assertion, but I think there's more to it than than 
that. I think the issue is mainly between procedural and object oriented 
thinking.

> However the amount of times I see people trying to code in a higher
> level language, without understanding the pointer logic or basic memory
> allocation concepts being used in the back end leads me to believe that
> a solid foundation in C or a similar language is vital to anyone wanting
> to become a strong programmer. (See my previous post for an example).

In many procedural languages it's necessary, I agree - I gave the php 
case, as an example, even though I was working 100% with objects. And 
that's one reason why I now distance myself where I can from languages 
that are not 100% OO - sadly, even Java  has its primitives.
 
> Whether or not this should come at the beginning of one's programming
> career is debatable.  My personal experience is that it is much easier
> to go from C/C++'s largely unprotected environment, into Java's (or
> Pythons, or PHPs, ect..) protected environment, than to do the reverse.

Yes, but these days I believe it's far better to start with a pure OO 
language; and such a language won't have pointers.

> That's not to say it's the only way; that C is much more intimidating
> that Java/PHP is a very valid point.  This is my personal opinion as to
> which route is easier in the long run.  Just because it differs from
> yours doesn't make it "appalling".

I stand by what I said, that the idea of introducing a child to 
programming via c++ is an appalling idea.

-- 
Best,
Marc

"Change requires small steps."





More information about the ubuntu-users mailing list