j2ee vs. python (and what our evil competitors are saying about python)

Joseph A Knapka jknapka at earthlink.net
Mon Jul 8 20:03:53 EDT 2002


curt finch wrote:
> 
> Our free web timesheet app is written totally in Python.
> One of our competitors is saying the following
> things about python to our customers.  Help me make them look stupid.
> Please?
> 
> ps. enjoy our free stuff at http://pnk.com/wt3.html
> 
> thanx for any comments you can provide

OK, after spending twenty minutes responding to this post, I'm
starting to strongly suspect that you are a troll. But what
the hell.

> 
> 
> Summary
> Python is often used as pseudocode to conduct rapid development.

And it's often used to produce production code. See the recent
c.l.python thread
"Using Python for processing of large datasets (convincing managment)"
for several citations.

> Its
> major users are web sites that do not reuse code and often conduct
> “throw away”

I'd demand numbers from these damned liars. How, exactly, do they
know this? Of course, they won't be able to produce any evidence.

> development to meet internet development time
> tables. It is a very new language and has very little support compared
> to the Java development community.

Python is, what, ten years old now? I've personally got better
support from the Python community than from the Java
community, but that's just hearsay and doesn't help you
much. (My theory is that using a nice language tends to make
people nicer!)

> It is also not J2EE compliant.

Hmm. Jython would probably be a fine way to implement the
innards of EJBs, but I haven't tried it. I suspect a
EJB server based on Jython could be built without much
trouble. In any case, I don't see this as a major
drawback - C isn't "J2EE compliant" either, but that
doesn't stop people from using it in high-quality
software.
 
> Platform Drawbacks
> As a new relatively untested development platform in the licensed
> software community, Python has certain deficiencies with which all
> users and developers should be aware.
> 
> 
> 
> 
>  Issues and concerns
> 
>  ·         No integrated GUI (Graphic user interface) support.

I'm not sure what that means. Do they mean, "no way to write
a UI"? Tk is a mature toolkit if ever there was one, and
Tkinter is just a wrapper around Tk. I've never had any
stability trouble with Tkinter. Do they mean "There
aren't any magical dragon-droppings UI builders"?
There are, but I have no experience with them. In
any case, this can hardly be construed as a major
disadvantage. I've never encountered a UI builder
that could write better code than I could, and
it's a virtual certainty that a human is going to
have to maintain that code eventually.
 
> ·         No compiler to the native code.

True. But you can run Python code on a JIT Java VM, using
Jython.
 
> ·         No automatic garbage collection.

A damned lie, as casual perusal of the Python documentation
would reveal. Your major weapon against this competitor might
be simply that they lie to their customers!
 
> ·         Does not have vast number of libraries as that of Java,
> Perl, C++; etc.

And another damned lie.
 
> ·         Since Python is an interpreted language, it requires
> frequent run-time checks and thus does not provide the speed,
> performance and efficiency of compiled languages like Java, Perl and
> C++, which is a major issue.

This is true, though for many applications it's a non-issue, and
for apps where speed is critical one can always write selected
pieces of the app in a lower-level language.
 
> ·         Python does not provide multiple ways to perform tasks as do
> most other languages.

This is just stupid. These people clearly have an axe to grind.
Like all the other languages they blather on about, Python
is Turing-complete, so logically there are an infinite number
of ways one could accomplish a given task in any of them.
The fact that Python doesn't give you a bewildering assortment
of syntactic forms for expressing the same semantics is
an *advantage* - it makes the code easier to read and
maintain.
 
> ·         It takes a lot of time for Python to adjust to the
> indentation style of the structuring code.

Actually, it takes *Python* no time at all to adjust to
the indentation style - the interpreter requires it.
It takes humans about five minutes to adjust to it.
See Eric S Raymond's "Why Python?" for a compelling
personal account of the ease with which humans
adjust to Python's coding style.

http://www.linuxjournal.com/article.php?sid=3882
 
> ·         Since Python is relatively a new language, there are only a
> few resources available for information on its latest developments.

What utter bullshit. I'm sorry, but these people
should get out more. www.python.org is a splendid
counter to this "argument".
 
> ·         Limited documentation- only two English language books exist
> which provide tutorials or a library reference for Python.

And they are *good* books - not like the stinking mounds
of literary shit people have produced about Java and
C++. (I'm actually getting angry here!)

> ·         The language is restricted to fewer code modules.

What does that even *mean*? Who is your competitor, may I
ask? I want to make sure me and mine never actually use
any of their products, as they are either idiots or
marketroids.
 
> ·         Lacks native threading capabilities.

Sort of true. I see this as a major drawback of CPython,
but Jython doesn't suffer from the same threading limitations,
or so I'm told. And on uniprocessor hardware, CPython's
threading works just dandy.

> ·         Lacks basic tools such as integrated source level debuggers.

That's not entirely true. There's IDLE and Pythonwin,
neither of which are particularly stunning IMO. But
one rarely actually needs to interactively debug
Python code, in my experience.

> ·         No packaging methods for software distribution.

distutils
 
> ·         Lacks tools to solve typographical and type mismatch classes
> of errors.

Huh? I think the IQ of the person who wrote this was
actually dropping as he worked on the document. They
seem to be saying, "Python is not a statically-typed
language". Damn straight, and we like it like that.
At least it doesn't have a completely braindead
typesystem like Java's.
 
> ·         Python cannot write docstrings in C++.

Who the f!%k cares???? I prefer my docstrings to be
in English.
 
> ·         Python is difficult to read.

<waits for steam to finish jetting out of ears>
That line was obviously written by a person who has
never *tried* to read someone else's Python code.
IMO *no* language (of the twenty or so that I
know well) is as readable as Python.

(This is also the line that triggered my
troll detector.)

> ·         Dynamic loading is not available on all systems, requiring
> that a developer use static loading.

This is a criticism of operating systems, not of Python.
 
Whew. I need to lay down for awhile.

-- Joe

> 
> 
> 
> 
> 
> Application Areas
> ·         Prototyping and development
> 
> ·         Platform independent graphic user interface applications
> 
> ·         Internet scripting/applications
> 
> ·         Automated test harnesses
> 
> ·         System administration applications
> 
> ·         Shell scripting/OS Scripting
> 
> ·         Text processing
> 
> ·         Database Interfaces
> 
> ·         Application Extensions
> 
> ·         Distributed Programming
> 
> 
> 
> Python users
> ·         Yahoo
> 
> ·         Infoseek



More information about the Python-list mailing list