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)
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.