Help me in this please--is Python the answer?

Ed Singleton singletoned at gmail.com
Thu Jan 12 05:47:03 EST 2006


On 11 Jan 2006 17:54:05 -0800, Ray <ray_usenet at yahoo.com> wrote:
> Hello,
>
> I've got the chance to determine the technology to use in creating a
> product similar to this:
>
> http://www.atomicisland.com/
>
> Now the thing is that I need to sell this to the guy with the money.
> I've developed for years with C++ and Java, last 7 years J2EE, and I'm
> kinda sick of the "bloated" feeling that the whole J2EE/appserver
> business carries into the picture.

Personally I have found that if you need to sell a technology on,
saying it's written in Java is an advantage generally (because "it's a
standard").  If it's written in Python you may get asked why it has
been written in a "scripting language" if they've heard of it at all.

> Python is the language that I use at home, so I've been thinking of
> using this to implement the product mentioned above. I've personally
> experienced the pleasure of programming in it, and as such, I hope that
> this will translate to advantage over our competitors (a la Paul
> Graham's argument for Lisp).

>From my brief look at that url you gave, it looks like you are trying
to enter a very crowded market place.  You will have to perform a lot
better than your competitors in order to succeed (they have a head
start on you).  There's no way on earth you can do that by using
exactly the same tools as them, so you have to choose better tools. 
Almost by definition, the tools that the majority are using are NOT
the best tools for the job.  If I were you I'd definitely choose
Python, if only because everyone else is not using it yet.

> That said, my experience with Python is limited to toy programs, that I
> write myself for my own use. As such, I have several concerns:
>
> 1. How scalable is Python? In J2EE, when the load gets really big, we
> can resort to clustering. Same goes about availability. Is there
> anything that will help here in Python? (Mind, my Python experience is
> usually with scripts and console).
>
> 2. If there is, what is the transition like from being lightweight to
> heavyweight? E.g.: in J2EE we can use Tomcat at first as a lightweight
> web container, and scale as necessary using a more powerful appserver.
> Is this possible in Python?

If I were you I'd concentrate on creating a website that actually
works.  Your chances of creating a website that needs to scale to be
'heavyweight' are very slim.  If you manage to get to that point then
you can start worrying about how to cope with all the money that's
rolling in ;)

AFAIAA Python scales better than Java as any performance critical
parts can be easily rewritten in C.  To spend too much time worrying
over it is premature optimisation though.

> 3. Have any of you done this before? As in you come from a heavy J2EE
> background, and then switch to doing something equally serious in
> Python? In your experience, in the end, did you find Python suitable at
> all for this domain or you think you should have stuck to J2EE? What
> are the pros and cons you discovered?

I don't have much experience of Java tbh, but I've never heard of any
pro's to using it, except for the fact that it's more acceptable to
big business and it's easier to get mediocre programmers for it.

> (I'd love to develop in Python and get paid for it finally, but at the
> same time I do want to give the money guy the best value for his
> money...)

The only thing you really need to be happy is to find something you
enjoy doing and to do it.  Money is definitely secondary to that.  If
you have a chance to be paid for working in Python, then go for it;
even if you fail, you will have spent your days in a happy state.

Ed



More information about the Python-list mailing list