Learning With D

Daniel Gibson metalcaedes at gmail.com
Mon May 23 12:01:17 PDT 2011


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



More information about the Digitalmars-d-announce mailing list