On 16/02/2021 07:35, Christian Gollwitzer wrote: > 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 > > 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,
Python v1 was a good teaching language. v2 complicated it a bit but it was still usable. v3 is no longer a good teaching language (unless maybe you are teaching CompSci at university.) In fact in v3 things are so complex that I seriously considered dropping Python as the core language for my programming tutorial. Until I started looking for an alternative, and there really isn't anything much better. At least not that can also be used for real projects once you've learned it. But the sort of change that has made it complicated for beginners is range(). range() used to be simple - it returned a list of numbers in the range specified. The hardest thing to explain was why it stopped one short of the upper limit. Now range returns a "range object". Say what? How do explain a range object to a beginner? And you can't avoid it because the name pops up in the interpreter. And that's just one example, the language is now full of meta goodness that makes it incomprehensible to beginners. In a teaching environment, with a teacher present to answer questions, it's probably usable, but for a self guided course it's increasingly inscrutable. -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.amazon.com/author/alan_gauld Follow my photo-blog on Flickr at: http://www.flickr.com/photos/alangauldphotos -- https://mail.python.org/mailman/listinfo/python-list