help! advocacy resources needed fast

Steve Holden sholden at holdenweb.com
Wed Mar 5 08:09:05 EST 2003


"Geoff Gerrietts" <geoff at gerrietts.net> wrote in message
news:mailman.1046819836.25704.python-list at python.org...
> I didn't think I was going to need to do this, but it looks like I
> might.
>
I think you should work hard to convince your bosses, and your team, that
the current approach is cockamamie.

> Within the next couple days, the firm I work for is likely to be
> meeting to decide what we're doing in terms of technology change.
> We've been using Python, ILU,  and Zope for a long time as the
> backbone of our business. We're now talking about changing that, but
> we're trying to decide to what.
>
Well, I understand the ILU and Zope reexamination, but I don't see why
Python should also get a question mark over it, if for no other reason than
the amount of existing logic you must have in Python. Keeping that logic in
Python and migrating to a new framework *has* to be a win, surely.

> The problem is, we're drowning under traffic, and we have very strong
> plans/deals/whatever going into place that will multiply that traffic.
> We need to start building now for that day.
>
You already have :-) Certainly better to be drowing under it than struggling
to generate it, though. However, where performance is a concern, always
remember there are three important words: measure, measure, measure.

> One of the guys who's been with the organization for a long time wants
> to go to a Java-based approach. The long term viability, he maintains,
> is better, and the short term boost in performance per box in the cage
> is also better.
>
I assume here he is arguing that Java is long-term "more viable" than Python
because of the huge marketing slush-fund that Sun have thrown at the
language. Ignore that it's object-oriented Cobol. Ignore that programmer
productivity will go down: compare

    SAXParserFactory factory = SAXParserFactory.newInstance();

with

    factory = xml.sax.make_parser()

Worse than the fact tha the declarations aren't necessary is the fact that
common Java style actually hides the name of the variable as a tiny word in
the middle of a humungous declaration text like the above. I liked Java when
it was small. Since it scaled up to match its overblown plans for world
domination it's almost as bad as any other piece of bloatware. The API is
just too big and too all-encompassing.

The short-term boost you get by a migration would have to be measured, but
depending on the server environment you may not get the improvement you
anticipate. Some of the Java server environments aren't that speedy. Did I
mention the reprogramming of your existing code?

> I could be persuaded to let Zope go -- it's nice, but it's not really
> a very good fit for our organization. And I welcome the day ILU is no
> longer part of our technology framework. But I quail at the thought of
> losing Python.
>
So, stick to your guns!

> So I'm hunting for options, and hard facts (preferably with numbers
> attached).
>
See below.

> My current read is that Webware + Twisted, or mod_python + Twisted,
> would be the "fastest" web server platform python supports. Does
> anyone else have better numbers? Solid comparisons of any kind? I've
> got lots of anecdotal evidence I can point at, but very little in the
> way of hard numbers.
>
You don't need hard numbers, you need a new job :-). If you're already
suspecting that you might need multiple servers on this task then number of
servers (after two) required is a rather less significant factor than
language choice and familiarity of environment. If your organization can let
themselves be blindsided this way then they'll end up buying the sizzle
rather than the sausage. And they certainly won't be the first to do it.

If you have the unwashed masses visiting your site in such numbers that the
cry goes up "quick, bring server number seventeen on line" then it hardly
seems to matter that there would be a modest cost attached to the additional
server. Unless this service is not profit-oriented.

Twisted has been getting cooler. Since Alex Martelli recommended I take
another look I've been impressed at how it's come along in the last year. It
even has more documentation now, some of it even comprehensible. I'm looking
forward to hearing more about it at PyCon, which has a string Twisted
thread/track. (See the .sig for registration link). Webware is a great
platform, and I'm happy to hear that it too is coming in for some work at
PyCon: the Webware guys have scheduled a sprint during the pre-conference
session. Since the addition of a Xitami long-running web process adapter,
that would be an interesting server framework to investigate if what you
want is raw speed and asynchronous flexibility.

Finally, you could always wheel out the big guns: tell your boss that a
Yorkshireman wouldn't spend a year writing a book called "Python Web
Programming" for nothing. If that doesn't convince him the language isn't
going away, nothing will :-) - hell, your company can even hire me as a
consultant so they have someone to blame if their plans go awry.

in-yorkshire-we-don't-back-losers-ly y'rs  - steve
--
Steve Holden                                  http://www.holdenweb.com/
Python Web Programming                 http://pydish.holdenweb.com/pwp/
Register for PyCon now!            http://www.python.org/pycon/reg.html







More information about the Python-list mailing list