dsimcha wrote:
== Quote from retard (r...@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.

Reply via email to