pro python paper

B

beliavsky

http://www.journyx.com/pdf/PythonAtAGlance.pdf

the above paper is a response to some of our prospects complaints

they were asking us why we use python

thought you guys might be interested

http://journyx.com/clf

I think the paper exaggerates the virtues of Python relative to other
languages, reducing the credibility of the authors. The paragraph in
the Python myths section

"It has no compiler to native code, which means Python programs run
slower. True, it does not compile. That does not mean, however, that
Python programs run slower. If you are tracking the speed of quarks or
landing the space shuttle, you might want to write in Assembly or some
other very low-level language. Other than that, a standard business
application written in Python will run every bit as well as one
written in any other language."

pretends that the main alternative to Python is Assembly, or some
other
"very low-level language". Have the authors not heard of C++ (with the
Standard Template Library) or Fortran 95 (with multidimensional arrays
and associated intrinsic functions)?

It is more honest and credible to admit that a Python program often is
slower than one in a compiled language, but that reduced programming
time in Python often outweighs this deficit.
 
H

Heiko Wundram

Am Dienstag, 10. August 2004 15:49 schrieb (e-mail address removed):
[snip]
pretends that the main alternative to Python is Assembly, or some
other
"very low-level language". Have the authors not heard of C++ (with the
Standard Template Library) or Fortran 95 (with multidimensional arrays
and associated intrinsic functions)?

You won't call C++ or Fortran 95 high-level languages, will you? ;) For me,
the border between low-level programming and high-level programming lies
where memory management becomes automatic.

Heiko.
 
P

Peter Hansen

I think the paper exaggerates the virtues of Python relative to other
languages, reducing the credibility of the authors.

I agree with this to some extent.
The paragraph in the Python myths section

"It has no compiler to native code, which means Python programs run
slower. True, it does not compile. That does not mean, however, that
Python programs run slower. If you are tracking the speed of quarks or
landing the space shuttle, you might want to write in Assembly or some
other very low-level language. Other than that, a standard business
application written in Python will run every bit as well as one
written in any other language."

pretends that the main alternative to Python is Assembly, or some
other
"very low-level language".

Actually, it does't really do that. What it says clearly is that for
certain types of application (time-critical ones), Assembly or another
low level language would be a better alternative to Python.

This is not at all the same as the general statement "the main
alternative to Python is Assembly".

Have the authors not heard of C++ (with the
Standard Template Library) or Fortran 95 (with multidimensional arrays
and associated intrinsic functions)?

I'm quite sure they have. Does anyone really think of C++ or FORTRAN
for *time-critical* software (this is different than software where
performance is the ultimate goal, by the way).
It is more honest and credible to admit that a Python program often is
slower than one in a compiled language, but that reduced programming
time in Python often outweighs this deficit.

That's true though.

-Peter
 
B

beliavsky

Heiko Wundram said:
You won't call C++ or Fortran 95 high-level languages, will you? ;) For me,
the border between low-level programming and high-level programming lies
where memory management becomes automatic.

It depends on the area. The Python LANGUAGE does not have multdimensional
arrays with slices and intrinsic functions, but Fortran 90/95 does and can
be considered a higher-level language for numerical work. Of course, the
Numeric and Numarray Python modules do provide this functionality.

There is a question of whether one should include common libraries when comparing
the functionality of various languages.

Allocatable arrays in Fortran 95 are automatically deallocated when they
go out of scope, so memory management is mostly automatic.
 
T

Tim Hochberg

It is more honest and credible to admit that a Python program often is
slower than one in a compiled language, but that reduced programming
time in Python often outweighs this deficit.

That's not been my experience. Most of the stuff that I write in Python
would have been slower had I written it in C/Fortran etc. Now before you
pack me off to the loony bin, let me explain. First off I know most of
the tricks to make Python do things fast, at least in the problem
domains I care about. Second, in most cases, I'm dealing with situations
where, the problem is understood (if I'm lucky) but the optimal
algorithm for solving it is not known. Finally, I don't generally have
unlimited time to devote to any given problem.

With these conditions (unkown algorithm, finite time), Python often
comes out ahead of "faster" languages. The reduced programming time
means that I typically end up with a closer to optimal algorithm and a
faster algorithm is generally more important for speed than a faster
language.

Of course these conditions don't always apply. And to certain extent I'm
guessing as to what kind of code I would have ended up with had I
attemped a given program in C/Fortran, but I think I have a pretty good
feel for what it would have turned out like.

As for the paper the parent post referring to, I haven't read it and
have no opinion on its claims.

-tim
 
P

Paul McGuire

(e-mail address removed) (ccdetail) wrote in message

I think the paper exaggerates the virtues of Python relative to other
languages, reducing the credibility of the authors.

I like Python as much as the next person, but I too thought that the article
was a bit "glowy". The Key Advantages section especially is made up of
unsupported claims, such as:

"Python is considered by many to be one of, if not *the* premier language
for GUI development..." (Huh? by whom, and compared to what?? - VB? Delphi?
C#? And toolkits like Tk, Qt, etc. are not bound to Python as their
language, so I don't see how they come up with this assertion)
"The Python community is populated by the best minds in software today."
(not to slight any of the Python elite, but I don't think we have a monopoly
on the best minds in software - the Java and C++ milieu can be pretty
impressive, not to mention Lisp, et al.)
"If you need to tie in something written in another language, you can do it
easily." (yes, it CAN be done, but at no less overhead than tying VB and C#,
or C and FORTRAN - so where is the Python edge?)

The countering of the Python Myths reminds me of this MP routine:
"This isn't an argument, it's just contradiction!"
"No it's not!"

While I agree with many of the sentiments expressed, I'm not sure wrapping
them in the format of a white-paper (with such breathless prose!) actually
increases their power or credibility. A little more concrete supporting
info will go a long way here.

-- Paul
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,294
Messages
2,571,511
Members
48,218
Latest member
NatishaFin

Latest Threads

Top