Paul Boddie wrote: > Heiko Wundram wrote: >> Matthias Kaeppler wrote: >> > <snip a whole lot of talk of someone still thinking in terms of C> > > Well, unless you are (or he is) in with the GNOME crowd, C probably > isn't really the object-oriented language acting as inspiration here.
Pardon this glitch, I corrected it in a followup-post somewhere along the line, it's been some time since I've last used C/C++ for more than just Python module programming and as such the term C has come to be synonymous to "everything not Python" for me. ;-) > [Zen of Python] I find pointing to the ZoP pretty important, especially for people who start to use the language. I know the hurdle that you have to overcome when you grew up with a language which forces static typing on you (I learnt Pascal as my first language, then used C, C++ and Java extensively for quite some time before moving on to Perl and finally to Python), and when I started using Python I had just the same feeling of "now why doesn't Python do this like C++ does it, I loose all my security?" or something similar. What got me thinking was reading the ZoP and seeing the design criteria for the language. That's what actually made me realize why Python is the way it is, and since that day I am at ease with the design decisions because I can rationally understand and grip them and use the design productively. Look at namespaces: I always understood what a namespace was (basically a dictionary), but it took Tim Peters three lines """ Simple is better than complex. Flat is better than nested. Namespaces are one honking great idea -- let's do more of those! """ to actually get a hint at what the designer thought about when he implemented namespaces as they are now, with the simplicity that they actually have. It's always better to follow the designers thoughts about something he implemented than to just learn that something is the way it is in a certain language. I still have that awkward feeling for Perl. TIMTOWTDI just doesn't cut it when it's yelled at me, I still can't see a single coherent vision which Larry Wall followed when he designed the language. That's why I decided to drop it. ;-) Maybe I'm assuming things by thinking that others also follow my line of thought, but I've actually had very positive responses so far when telling people that a certain feature is a certain way and then pointing them to the ZoP, they all pretty much told me after a certain time of thought that "the decision made sense now." --- Heiko. -- http://mail.python.org/mailman/listinfo/python-list