lol I posted this to a message board talking about which language is better for scaling an application, PHP or Java? I posted this reply, and wanted to copy it here before the message board and time washed my wisdom away.
Whoops! No one reads this blog, either …so mission failed. Oh, well. 😉
It has always stuck me that scalability has several dimensions, and we tend to concentrate on the “scaling to load” dimension. But there’s also the “scaling to complexity” dimension. As a system matures, it will gain more features and complexity, and my feeling is that Java has an edge there, because of features like “programming to interfaces” and type-safety: the compiler will enforce code contracts and help you manage the system as it scales in complexity.
Another dimension that @Desmond mentions is scaling the size of your team — my feeling is also that it’s easier to have a larger team working in a statically-typed language because of the compiler guarantees. …That said, you can write bad code in any language.
On the “scaling to load” question, as long as you’re adhering to good architectural principles like avoiding server affinity and allowing replication and horizontal scaling, the question of which language is more neutral. Then it’s just a matter of how many dollars does it take to build out hardware, or buy software licenses for supporting infrastructure, and I admit I don’t have a good feel for the numbers on that.
My experience is that scaling your persistence layer for load is a much harder problem than scaling your application layer.