Python evangelists unite!

Peter Milliken peter.milliken at gtech.com
Tue Dec 4 05:09:05 CET 2001


"Robert Folkerts" <robert at folkerts.net> wrote in message
news:abec4aa1.0111301459.e2a1313 at posting.google.com...
> tanzer at swing.co.at (Christian Tanzer) wrote in message
news:<mailman.1007104282.6353.python-list at python.org>...
> > "Peter Milliken" <peter.milliken at gtech.com> wrote:
> >
> > > I use Python as a good, quick and dirty hacking language. For real
(rea
> >  d
> > > production) stuff that I expect a customer to run or will require more
> >  than
> > > a single person working for a couple of hours, I look elsewhere :-).
> >
> > Like what?

What about languages such as Oberon, Modula-2/3, Smalltalk, Java, Pascal,
Ada plus many others.

> >
> > > They could have been more productive with other languages that provide
> > > better support for generic software engineering principles/standards.
> >
> > What other languages? What principles/standards?
>
> Perhaps this is a reference to generic programming, as exemplified by
> the C++ Standard Template Library.  In Python, you don't have data
> types and you don't have the same level of control that you have in
> C++ to declare const's that allow a complier to better optimze code.
> If your client needs to get the most out of each clock cycle, I would
> choose C++ over Python.
>

No, I didn't mean 'generic' in that sense :-). I was refering more to the
concepts of information hiding, programming via 'contract', pre/post
conditions, types and type checking, compile time checking i.e. mispell a
variable in Python and spend ages looking for it! :-) run-time checking etc
etc (I could think up others, but these will do for the time being :-)).
Many of these principles are mentioned in various portions of the Python
news list as "desirable" features of the language i.e. I think I remember
something in the 2.2 changes where the author states that the pre/post
condition feature could now feasably be implemented. PyChecker is another
example of someone's desire to 'improve' Python - Lint did the same thing
for C/C++ :-) All add-ons to attempt to correct "deficiencies" in the
language :-) So you have to ask yourself why don't people look for a
language that incorporate these features into the language by way of the
compiler etc? :-)

> However, my first choice would be to use C++ 'under' Python.  There
> are some great examples of using Python and C++ together:
> sip and the boost python libraries allow C++ and python to co-exist
> nicely
> Qt & PyQt are a great example of this synthesis.  (Play with
> theKompany's BlackAdder, I found it a rush to write Python that
> inherits & oeverides behavior defined in C++.)
>

<snip>

>
> In summary, I feel that Python and C/C++ go together like branches and
> roots.  Attacking one only harms both.

No disagreement in the general sense of combining Python with another
language - I am not a fan of C++ (which is C with some OO thrown in for good
measure and C is nothing more than high level assembler :-)). I have
considered something similar myself but using a different language to C++.
The concept of combination is a good one (as witnessed by your examples),
match the strengths of the language in question with the problem. There is
no "one" language that would suit all situations (otherwise I wouldn't be a
professed Python user! :-)). It is just interesting that some can become
"one-eyed" towards their favourite language, thinking that it can solved all
problems (probably solve the problem of world hunger as well! :-)) similarly
to when one mentions editors, now mine is.......... :-)

Peter





More information about the Python-list mailing list