Why should i use python if i can use java
Jarno J Virtanen
jajvirta at cc.helsinki.fi
Sat Jun 9 18:07:55 EDT 2001
Thu, 7 Jun 2001 00:43:57 -0500 (CDT) Glyph Lefkowitz wrote:
> Since we're on the topic; other design patterns that lurk around
> unobtrusively in Python include the "for" keyword, which is really the
> "Observer" pattern, the notion of classes as callable, which is the
> "Factory" pattern universally applied, and the Strategy pattern
> masquerading as first-class functions. Modules moonlight as the "Facade"
> pattern when they're not playing Singleton. Did guido use the time
> machine to get a copy of the GoFBook before he started working on the
> first version of Python, or are Patterns just a transparent attempt to
> cover for chronically inexpressive languages like C++ and Java which can't
> generally implement these mind-numbingly simple constructs in code?
> Inquiring minds want to know.
In this book I'm reading, "Object book" by Koskimies (available in
Finnish only, "Oliokirja"), the author states that Design Patterns are
actually very vague concept and that the whole computer science is for
great deal identifying and abstracting some general "patterns". This
means that, for example in programming languages some form (or pattern,
for that matter) that is used generally is "raised" and so given own
name and construct in the language. Further, he states that for example
data types and control structures (if, else, while, so on) have been
"developed" (or evolved) this way; some decades ago they could have been
called "design patterns". He raises the question of how many and which
design patterns are found in language "core" in the "object oriented
languages of the future" (sounds like the __future__ mechanism to me
So the essential thing about design patterns is not the concept
of some design pattern itself, but the "know-how" and design
experience which has been collected under the specific title.
I'm not an expert on this subject, but I'm really interested in it and
I'm going to study it in detail once I get other projects done (such as
my graduate thesis :-).
More information about the Python-list