Python for use corporate ecommerce site?

Terry Hancock hancock at anansispaceworks.com
Fri Aug 16 00:01:18 CEST 2002


From: stibbs <stibbs at nothanks.com>
> Hi, I'm a developer/sys admin for a small company who is currently about
> to develop a new e-commerce system. 
> 
> 2) The project manager and myself are friends, he knows i use python for
> my sys admining and is open to suggestions. To put his trust in python he
> needs some facts within the next couple of days to actually consider using
> it for this project. I already have him interested because of python being
> OOP from the ground plus i explained to him the reasons on why it would be
> so much easier to maintain and build on compared to perl.
> 
> 3) I have only used python for sys admin programming but i would have no
> problem programming in python for large scale e-commerce system, it's just
> that i don't know how or where to *apply* it and what other languages (if
> any) to use alongside python. I have no experience in applying python to
> an e-commerce related project. ***I need the advice of people that have
> applied python in this manner or know in-depth knowledge of how it should
> be applied to an e-commerce system.***

I've built a simple store in Python/Zope myself, just working
through the web.  After I get some of the more pressing work
off my plate, I hope to revisit and improve it. OR, I may try
to substitute a more sophisticated pre-existing solution. I
still have some analysis to do to decide.
 
> is there anything in the python world that is equal to the likes in
> functionality and stability as mason?

I don't know mason, but I think "This is a Job for Zope!", if
you want to use Python (and indeed, I suspect it is a good fit).
>From what I've heard, Zope is actually a much bigger concept
approach than Mason. So in a sense, it's probably "even better".
It is the "Z object publishing environment" and that pretty much
describes it.

I'm not sure about "stability" -- Zope does still have a rather
high rate of change. But version 2.5.1 is pretty solid, I'm starting
to really like it.
 
> what are some useful urls pertaining to a project such as this one.

You'll want to examine:

Zope: http://www.zope.org

and particularly:

ZCommerce: http://www.zope.org/Members/ngarcia/zCommerce

I haven't had a chance to examine the latter in detail, but
the project has ostensibly the same goals as you do. I note
the version number is pretty low.  But this is what I will
be considering as the "pre-existing" option -- adopt zCommerce
and extend it as needed.

> please give me any other suggestions you may have. ***I would especially
> appreciate unbiased advice from people who use multiple programming
> languages and who follow the motto that the right tool/s should be used
> for the job, not just one tool for everything***

Well, I wouldn't use Python for *everything*, but it's
a pretty broadly applicable language, and since I don't
like to spend all my time learning programming languages,
I'm pretty happy to design with one very capable one, 
than to have an assortment of different languages all
having to interface with one another.

One of the things I like about Python, is that,
although it is internally object-oriented, it actually
provides support for a variety of different programming
styles, so I don't really have to stick with
object-oriented, or functional, or structured-procedural,
but can use the "right one for the right job", as you
point out -- *without* having the extra overhead of
having to switch languages, or having to interface them.
Combining the different techniques can sometimes make
even more powerful things possible (can probably also
make a mess, I suppose, but so far not for me).

In my experience, the interfaces between different
systems, computers, or languages always turn out to be
the most demanding, error-prone, and time-consuming
parts of any project (software or hardware). There's
a rule of thumb in robotics that "90% of all problems
turn out to be a bad connector"!  :-D The core of the
project is usually trivial.  With the kind of
application you're talking about, you're already
committed to a large number of external interfaces to
cope with  -- who wants to add new ones?

In actual practice, I use tcsh, C, Python, and (ack!)
assembly language from time to time. I theoretically
can use Perl, Fortran, or Basic, but I haven't found any
of them compelling lately. (I actually did use two
10-line Perl scripts recently, and was accused of spreading
FUD and being a closet Perl conspirator because I thought
they were slightly easier than doing the same thing
in Python.  Never mind the 10,000 lines of Python that
I use for everthing else -- Aahz assured me that I
only felt that way because I was "obviously more
familiar with Perl". [;-P Nyaa! So there, Aahz!] So I
can appreciate that you don't necessarily want a purist
opinion. ;-D).

I figure I'm going to have to learn Java at some point,
more because of the JVM than for any love of the
language itself (in fact I plan to learn just enough
to do the real work in Jython).  I still think it
would be cooler to do clientside stuff in Jython than
in Javascript, because then client and server side are
in the same language.  But I've been told this is a
waste of time.  I'm too stubborn to give up, though.

Of course I'm "not really a programmer" -- I'm more like
a very dedicated do-it-yourself-er. For someone like
me, for whom programming is more something you do
because you need the result than because you just
like hacking, Python is real nice. You can get in and
do some real damage, without so much overhead.

Cheers,
Terry

-- 
------------------------------------------------------
Terry Hancock
hancock at anansispaceworks.com       
Anansi Spaceworks                 
http://www.anansispaceworks.com 
P.O. Box 60583                     
Pasadena, CA 91116-6583
------------------------------------------------------




More information about the Python-list mailing list