[sapug] Plethora of jobs on SEEK for Python programmers in Adelaide.

Chris Foote chris at inetd.com.au
Sat Mar 8 01:50:14 CET 2008


On Fri, 7 Mar 2008, stephen white wrote:

> On 07/03/2008, at 12:16 PM, Chris Foote wrote:
>> - Dynamic languages aren't popular.
>>
>> - The popular dynamic languages have an interpreter implementation
>> that
>>    doesn't lend itself to hiding proprietary code from prying eyes.
>
>
> Or:
>
> - Dynamic languages suck for scaling up to real projects, even though
> they're great for small scale RAD exploring.

It depends what you mean by scaling.

If it's a software system designed to have fault redundance and high
performance across a cluster of machines, then it easily accomplishes
those things (I completed a VoIP SIP/H323 voice peering project last
year which uses Psycho, Pyro, PyJudy for Python, and integrates with
PowerDNS, MySQL, Quagga, FreeRadius & the proprietary Mera Systems MVTS
soft switch across a cluster beginning starting out with 6 servers.
It's primary function is to provide ENUM DNS lookups and route calls
between providers, but the project had performance, scalability and lookup
database update constraints - 10M number ranges, < 0.2s response time to
DNS queries regardless of load, and needed to withstand DOS attacks (two
boxes handle >20Mb/s of DNS traffic).  In addition to this, database
updates needed to occur with less than <1 second of outage across all
systems with guaranteed consistency).

On the other hand, if what you mean by scalability is that a language
provides a good environment for >1M lines of code across >50 developers,
then Python does not provide such things as true data hiding (i.e. no
private/protected data & methods), which might be an issue.  Static typing
might have larger benefits in such cases too.  Python 3000 has some
new features that help with that (e.g. typing hints for documentation
and tools).

> Even I would hesitate before using Ruby or Python on a company web
> site, because I wouldn't have the DHH option of saying "Fuck You"...

There are some good horizontal-scaling web systems written in Python.
They easily scale for an ordinary "company web site".  Even a large
framework and CMS system like Plone (bloatware in comparison to most
web frameworks in Pyton) will scale well horizontally - see:

http://plone.org/documentation/tutorial/optimizing-plone
http://plone.org/documentation/how-to/ha-load-balanced-cluster-for-zope-and-plone

It's certainly good enough to use for a huge number of high-profile
organisations:
 	http://plone.net/sites
(list includes Akamai, Novell, Oxfam and many others for their primary
web sites).

Other popular frameworks are Django and Turbogears, both of which scale
very well, but are somewhat younger.  If raw performance stats have
any meaning to you, then this article compares 6 different frameworks:
http://www.alrond.com/en/2007/jan/25/performance-test-of-6-leading-frameworks/

Chris Foote <chris at inetd.com.au>
Inetd Pty Ltd T/A HostExpress
Web:   http://www.hostexpress.com.au
Blog:  http://www.hostexpress.com.au/drupal/chris
Phone: (08) 8410 4566


More information about the sapug mailing list