Nikolaj Baer wrote:
My curiosity extends beyond just python's suitability as an enterprise
level language. It seems the most compelling argument for java over
python (and ruby) is python's difficulty with concurrency.
Python doesn't have a difficulty with concurrency (well, no more so than most languages that aren't called Erlang ;-). It has severely limited with regards to working with threads, but threads are far from the only way (some would argue they are in fact the worst way) to do concurrency.
However, when thinking about applications that are request based, I have
difficulty thinking of common uses for concurrency, aside from the
most extreme processing requirements.. in which case with python you
would best off dropping into C and ultimately being more efficient
(and you could disable the GIL and fire up some threads).
It depends a lot on the kind of applications you are doing. Threads make it easy to correctly share objects and CPU time between requests. A lot of times the latter isn't that important and the former is downright undesirable.
The exception, i guess, would be transactions, which I have not had to
deal with in detail at the scale in which I work.
Actually, process level concurrency models more closely with the semantics of transactions.
I am still looking
for the key to what 'enterprise' is, and I am curious what the use of
concurrency is in the "enterprise level". Is it for transactions? What
are the major challenges with transactions? If anyone knows any
articles/papers to this effect that would also really be appreciated.
Enterprise: basically means you can charge more for doing less. ;-)

Seriously, enterprise mostly is about the maturity of a platform. You want easy integration with all the other pieces of your platform, a large market place of developers and tools to help you get the job done, easy to spin people up on a new project, a proven track record solving the usual enterprise database and messaging workloads, etc.

As I said in my article, Python's lack of an efficient runtime doesn't speak too well about its maturity as an enterprise platform. If you look beneath that you can see the factors where it is still weak (still not a huge market place of developers and tools, integration with a lot of other enterprise technologies is a little weak, etc.) and other places where it is strong (easy to spin up new people, pretty solid integration with specific technologies, etc.).

--Chris

--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to