Article Discussion
The Zen of Python
Summary: Bruce Eckel talks with Bill Venners about why he prefers Python's valuing programmer productivity over program performance, Python's you-want-it-you-can-have-it attitude, and Python's zen-like learning curve.
8 posts on 1 page.      
« Previous 1 Next »
The ability to add new comments in this discussion is temporarily disabled.
Most recent reply: July 10, 2003 3:40 PM by Isaac
Bill
Posts: 409 / Nickname: bv / Registered: January 17, 2002 4:28 PM
The Zen of Python
June 23, 2003 1:15 PM      
Bruce Eckel says, "One of the things I find that's remarkable about Python is that it has a very even learning curve. Maybe it's not even a curve, It's kind of a straight line. Learning Python has a zen-like quality, because Python doesn't try to make the world something else."

Read this Artima.com interview with Bruce Eckel:

http://www.artima.com/intv/prodperf.html

What do you think of Bruce's comments.
Carfield
Posts: 12 / Nickname: carfield / Registered: September 16, 2002 3:19 PM
Re: The Zen of Python
June 24, 2003 0:42 AM      
According to the professor in my university, Smalltalk is the first language introduct the concept of metaclass, which java (and many other high level language or script) is actually just borrow the idea from smalltalk, is that true?
Tiago
Posts: 8 / Nickname: tiago / Registered: February 11, 2003 11:55 AM
Re: The Zen of Python
June 24, 2003 7:13 AM      
Although I like Python (language, philosophy and culture), I am not very experienced at it (I never worked in place where it was the "official" language, so I use it mainly for small throw away stuff), I am far from being an elegant Python programmer.

Can anyone with more experience with Python (like 90% of you reading this) comment on Domain Specific Languages and Python?

Does it have any facilities that normally come bundled with functional or logic languages for the support of DSLs?

I have the feeling that that is missing from Python, but as I have seen so many wacky (read: intesting) things being made with metaclasses that I might be wrong.
Maksim
Posts: 1 / Nickname: maksim / Registered: March 25, 2003 6:41 PM
Re: The Zen of Python
June 25, 2003 0:49 AM      
As for DSL, important feature of a DSL is customized syntax, tailored for the domain. Languages like Ocaml, Haskell, Lisp, Lua are better in this regard because they allow to change the syntax more radically.

Still, I think Python can be good in implementing DSL because it possesses other important properties: simplicity, power, ease of C integration and rich standard library.
Joe
Posts: 15 / Nickname: jcheng / Registered: October 16, 2002 8:08 AM
Re: The Zen of Python
June 26, 2003 2:26 PM      
Just want to point out what many static typing "bigots" are probably already thinking... declaring variables and using static type checking are, for those who like such things, much more of a productivity aid than performance optimization. They let you leverage the compiler to find bugs before your program even runs--especially the kind you are likely to introduce when refactoring (i.e., renaming a method or modifying a class hierarchy).

A better example might be how not everything in Java is a reference type (i.e. "object"); I believe the value/reference typing model was purely for performance...?
Bill
Posts: 409 / Nickname: bv / Registered: January 17, 2002 4:28 PM
Re: The Zen of Python
June 26, 2003 2:35 PM      
> A better example might be how not everything in Java is a
> reference type (i.e. "object"); I believe the
> value/reference typing model was purely for
> performance...?

Yes, that is a better example, and your abolutely right. Gosling said exactly that in this interview. Look for "Primitive types versus wrapper types" about halfway down the page:

http://www.artima.com/intv/gosling313.html
Doug
Posts: 3 / Nickname: vtecinc / Registered: February 24, 2003 7:35 AM
Re: The Zen of Python
July 10, 2003 0:52 PM      
Bruce comments that Zope is faster than Apache on his machine. I'm starting to work with Plone which is a Python based Content Management System that lives on Zope. Plone's manual states that one of the performance optimizations is to place static content on Apache. I think that if Zope were truly faster than Apache that this wouldn't be a recommended performance enhancement.

Perhaps Bruce just meant the start up of the application itself rather than how it performs.
Isaac
Posts: 51 / Nickname: igouy / Registered: July 10, 2003 7:42 AM
Re: The Zen of Python
July 10, 2003 3:40 PM      
Smalltalk is the first language to introduce the concept of metaclass
Smalltalk-72 didn't have metaclasses. They were introduced with Smalltalk-80.

See
http://www.ifi.unizh.ch/richter/Classes/oose2/05_Metaclasses/02_smalltalk/02_metaclasses_smalltalk.html
8 posts on 1 page.
« Previous 1 Next »