News for hackers. Stuff that matters.
Re:Python is now the most popular introductory language at t... by lmm on Monday July 07, 2014 @06:35PM (#8001999)
I'd say just the opposite. Variables are hard, in a way that you don't even notice as an experienced programmer, but when we write

    x = 1
    x = 2
that's immediately very confusing for a beginner - are we saying that 1=2?

If we stick to immutable values and recursion, and functions that are, well, functions, we get something that corresponds quite closely to first-year mathematics, which makes it easy to learn at the same time.

Re:Python is now the most popular introductory language at t... by dragonwriter on Monday July 07, 2014 @07:04PM (#8002123)
Most Python material that I've seen that is an intro course makes limited use of changing variable [1] values , being written in a mostly-functional style (generally, preferring, at least initially, recursion to iteration to achieve that -- even though recursion is generally the wrong approach in production Python code.)

Using a modern imperative language doesn't prevent you from adding complexity a bit at a time, and -- especially initially -- getting the advantages of teaching things in a functional style.

[1] but not object fields, as objects are taught as containers of mutable state, usually late in the course.

Re:Python is now the most popular introductory language at t... by lmm on Tuesday July 08, 2014 @05:15AM (#8003635)
> preferring, at least initially, recursion to iteration to achieve that -- even though recursion is generally the wrong approach in production Python code

Exactly! Intro courses are usually - with good reason - taught in functional style. Which suggests that a language where that style is more natural and appropriate might be a better fit for those courses than Python.

(Though OTOH I wouldn't advocate a language where IO is anything more complex than a function call)

Re:Python is now the most popular introductory language at t... by phkahler on Wednesday July 09, 2014 @03:31PM (#8011763)
that's assignment AND reassignment. Mutable state is fundamental to how computers work no matter how hard the fans of the current fad of functional programming try to deny it.