Christian Gollwitzer writes:
> Am 16.02.21 um 06:36 schrieb dn: >> Pascal's value as a teaching language was that it embodied many aspects >> of structured programming, and like Python, consisted of a limited range >> of items which could be learned very quickly (in contrast to PL/I's many >> 'bells and whistles'). > > ROFL. Maybe that was true for Python when it was first invented. Today > it is not "a few simple things". Even just the core language, anything > that's built into the interpreter if you leave out any standard > function, is enormous. To name a few: List comprehension, format > strings, iterator protocol, asynchronous programming, everything called > __dunderland. A minimal language with only very few basic rules, that > would be Scheme e.g. Of course, it doesn't mean that Scheme is easier to > program, but it is easier to write a compiler for it than for Python. > > That is a misundestanding often presented - a language that is simple in > the sense of having a few simple rules, is usually hard to use. (e.g. > Brainfuck). A language which is easy to use, often comes with a large > variety of building blocks, to give you the right tool to choose for the > job at hands (e.g. Python), and therefore is "complex". > > Christian In Norway, where I try to teach mathematics to highschoolers, programming has recently entered the teaching of stem subjects. Even if Python is my choice language for personal projects, I am not certain it is the right language to use in a classroom context. My feeling is that Python comes with way too much packed in, making it very hard for the students to get to a level where they can sit down and be creative with their own programming. You either guide them very, very deliberately, exposing piece by piece of the language ... or you let them loose, having to explain the difference in scoping between list comprehensions and for loops after three weeks. I am exaggerating ... a little. I am not sure I agree that a language like Scheme or Logo or Brainfuck, with their small number of building blocks, would be harder to learn. To me, Python is the lego boxes from the early 2000s, where there were so many specialized pieces that you felt that the original design might as well be the only design. Regards, Tarjei -- https://mail.python.org/mailman/listinfo/python-list