From the Nielson quote:
Although you could imagine a society where language was easy to learn because people communicated by pointing to words >and icons on large menus they carried about, humans have instead chosen to invest many years in mastering a rich and >complex language.
Which could be said to relate to my contrarian view about Python. Its hard as shit to learn, really. Four years into it, and I consider myself a rank novice. I am not extraordinarily bright, but certainly not stupid. Why would Python seem to want to avoid identifying itself as rich, and *complex*. As central to its claims toward having educational value. The best that it can be is no more complex than it needs to be to allow empowerment at a level of depth that - to someone like myself - is truly interesting. Python fools me into thinking this is largely so. But I am no expert on the alternatives. I wish it would seem to me less agains the grain to feel that the proper approach is promoting the learning of Python as an difficult, arduous but worthwhile effort. I think we set up people approaching it with other expectations for likely defeat. Art
Arthur wrote:
Which could be said to relate to my contrarian view about Python.
Its hard as shit to learn, really. Four years into it, and I consider myself a rank novice.
Programming is hard. It's the process of telling a bunch of transistors to do something, where that something may be very clear to us fuzzy humans, with all our built-in pattern matching, language processing, and existing knowledge, but really, horrifically, tediously difficult to communicate to a bunch of dumb transistors. Python *is* hard, because programming is hard. On the other hand, python is easier than (in my experience) C, C++, Objective C, Pascal, Postscript, Forth, Java, Javascript, Perl, etc. In some cases it is so much easier that it almost appears *easy* in comparison. But there is a huge difference between *easier*, even vastly easier, and *easy*.
Why would Python seem to want to avoid identifying itself as rich, and *complex*. As central to its claims toward having educational value.
I'm not aware of Python trying not to be identified as *complex*. Tim Peter's koan sums it up: "Simple is better than complex/Complex is better than complicated." Python tries to avoid being *complicated,* a goal in which it is only partially successful. Completely avoiding being complicated would involve re-writing the entire intfrastructure of computers, operating systems, libraries, frameworks, and the internet. The fact that Python succeeds in avoiding complicated as well as it does is good, but of course there is still tremendous room for improvement.
I wish it would seem to me less agains the grain to feel that the proper approach is promoting the learning of Python as an difficult, arduous but worthwhile effort. I think we set up people approaching it with other expectations for likely defeat.
Well, I think you have a good point. We should never deny that programming is a difficult and arduous, but worthwhile effort. On the other hand, it doesn't make sense to emphasize the difficulty early and turn away novices before they've begun. Better to demonstrate the simpler bits and introduce the hard stuff as driven by need and curiousity, once the programming newcomer is hooked into the habit of creating executable abstractions. --Dethe "Computers are beyond dumb, they're mind-numbingly stupid. They're hostile, rigid, capricious, and unforgiving. They're impossibly demanding and they never learn anything." -- John R. Levine
participants (2)
-
Arthur
-
Dethe Elza