D in the ix magazine about "programming today"

Don nospam at nospam.com
Mon Dec 28 22:36:06 PST 2009


dsimcha wrote:
> == Quote from retard (re at tard.com.invalid)'s article
>> Quite many young Haskell experts started with Haskell when they were 9-12
>> years old. Having english as your native language and academically
>> educated parents has a tremendous effect on e.g. vocabularity at that
>> age. Some slumdog might only know ~3000 words at that age, child of a
>> highly educated family perhaps 25.000 words.
>> I'm not saying that everyone should learn Haskell, but I know it's
>> possible to learn stuff like Curry-Howard isomorphism, hylomorphisms,
>> monads, monad transformers, comonads, and analysing amortized costs of
>> algorithms at that age. It's just dumb to assume that young people can't
>> learn something as complex as static types!
>> I remember when I was that young, I used to play with QBasic. I knew very
>> well why 'DEFINT A-Z' made all programs faster and knew what IEEE
>> floating point looked like on bit level (well, at least mostly). I knew
>> how to do blits in graphics programming since I already had done them in
>> assembly on C-64. Had there been Haskell and all the modern tools
>> available like today there is, I would have probably spent more time on
>> them.
> 
> Yes, but you were probably exceptionally talented and/or motivated.  From
> experiences I have had getting friends through programming 101, I believe that,
> when people teach programming, they tend to take for granted some very basic
> concepts such as variable assignment, flow control and nesting.  The first
> programming language should be one that strikes a balance between allowing the
> teaching of these basic concepts on the one hand and not being a completely
> useless toy language on the other.
> 
> IMHO even Python's strong but dynamic typing is too complex for someone who has
> literally never programmed before.  I think weak typing a la PHP or Visual Basic,
> so that the student doesn't even have to think about types until he/she
> understands variable assignment and flow control and has actually experienced the
> feeling of writing simple but useful programs, is the best way to start off.  Good
> programming practices are useless if you end up totally lost on the variables and
> flow control level.  Furthermore, I don't think good practices and well structured
> code can truly be appreciated until you've done it wrong first.  Lastly, to most
> absolute beginners automatic conversion, e.g. from strings to numbers, probably
> seems like the least surprising behavior, since that is how it works in Excel, etc.

Both Pascal and the original BASIC were strongly typed, and widely used 
for beginners.


More information about the Digitalmars-d-announce mailing list