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

2 views
Skip to first unread message

curt finch

unread,
Jul 8, 2002, 7:18:03 PM7/8/02
to
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

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Summary
Python is often used as pseudocode to conduct rapid development. Its
major users are web sites that do not reuse code and often conduct
“throw away” development to meet internet development time
tables. It is a very new language and has very little support compared
to the Java development community. It is also not J2EE compliant.

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.

· No compiler to the native code.

· No automatic garbage collection.

· Does not have vast number of libraries as that of Java,
Perl, C++; etc.

· 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.

· Python does not provide multiple ways to perform tasks as do
most other languages.

· It takes a lot of time for Python to adjust to the
indentation style of the structuring code.

· Since Python is relatively a new language, there are only a
few resources available for information on its latest developments.

· Limited documentation- only two English language books exist
which provide tutorials or a library reference for Python.

· The language is restricted to fewer code modules.

· Lacks native threading capabilities.

· Lacks basic tools such as integrated source level debuggers.

· No packaging methods for software distribution.

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

· Python cannot write docstrings in C++.

· Python is difficult to read.

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


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

Peter Hansen

unread,
Jul 8, 2002, 7:32:14 PM7/8/02
to
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?

Which competitor? Please post a link to the information
they've provided to your customers. If it's not online,
please provide at least a link to their home page so we
can check them out for ourselves.

Many of the things in that list smell a lot like they're
made up just for a troll. Is any of this actually true?

-Peter

Cameron Laird

unread,
Jul 8, 2002, 8:15:46 PM7/8/02
to
In article <96c7f32.02070...@posting.google.com>,

curt finch <cu...@journyx.com> 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.
.
.
.

>Summary
>Python is often used as pseudocode to conduct rapid development. Its
>major users are web sites that do not reuse code and often conduct
>&#8220;throw away&#8221; development to meet internet development time
>tables. It is a very new language and has very little support compared
>to the Java development community. It is also not J2EE compliant.
.
[much more]
.
.
Python has plenty of problems. I advise against it
for specific clients.

What this person has written, though, is so ridicu-
lous as to beg serious, detailed rebuttal. To begin,
Python's nearly twice as old as Java. Java's major
users are college students who still don't pay for
their own housing (or, at least, that's as true as
the quoted slander). The person who wrote the comments
above cannot, I'll speculate, coherently answer whether
Java itself is J2EE-compliant.
--

Cameron Laird <Cam...@Lairds.com>
Business: http://www.Phaseit.net
Personal: http://starbase.neosoft.com/~claird/home.html

Joseph A Knapka

unread,
Jul 8, 2002, 8:03:53 PM7/8/02
to
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
> &#8220;throw away&#8221;

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

Joseph Wilhelm

unread,
Jul 8, 2002, 7:35:28 PM7/8/02
to
Wow... that is the funniest thing I have read in a long time. Thank you
for the good laugh!

Whoever was saying that obviously did no research. Well, maybe 2 minutes
worth. Just enough to see that Python exists. I'll let the rest of the
group rip up every statement in that list and rip your competitors a new
arse hole. I just though I would thank you for helping me laugh. :)

--Joseph Wilhelm

Mark McEahern

unread,
Jul 8, 2002, 7:56:28 PM7/8/02
to
> Summary
> Python is often used as pseudocode to conduct rapid development. Its
> major users are web sites that do not reuse code and often conduct
> &#8220;throw away&#8221; development to meet internet development time
> tables. It is a very new language and has very little support compared
> to the Java development community. It is also not J2EE compliant.

Python is something like 10 years old--how old is Java?

Some metrics for support:

activity of comp.lang.python
projects on sourceforge, freshmeat, etc

Also interesting in the way of comparison:

comments from eric raymond
http://www.linuxjournal.com/article.php?sid=3882
comments from bruce eckel
http://www.mindview.net/Etc/FAQ.html#Ruby

I'm not a Java expert, but you might want to point out something about
Jython.

> 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.

Oh boy, bring on the FUD...

> Issues and concerns
>
> · No integrated GUI (Graphic user interface) support.

Tk, wxPython, etc.

> · No compiler to the native code.

Advantages here are that Python is probably more easily portable than Java,
so I've heard. ;-)

> · No automatic garbage collection.

http://www.python.org/doc/current/lib/module-gc.html

> · Does not have vast number of libraries as that of Java,
> Perl, C++; etc.

What matters, of course, is whether it has the libraries you need. Python
is known for its batteries included approach. Does it please everybody? Of
course not.

> · 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.

Python is compiled. The important point is that it's dynamic.

If you need speed, building extensions in C/C++ is a snap:

http://www.python.org/doc/current/api/intro.html

Of course, the thing to tout here is Python's speed of *development* and
easy maintenance. There's probably some study somewhere showing these are
where projects typically fail.

> · Python does not provide multiple ways to perform tasks as do
> most other languages.

Yeah, that's right. There is only ONE way to do it in Python.

Who fell off the clue train here? This sounds like someone who heard wind
of TMTOWTDI, heard that Python strives for having One Right Way(tm), and
forgot that Python is Turing Complete.

> · It takes a lot of time for Python to adjust to the
> indentation style of the structuring code.

Um, Python is compiled. So indentation makes no difference at runtime.
Correct me if I'm wrong here.

Besides, what shop doesn't have indentation standards? Python merely
enforces those at the language level.

> · Since Python is relatively a new language, there are only a
> few resources available for information on its latest developments.

Huh?

> · Limited documentation- only two English language books exist
> which provide tutorials or a library reference for Python.

Amazon appears to think differently:


http://www.amazon.com/exec/obidos/tg/browse/-/285856/ref=br_bx_c_2_6/102-735
8375-9932923


> · The language is restricted to fewer code modules.

What on earth does this mean?

> · Lacks native threading capabilities.

I've heard threading in Java is superior to Python. I don't really know the
details here and I haven't had to care yet.

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

I'm not up to speed on this issue.

> · No packaging methods for software distribution.

distutils.

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

It's called unit testing.

> · Python cannot write docstrings in C++.

Is that true?

> · Python is difficult to read.

This is a matter of opinion. The common opinion is that Python is easy to
read and learn. See Eric Raymond's comments.

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

Huh?

> · Prototyping and development

Python excels here.

> · Platform independent graphic user interface applications

I'm not a gui person, but isn't that what Tk, wxPython, et al, deliver?

> · Internet scripting/applications

Python is so easy for web scripting that everyone writes their own web app
server! ;-)

> · Automated test harnesses

pyunit

> · System administration applications

it excels here.

> · Shell scripting/OS Scripting

> · Text processing

I'm not an expert here, but it has support for regular expressions! ;-)

> · Database Interfaces

I use PostgreSQL just fine from Python via pyPgSql.

> · Application Extensions

?

> · Distributed Programming

checkout twisted.

Cheers,

// mark

-

Anthony Baxter

unread,
Jul 8, 2002, 8:20:44 PM7/8/02
to

On the plus side, if these people are your competitors, they're obviously
so completely stupid that you should be able to easily put them away.

I think you need to name and shame these morons.

Some fun can be had tearing them apart - ah hell with it, it's fun.


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

Yep, pseudocode is all it is. Man, I'm glad I've got that 12K or so
lines of pseudocode to rewrite in a Real Man's Language.

> Its
> major users are web sites that do not reuse code and often conduct
> &#8220;throw away&#8221; development to meet internet development time
> tables.

What a complete and utter load of shite.

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

Erm. Python 1.0 release date? Java 1.0 release date?

> It is also not J2EE compliant.

Shock. Horror. It is also not:

Visual Basic.
Fire retardent.
A small fluffy bunny.

> 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.

Unlike, say, Java. Sorry, _which_ JVM were you using? Oh, that feature
only works on a different JVM.

Or C++. Man, I _hate_ it how every time I move to a new platform, I
don't have to spend days fighting compilers, or fscking around with
header file. It means I get to do productive work.

> Issues and concerns

> · No integrated GUI (Graphic user interface) support.

Yeah. Where's my AWT in python, dammit! I _demand_ a crappy windowing
toolkit that makes all my applications go slow.

> · No compiler to the native code.

And?

> · No automatic garbage collection.

2.0. So it's only over a year out of date.


> · Does not have vast number of libraries as that of Java,
> Perl, C++; etc.

And, unlike Perl it doesn't have a vast number of multiple
implementations of every single possible interesting library.
Worse yet, python actually ships with libraries that are debugged
with test cases and documentation. And sometimes you can even
use a library without having to download 14 other different packages
and the latest minor point release of the core language.

> · 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.

I think the inclusion of 'Perl' here says a large amount about the
clue level of the author of this piece.

> · Python does not provide multiple ways to perform tasks as do
> most other languages.

You know, you're right! I _demand_ Guido add 14 new ways to spell

if option1 or option2:
do_stuff()
do_stuff2()

preferably using some form of obscure punctuation based source code markup
to denote structure. Of course, to prove what l33t c0derZ we all are, the
markup should work most of the time even if you get it subtly wrong.

> · It takes a lot of time for Python to adjust to the
> indentation style of the structuring code.

Hours, at least.

Compared to the days required to adjust to the mind-warping horror of a
new C++ compiler release.

> · Since Python is relatively a new language, there are only a
> few resources available for information on its latest developments.

*snicker*

> · Limited documentation- only two English language books exist
> which provide tutorials or a library reference for Python.

First website I tried (barnes&noble)

Computers: Programming Languages: Python
Below are 1 - 25 of the 27 titles sorted in bestselling order.

> · The language is restricted to fewer code modules.

I don't even know what this means.

> · Lacks native threading capabilities.

Threading support first appeared in 0.9.7, around late 1992. The
threading support of python uses the OS, rather than trying to implement
it's own. This means you can actually port python to new platforms without
having to sacrifice a child to an elder god to get threading to work.

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

Again, complete nonsense, as there's several of these.

> · No packaging methods for software distribution.

Woo. Greg Ward's going to be upset that all that time he spent on distutils
obviously didn't produce anything. Or, more seriously, see every release
since 1.6.

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

pychecker. or write a decent test suite. Oops, sorry, this breaks the
whole "it compiled, didn't it - ship!" mindset.

> · Python cannot write docstrings in C++.

Again, I don't know what this means.

> · Python is difficult to read.

????? This is probably my favourite one of the lot. Obviously this person
finds C++, Java and Perl to be the peak of readability. I assume they'd
also be right in with the APL crowd.

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

Java is not available on all systems at all, requiring that a developer
use a better language.

> 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

So what's this list? a bunch of features of python?


> Python users
> · Yahoo
> · Infoseek

mm. that'd be the only people to use it, too. no-one else does, ever.
Those wacky """web sites that do not reuse code and often conduct
"throw away" development to meet internet development time tables."""

Anthony


Neil Schemenauer

unread,
Jul 8, 2002, 8:44:16 PM7/8/02
to
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?

[Lots of stupid crap deleted]

I don't think you have to do anything. They are doing fine job of
looking stupid all by themselves. You might suggest that your customers
compare application functionality instead of comparing low level
implementation details. Other than that, you should probably spend time
improving you application rather than worrying about all the morons in
this world.

You really must be kicking their ass if their best criticism of your
product is its implementation language. I can imagine them cooking up
with new criticisms right now:

Their application code was edited using Emacs and Vi. We only use
the Espressomatic 3501(TM) in our shop. Vi and Emacs suck because
....

:-)

Neil


Alex Martelli

unread,
Jul 9, 2002, 1:45:10 AM7/9/02
to
Joseph A Knapka wrote:
...

>> · 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!

Yes, there are by far enough outright lies in this document that
you should be able to just point out a few of them and totally
destroy their credibility -- no need to get into anything arguable.
Besides the ones noted as such by Joseph, here's a few more:

>> · Limited documentation- only two English language books exist
>> which provide tutorials or a library reference for Python.

Another ridiculous lie -- *dozens* of English language books about
Python, and MOST provide tutorials, in addition to the many found
on the net. The demand for duplicates of the reference materials
supplied with Python is obviously lower than that for tutorials, but
even in that field there's quite a bit of overlap.

>> · Lacks basic tools such as integrated source level debuggers.
>
> That's not entirely true. There's IDLE and Pythonwin,

Those are two free ones, but don't forget the impressive array of
commercial products, too -- Archaeopteryx's Wing, PythonWorks,
ActiveState's Komodo and Visual Python, Blackadder... i.e.,
another total lie. You wouldn't be happening to be competing
against a WorldCom subsidiary, would you?

>> · No packaging methods for software distribution.
>
> distutils

Yep -- yet one more outright, bare-faced lie.


Alex

Matt Gerrans

unread,
Jul 9, 2002, 2:00:10 AM7/9/02
to
Based on the following circumstantial evidence, I think the troll theory
mentioned earlier may is worth considering:

- The "competitor" was not named. Why? Where is their web site with this
propaganda?
- The preamble sounds salesy.
- There is no "free stuff" at the web site listed.
- The rest of the nonsense listed is largely incorrect but invariably
inflamatory -- trying to generate a large thread so that lots of people will
go to the web site (or at least see the url).


Paul Rubin

unread,
Jul 9, 2002, 2:22:40 AM7/9/02
to
cu...@journyx.com (curt finch) writes:
> Python is often used as pseudocode to conduct rapid development. Its
> major users are web sites that do not reuse code and often conduct
> &#8220;throw away&#8221; development to meet internet development time
> tables. It is a very new language and has very little support compared
> to the Java development community. It is also not J2EE compliant.

Above is FUD though not being J2EE complaint is true (and a virtue)

> 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.

As if J2EE has been around since forever? FUD.

> Issues and concerns
>
> · No integrated GUI (Graphic user interface) support.

Somewhat true

> · No compiler to the native code.

Definitely true and a deficiency that should be corrected sooner or later.

> · No automatic garbage collection.

False for most practical purposes

> · Does not have vast number of libraries as that of Java,
> Perl, C++; etc.

True

> · 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.

Non-sequitur. Python needs runtime checks because of its dynamic
typing. However it should still be possible to compile Python.

> · Python does not provide multiple ways to perform tasks as do
> most other languages.

False and a bizarre claim.

> · It takes a lot of time for Python to adjust to the
> indentation style of the structuring code.

False. It is a little disconcerting at first but most people get used
to it pretty fast.

> · Since Python is relatively a new language, there are only a
> few resources available for information on its latest developments.

Semi-true, but in practice the resources are good enough.

> · Limited documentation- only two English language books exist
> which provide tutorials or a library reference for Python.

Not true any longer.

> · The language is restricted to fewer code modules.

Incomprehensible.

> · Lacks native threading capabilities.

True. There's a threading module that's similar to java threads, but
there's no built-in language support like java's synchronized classes.


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

There are some proprietary ones that I haven't tried. There's a free
one (IDLE) that's not very impressive. OTOH, Java's debugging support
isn't so great either.

> · No packaging methods for software distribution.

False.

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

Not too big a problem in practice.

> · Python cannot write docstrings in C++.

Huh? J2EE can't either. Why is this a problem for either?

> · Python is difficult to read.

FUD. Java is worse.

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

Huh? Same is true for Java. Python can always load Python modules
(similar to Java class loader). Loading native modules (like Java JNI)
dynamically isn't always possible, just like with Java.

Opus

unread,
Jul 9, 2002, 2:38:26 AM7/9/02
to
Seems to have done its job then.

> --
> http://mail.python.org/mailman/listinfo/python-list


--Opus--

The Christian religion has been and still is the principal enemy
of moral progress in the world.
- Bertrand Russell

--------------------------------------------------------
Get added to my Humor list:
mailto:op...@value.net?subject=ADD_HUMOR
Get added to my Neat list:
mailto:op...@value.net?subject=ADD_NEAT
Get my PGP public key:
mailto:op...@value.net?subject=PSEND&body=send%20PublicKEY.asc
Visit My Home Page:
http://value.net/~opus/

Bo M. Maryniuck

unread,
Jul 9, 2002, 3:55:44 AM7/9/02
to
On Tuesday 09 July 2002 01:18, 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?

Do not make them look stupid -- that is not nesessary. ;-)
What I would like to forward is a letter to me from ESR, when I had same war
Zope / Python vs. Java / JSP and I think this completely will help you here:

---------- Forwarded Message ----------

Subject: Re: Stupid wars
Date: Sat, 1 Jun 2002 22:45:26 -0400
From: Eric S Raymond <e...@thyrsus.com>

Java isn't bad. What I would point out is that if you develop with a closed-
source language, you are likely to have problems with:

(a) subtle bugs in the libraries and tools, which without source access
you cannot fix.

(b) inadequate documentation of edge conditions, which without source
access you cannot supplement by looking at what is actually going on.

(c) security; you don't know what code is in there, and cannoy audit for
bugs. --
<a href="http://www.tuxedo.org/~esr/">Eric S. Raymond</a>

--
Sincerely yours, Bogdan M. Maryniuck

"I would rather spend 10 hours reading someone else's source code than
10 minutes listening to Musak waiting for technical support which isn't."
(By Dr. Greg Wettstein, Roger Maris Cancer Center)

Bo M. Maryniuck

unread,
Jul 9, 2002, 4:41:07 AM7/9/02
to
You know, that's funny. :))))))

On Tuesday 09 July 2002 01:18, curt finch wrote:

> Issues and concerns
> · No integrated GUI (Graphic user interface) support.

wxWindows, anygui, Tk, GTK+, QT, fwm and Windoze resources. Did somebody can
make Java soft with... QT or wxWindows widgets? No?!..

> · No compiler to the native code.

Aha, sure. Java -- "write once and debug everywhere". Ask them what is JVM and
what that 40 megs bloatware doing on your machine and why same Java crapware
doe not working on shortly-different JVM versions.

> · No automatic garbage collection.
What?!

> · Does not have vast number of libraries as that of Java,
> Perl, C++; etc.

Actually, do not trust for all what is on CPAN, if you do something expencive,
commertial and with long support offering. IMHO...

> · 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 really VERY funny. Who said that *Perl* or Java is compiled language?
They both are _interpreters_ with different that Java do bytecode first.

> · Python does not provide multiple ways to perform tasks as do
> most other languages.

This is just commertial crap of stupid managers.

> · Limited documentation- only two English language books exist
> which provide tutorials or a library reference for Python.

Take them look over amazon.com -- let they stop crapping you.

> · The language is restricted to fewer code modules.

Ask them to show the Java code, where is the multiple class inheritance. ;-)

> · Lacks native threading capabilities.
Really? Just do:

import thread
import threading

...or show them few examples of threading from wxWindows demos.

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

Oh yes. I "like" when JSP shows me at leat five pages of traceback where you
can found nothing suitable for bugfixing. One of the all featureas why I like
Python -- is _exact_ and _smart_ explanation what and where is wrong (unlike
Perl or Java).

> · No packaging methods for software distribution.

Look at any release since 2.0 (afaik).

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

What the crap is here? Is it like "wwooohhoooo!!! I have COMPILED it!!!
SEL-L-L!!!"

> · Python cannot write docstrings in C++.

What is this (anybody understood this?).

> · Python is difficult to read.

Aha, sure:
-----------------8<-----------------
#!/usr/bin/perl -w
use strict;
$_=q[";7w2q";m/656/bq6/i;$g=
q(3616w8206qc7);$/="265502";
0;{$w=~y/726568q7/=46/;}for(
6..ew(6));q1;=|20.747.3754|;
@wa];s[\[^0-9a-f\]]{}g;@ARGV
=reverse(/../g);$a=\@ARGV;0;
grep{push(@_,sprintf('%.2x',
hex))}@$a;$"=q s\xs ;$$=qq"$
\"@_";$$=~s/\s//g;print eval
qq("$$");
-----------------8<-----------------

> 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

All of this are just buzzwords, used by stupid lamers. What I suggest, is only
FIRE OUT your competitors.

> Python users
> · Yahoo
> · Infoseek
also NASA, Google, IBM and a lot of others, described on http://www.python.org

--
Sincerely yours, Bogdan M. Maryniuck

lp1 on fire
(One of the more obfuscated kernel messages)

Boudewijn Rempt

unread,
Jul 9, 2002, 5:39:23 AM7/9/02
to
Bo M. Maryniuck wrote:

> You know, that's funny. :))))))
>
> On Tuesday 09 July 2002 01:18, curt finch wrote:
>> Issues and concerns
>> · No integrated GUI (Graphic user interface) support.
> wxWindows, anygui, Tk, GTK+, QT, fwm and Windoze resources. Did somebody
> can make Java soft with... QT or wxWindows widgets? No?!..
>

Er, yes. Somebody could: there's qtjava.

--
Boudewijn Rempt | http://www.valdyas.org

Boudewijn Rempt

unread,
Jul 9, 2002, 5:56:09 AM7/9/02
to
On Tue, 9 Jul 2002, Bo M. Maryniuck wrote:

> On Tuesday 09 July 2002 11:39, Boudewijn Rempt wrote:
> > Er, yes. Somebody could: there's qtjava.

> May I ask You for link? I'm just curious: Java + QT + crossplatforming. Hmm...
>

It's part of the kdebindings module:
http://developer.kde.org/language-bindings/java/index.html

>

Bo M. Maryniuck

unread,
Jul 9, 2002, 5:53:15 AM7/9/02
to
On Tuesday 09 July 2002 11:39, Boudewijn Rempt wrote:
> Er, yes. Somebody could: there's qtjava.
May I ask You for link? I'm just curious: Java + QT + crossplatforming. Hmm...

--

Sincerely yours, Bogdan M. Maryniuck

In most countries selling harmful things like drugs is punishable.
Then howcome people can sell Microsoft software and go unpunished?
(By ha...@rost.abo.fi, Hasse Skrifvars)

Bo M. Maryniuck

unread,
Jul 9, 2002, 6:18:50 AM7/9/02
to
On Tuesday 09 July 2002 11:56, Boudewijn Rempt wrote:
> It's part of the kdebindings module:
> http://developer.kde.org/language-bindings/java/index.html

AFAIK, QT isn't KDE, right? It actually, *is*, but You can not run KDE so far
simply on Winblows or MacOS or somewhere else as You can do this with
wxWindows or Tk.

And you can not use Java for very small and fast programs (console use) --
it'll start a half of hour... And also not for very-very-very large projects
with GUI and other stuff. I've seen no one success project, written on Java.
Even all the tools from the Oracle 8i-9i -- they always mostly fails or
crashes in the middle of the work (JDeveloper, Oracle Installer, OAS etc). :(

--
Sincerely yours, Bogdan M. Maryniuck

"...Deep Hack Mode--that mysterious and frightening state of
consciousness where Mortal Users fear to tread."
(By Matt Welsh)

Bo M. Maryniuck

unread,
Jul 9, 2002, 7:08:04 AM7/9/02
to
On Tuesday 09 July 2002 12:37, Gerhard Häring wrote:
> gerhard@lilith:~$ time java nothing # IBM JDK 1.3.1
>
> real 0m0.651s
> user 0m0.560s
> sys 0m0.110s

Cool time for _nothing_. BTW, can You "cat nothing.java" here? How much lines
that "nothing" took?
bo@toaster:(~) time python -c ''

real 0m0.058s
user 0m0.030s
sys 0m0.000s

Emmm... I remember, You asked me antique car. ;-) See this:
*bo@sfas:(~) time python -c ''

real 0m0.384s
user 0m0.330s
sys 0m0.060s

*bo@sfas:(~) cat /proc/cpuinfo
processor : 0
model name : Pentium 75 - 200
cpu MHz : 149.696

*bo@sfas:(~) java
bash: java: command not found


> Once you use lots of classes, there are some problems with startup time.
> Because of bytecode verification and all that.
Actually, this "problem" seems to be in Python too, especially if You use same
antique car, like my P75 with 150 mhz.

> Oracle developers apparently have no clue about
> 1) Writing installers.
> 2) Writing client-side Java that doesn't look crappy and actually works.

Yes, that's right. Here I fully agree with You. Anyway, let us both to
shutdown this nonsence thread. :)

--
Sincerely yours, Bogdan M. Maryniuck

"It's God. No, not Richard Stallman, or Linus Torvalds, but God."
(By Matt Welsh)

Bo M. Maryniuck

unread,
Jul 9, 2002, 6:16:48 AM7/9/02
to
On Tuesday 09 July 2002 11:56, Boudewijn Rempt wrote:
> It's part of the kdebindings module:
> http://developer.kde.org/language-bindings/java/index.html
AFAIK, QT isn't KDE, right? It actually, *is*, but You can not run KDE so far
simply on Winblows or MacOS or somewhere else as You can do this with
wxWindows or Tk.

And you can not use Java for very small and fast programs (console use) --
it'll start a half of hour... And also not for very-very-very large projects
with GUI and other stuff. I've seen no one success project, written on Java.
Even all the tools from the Oracle 8i-9i -- they always mostly fails or
crashes in the middle of the work (JDeveloper, Oracle Installer, OAS etc). :(

--

Sincerely yours, Bogdan M. Maryniuck

"...Deep Hack Mode--that mysterious and frightening state of

Gerhard Häring

unread,
Jul 9, 2002, 6:23:41 AM7/9/02
to
* Bo M. Maryniuck <b.mar...@forbis.lt> [2002-07-09 11:53 +0200]:

> On Tuesday 09 July 2002 11:39, Boudewijn Rempt wrote:
> > Er, yes. Somebody could: there's qtjava.
> May I ask You for link? I'm just curious: Java + QT + crossplatforming. Hmm...

It's GPLed. There were also (several) attempts to produce a GTK binding.
IBM's developed SWT for its Eclipse framework, which uses native
controls where they are available.

So, it's not like Swing is the only option (though IMO a very good one,
provided you have recent hardware).

Gerhard
--
This sig powered by Python!
Außentemperatur in München: 27.5 °C Wind: 2.2 m/s


Gerhard Häring

unread,
Jul 9, 2002, 6:37:58 AM7/9/02
to
* Bo M. Maryniuck <b.mar...@forbis.lt> [2002-07-09 12:18 +0200]:

> On Tuesday 09 July 2002 11:56, Boudewijn Rempt wrote:
> > It's part of the kdebindings module:
> > http://developer.kde.org/language-bindings/java/index.html
>
> AFAIK, QT isn't KDE, right? It actually, *is*, [...]

No, Qt exists in non-GPL versions for win32 and Mac. The Java binding
will most likely just work there, too.

> And you can not use Java for very small and fast programs (console
> use) -- it'll start a half of hour...

FUD.

gerhard@lilith:~$ javac nothing.java


gerhard@lilith:~$ time java nothing # IBM JDK 1.3.1

real 0m0.651s
user 0m0.560s
sys 0m0.110s

gerhard@lilith:~$ gcj -o nothing nothing.java --main=nothing
gerhard@lilith:~$ time ./nothing

real 0m0.113s
user 0m0.100s
sys 0m0.010s
gerhard@lilith:~$ cat /proc/cpuinfo
processor : 0
model name : Celeron (Mendocino)
cpu MHz : 498.011

processor : 1
model name : Celeron (Mendocino)
stepping : 5
cpu MHz : 498.011
[...]

Once you use lots of classes, there are some problems with startup time.
Because of bytecode verification and all that.

> And also not for very-very-very large projects with GUI and other


> stuff. I've seen no one success project, written on Java.

I have. One. Both GUI (formerly VJ++/WFC, then converted to Swing) and
backend (Intershop Enfinity - eCommerce engine, EJB, Oracle, XML,
CORBA).

> Even all the tools from the Oracle 8i-9i -- they always mostly fails
> or crashes in the middle of the work (JDeveloper, Oracle Installer,
> OAS etc). :(

Oracle developers apparently have no clue about 1) Writing installers.


2) Writing client-side Java that doesn't look crappy and actually works.

Gerhard
--
mail: gerhard <at> bigfoot <dot> de registered Linux user #64239
web: http://www.cs.fhm.edu/~ifw00065/ OpenPGP public key id AD24C930
public key fingerprint: 3FCC 8700 3012 0A9E B0C9 3667 814B 9CAA AD24 C930
reduce(lambda x,y:x+y,map(lambda x:chr(ord(x)^42),tuple('zS^BED\nX_FOY\x0b')))


Paul Boddie

unread,
Jul 9, 2002, 1:34:34 PM7/9/02
to
cu...@journyx.com (curt finch) wrote in message news:<96c7f32.02070...@posting.google.com>...
>

[Quoting a competitor's "analysis" of Python]

I won't go through the points and produce a 300 line post like almost
everyone else has done since, as almost everyone has noted, most of
them are ridiculous and suggest either cluelessness, arrogance or a
vested interest in writing lots of low-level "old school" code,
preferably in C++ if only they had the chance.

It is true that Python is used to describe algorithms and to prototype
software, mainly because Java (for example) is relatively poor at
investigating concepts, getting things working, and so on. However, it
is absolutely untrue to say that Python developers don't tend to
practise code reuse - it's one of the best languages to "leverage your
investment in existing components" (in executive-speak), *especially*
in the Java scene. And it's laughable to start talking about a lack of
J2EE-compliance - Jython is "100% Pure Java (TM)" and works very well
with J2EE components... a lot better than various Java products on
most occasions, too.

> 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.

I suppose when the term "licensed" is used, they actually mean "closed
source, proprietary licensed", but this is untrue as well: the
Infoseek intranet search products, for example, were both closed
source and proprietary Python software before "enterprise Java" was
even at the "short trousers" stage.

Reading the full list, I suspect that the person who wrote it has
never used Python and may even be an inexperienced developer who has
been asked to do some "research" on behalf of the project leader at
your competitor. Things like...

> · Python does not provide multiple ways to perform tasks as do
> most other languages.

...sound like a bizarre rephrasing of "there's only one way to do it"
taken literally by someone who doesn't know their stuff.

And this...

> · Since Python is relatively a new language, there are only a
> few resources available for information on its latest developments.

...deserves special attention. For Python, there's a shedload of
decent free, quality material out there on the Internet, and should
things not work as expected with a package or module, there are
usually good support possibilities and the source code is most often
provided and is easy to inspect. That's typically two more things than
any given comparable Java technology, in my experience.

Firstly, take a look at any Java support forum and it's flooded with
questions on how to get things to work. Now, one might claim that the
majority of these are from "clueless newbies" who should have read the
instructions, but a brief inspection of the instructions frequently
suggests that certain classes of Java project just don't have decent
manuals. But anyway, such entry-level questions tend to obscure the
threads describing non-trivial problems, thus making it difficult for
the average developer to solve them and get on with their work.

Secondly, it's all very well that Java packages are shipped in binary
form for easy installation, but when things go wrong, the class name,
method name and line number details are pretty useless. On numerous
occasions, it has been necessary for me to investigate configuration
issues with WinZip, just to see which classes are there and what
bizarre properties have been set by default. Ironically, in the
context of this message, the best tool for debugging Java
configurations is called Jython.

I agree with Anthony Baxter - you should name and shame these people,
if only for us to discover if it's a big name consulting house or not.
That would be interesting...

Paul

curt finch

unread,
Jul 9, 2002, 3:53:57 PM7/9/02
to
"Opus" said

>
> On 8 Jul 2002 at 23:00, Matt Gerrans wrote:
>
> > Based on the following circumstantial evidence, I think the troll theory
> > mentioned earlier may is worth considering:
> >
> > - The "competitor" was not named. Why? Where is their web site with this
> > propaganda?

There are two basically, one is clockware and the other is timewizard.
I don't like to give them publicity at all, even bad publicity.

> > - The preamble sounds salesy.
> > - There is no "free stuff" at the web site listed.

Product is free at http://www.journyx.com/products/timesheet/

> > - The rest of the nonsense listed is largely incorrect but invariably
> > inflamatory -- trying to generate a large thread so that lots of people will
> > go to the web site (or at least see the url).

the audience is payroll ladies not developers. they don't necessarily
know better and do fall for outrageous lies.

Our rebuttal (based on some of your comments) is here:

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

> > >
> --Opus--

Terry Reedy

unread,
Jul 9, 2002, 6:06:48 PM7/9/02
to

"curt finch" <cu...@journyx.com> wrote in message
news:96c7f32.02070...@posting.google.com...

For up to 10 users, which covers me and, I suspect, most readers here.
Having tried online demo, I may download and give this a try for
personal use.

> Our rebuttal (based on some of your comments) is here:
>
> http://www.journyx.com/pdf/PythonAtAGlance.pdf

This is a nice, professional-looking promotional piece for Python. If
you plan to keep it there, perhaps you could submit link to webmaster
at Python.org. It might be useful to people trying to introduce
Python in workplace and needing non-programmer manager approval.

Terry J. Reedy

PS. The notion that competitor would try to attack product by
attacking invisible-to-user implementation language strikes me as
bizarre. Reeks of desperation.

Matt Gerrans

unread,
Jul 10, 2002, 1:55:44 AM7/10/02
to
> There are two basically, one is clockware and the other is timewizard.
> I don't like to give them publicity at all, even bad publicity.

Okay! Now we can call up their sales people and ask them why they haven't
implemented their technology in Python. Are their developers masochistic
or something?


Alex Martelli

unread,
Jul 10, 2002, 3:25:23 AM7/10/02
to
Terry Reedy wrote:
...

> PS. The notion that competitor would try to attack product by
> attacking invisible-to-user implementation language strikes me as
> bizarre. Reeks of desperation.

It does in fact happen quite often -- a technology used in the
making of a product is targeted for 'for' or 'against' marketing,
rather than user-visible aspects of the product. It's in
particular quite prevalent in software. I recall a competitor,
back when I was with think3, who made a great splash about how
they had converted their PDM product from C++ to Java -- then,
a couple years later, another great splash about how good it was
that they had converted from Java to C++. Our salespeople did
not have a particularly hard time with that -- just showing
prospects the competitor's press cuttings from the _two_ conversions
side by side made for a guaranteed barrel of laughs and spontaneous
customer quips about looking forward to yet another round in a
couple more years about another conversion back to java. But
that was a _particularly_ clueless case, of course.

The overall idea is not deeply different from detergent
commercials of the '50s "now with new miracle ingredient XK7!".
In theory the customer couldn't care less about XK7 -- but it's
hoped he or she will take it as a proxy for this now being a
better detergent. I don't think detergents &c are marketed
that way any more -- if anything you're likely to see something
about "all-organic, natural" etc -- but many other products still
are...


Alex

Carl Banks

unread,
Jul 10, 2002, 3:42:41 AM7/10/02
to
Alex Martelli wrote:
> Terry Reedy wrote:
> ...
>> PS. The notion that competitor would try to attack product by
>> attacking invisible-to-user implementation language strikes me as
>> bizarre. Reeks of desperation.
>
> It does in fact happen quite often -- a technology used in the
> making of a product is targeted for 'for' or 'against' marketing,
> rather than user-visible aspects of the product.

One word: Object Oriented.


--
CARL BANKS

François Pinard

unread,
Jul 10, 2002, 6:57:12 AM7/10/02
to
[Alex Martelli]

> > PS. The notion that competitor would try to attack product by
> > attacking invisible-to-user implementation language strikes me as
> > bizarre. Reeks of desperation.

> It does in fact happen quite often -- a technology used in the
> making of a product is targeted for 'for' or 'against' marketing,
> rather than user-visible aspects of the product.

I've also seen it in the field of musical instrument builders, and it
surprised me at the time, especially from otherwise respectable firms.
Competition may become an horrible thing.

--
François Pinard http://www.iro.umontreal.ca/~pinard


Laura Creighton

unread,
Jul 10, 2002, 11:15:58 AM7/10/02
to
> This is a cryptographically signed message in MIME format.
>
> --------------ms020109020808020407080404
> Content-Type: text/plain; charset=us-ascii; format=flowed
> Content-Transfer-Encoding: 7bit

>
> curt finch writes:
> > Our rebuttal (based on some of your comments) is here:
> >
> > http://www.journyx.com/pdf/PythonAtAGlance.pdf
>
> Great job, actually -- that's nicely written. I'd like to echo Terry
> Reedy's suggestion that you (if willing) release this for general use i
> n
> Python advocacy.
>
> While I'm at it, is there anyone willing to donate web and/or wiki spac
> e
> for Python advocacy? As far as I can tell, "Starship Python" is no
> longer taking new members, and I have some advocacy materials I am
> collecting and trying to post. I just need a place to host it (and of
> course lots more well-written content like curt finch's).
>
> -- Michael Chermside
>

Stephan Diebel is at www.pythonology.com. The Python Business
Forum intends to cross-reference this and include some of its
own material. The PBF Build-Our-Website sig is chaired by Itamar
Shtull-Trauring ita...@zoteca.com. Contact him if you would
like to help.

Laura Creighton


curt finch

unread,
Jul 11, 2002, 3:34:17 PM7/11/02
to
"Matt Gerrans" <mger...@mindspring.com> wrote in message news:<aggig9$b76$1...@slb5.atl.mindspring.net>...

don't tease me like that


___________________________________________________________________
FREE Project Management Software??? --> http://journyx.com/wts.html
-------------------------------------------------------------------

Stafford Drake

unread,
Jul 22, 2002, 7:06:13 AM7/22/02
to
I believe these people are doing a good job of making themselves look
silly.

The best thing you can do is to post a list of good Python resources
for those of your customers who are interested and let them make up
their own minds.

(BTW your timesheet app looks excellent).

Regards,

SD

cu...@journyx.com (curt finch) wrote in message news:<96c7f32.02070...@posting.google.com>...

> 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
>
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Summary


> Python is often used as pseudocode to conduct rapid development. Its
> major users are web sites that do not reuse code and often conduct
> &#8220;throw away&#8221; development to meet internet development time
> tables. It is a very new language and has very little support compared
> to the Java development community. It is also not J2EE compliant.
>

> 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.
>

> · No compiler to the native code.
>

> · No automatic garbage collection.


>
> · Does not have vast number of libraries as that of Java,
> Perl, C++; etc.
>

> · 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.
>

> · Python does not provide multiple ways to perform tasks as do
> most other languages.
>

> · It takes a lot of time for Python to adjust to the
> indentation style of the structuring code.
>

> · Since Python is relatively a new language, there are only a
> few resources available for information on its latest developments.
>

> · Limited documentation- only two English language books exist
> which provide tutorials or a library reference for Python.
>

> · The language is restricted to fewer code modules.
>

> · Lacks native threading capabilities.


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

> · No packaging methods for software distribution.
>

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

> · Python cannot write docstrings in C++.
>

> · Python is difficult to read.
>

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

> 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

Reply all
Reply to author
Forward
0 new messages