Programming language for children

Jay Daniels jaydanie at gmail.com
Fri Jun 19 01:15:44 UTC 2009



marc wrote:
> Knapp said:
> 
>>> 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".
>> Having read your argument about learning C first makes me want to say
>> that people should just learn Assembly first. This is not sarcasm. My
>> second language was 6502 assembly and that understanding greatly helped
>> me to understand C.
> 
> For educational purposes, I agree. Particularly 6500 assembly, because it 
> is one of the less hieroglyphic assemblers.
> 
>> All this comes down to a top
>> down or bottom up approach to learning. What is best seems to be
>> dictated by personality type or learning type.
> 
> I don't agree. Even if you learn an OO language, a solid understanding of 
> OO principles is essential, regardless of the language, to use it 
> properly.
> 
>> People have often said
>> that learning basic first is bad but I don't think it ever hurt me.
> 
> As a maths dude, first principles are everything, and thus essential. But 
> folk don't need to know those principles nor the derivations to use the 
> results. Nor should they. It's quite valid for me to derive a theorem 
> based on any number of others without understanding the derivation of any 
> of them.
> 
>> What
>> is REALLY important is to document your programming as you do it and in
>> a way that it makes scene years latter! That is the one lesson my
>> computer teachers gave me that made any difference to me.
> 
> There are definitely two schools (at least) of thought on this, as 
> always. I sit in the camp of code being self documenting. This is a 
> skill, so has to be learned. But it is enabled by modern tools, which 
> allow arbitrarily long names because of code completion, and the 
> decomposition of code into classes and small, discrete methods.
> 
> Comments are essential, though, when something is not immediately clear 
> from the code - complex algorithms are a likely candidate - or code has 
> been frigged for performance.
> 
> Things are also made clearer by tests, which again modern tools make 
> ridiculously simple to implement.
> 

But yet more difficult to change after designed.  For instance, it's 
fairly simple to design a crud application in Netbeans, but change 
without breaking it (for a newbie at least) could prove more difficult 
than if you had started with vi and C++ from the beginning!


jay




More information about the ubuntu-users mailing list