Software Engineering discussion
Masterminds of Programming
>
Python
date
newest »

message 1:
by
[deleted user]
(new)
Apr 30, 2010 07:02PM
On to Python, where I have almost no experience!
reply
|
flag
My Python chapter thoughts:
- It is interesting to read about the processes and strategies needed to keep a minimal language minimal.
- I really like minimal languages. One big reason is that they tend to be easier to learn, and for other programmers to read (and code is read much more than it is written).
- Funny, Guido compares Python with Java much like I compare Java with C++.
- VM = just a fancy term for a runtime? Interesting thought, but I probably disagree.
- With my one program experience with Python, I found the lack of curly braces and the dependency on indentation irritating, but I hear from other Python programmers that they get used to it quickly, and that it helps with reading code from others.
- I view Python as a next-gen Perl with first-class OO features, aimed at small-medium sized apps, and certainly not large apps. Is this right?
BTW, here is the referenced "The Zen of Python" written by Tim Peters:
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one-- obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
- It is interesting to read about the processes and strategies needed to keep a minimal language minimal.
- I really like minimal languages. One big reason is that they tend to be easier to learn, and for other programmers to read (and code is read much more than it is written).
- Funny, Guido compares Python with Java much like I compare Java with C++.
- VM = just a fancy term for a runtime? Interesting thought, but I probably disagree.
- With my one program experience with Python, I found the lack of curly braces and the dependency on indentation irritating, but I hear from other Python programmers that they get used to it quickly, and that it helps with reading code from others.
- I view Python as a next-gen Perl with first-class OO features, aimed at small-medium sized apps, and certainly not large apps. Is this right?
BTW, here is the referenced "The Zen of Python" written by Tim Peters:
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one-- obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

I had a bad experience trying to learn the Google App Engine. I'm probably too addicted to nice IDEs like MS Visual Studio and Eclipse.
I'm glad there was a comment indicating that knowing OO concepts don't map to learning Python as directly as knowing C++ and learning Java. Learning Python syntax seemed very difficult to me, but I didn't understand why until I read this.
Again, I liked how this seemed very current and relevant.