Am 23.05.2011 20:51, schrieb bearophile: > Russel Winder: > >> Uuuurrr... this is just wrong on so many levels. To avoid writing an >> 10,000 word essay, I'll just stick to: Python and Groovy have proven to >> be excellent languages for teaching first year undergraduates and >> adults. > > I have chosen Python to teach programming at new university students that > know nearly nothing about programming. I think Python is among the best > languages currently available to teach programming (Python partially comes > from ABC, a language mostly designed for teaching), but it's far from perfect > still for this purpose: > > - I appreciate Python significant indentation a lot, but I've seen it cause > problems to some students.
What kind of problems? (related to tabs vs spaces?) > - Dynamic typing is handy, but it makes it a bit harder to learn the > discipline of types. Yeah, I personally don't like dynamic typing at all. > - Confusing variable creation and variable update is not good to teach > programming to newbies and causes problems. > - Many programming newbies are blind to the diffences in case, for them FOR > and for are the same word, so a case agnostic language as Pascal is may be > better for such people. I strongly disagree. The first language they learn should *not* be agnostic to case, so they learn that case matters (because it does in most languages). > - The lack of built-in rationals doesn't help. > - Lazy computations, introduced since some years in Python are a useful and > powerful tool, but for a newbie it's one more complexity to learn and manage. > - All variables managed by reference (by name) is good for uniformity (and > efficiency!), but it also introduces some complexities and bugs that newbies > don't like a lot. > - Python doesn't support recursion in a good enough way. > - Python error messages and debugging is far from the best. If you take a > look at the IDE of Racket Scheme you see something far more newbie-friendly. > > Note: your posts come out empty through the web interface: > http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.announce&article_id=20572 > > Bye, > bearophile
