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 <[EMAIL PROTECTED]> Inetd Pty Ltd T/A HostExpress Web: http://www.hostexpress.com.au Blog: http://www.hostexpress.com.au/drupal/chris Phone: (08) 8410 4566 _______________________________________________ sapug mailing list [email protected] http://mail.python.org/mailman/listinfo/sapug
