|
"I need to reduce the term scalability to its core concern: performance"
With that statement, the article went from interesting to uninteresting.
Performance is not really that important. There will always be faster machines with more RAM. You can load balance across machines, that is not really a language issue, although some support it better than others.
Maintainability is the key to any large software development project. If you have 100,000 lines or code in a mid-sized project, you definately want a language that provides the best concepts and tools to manage that complexity.
I am not a PHP user. I believe that PHP is behind Java in maintainability, but I don't know PHP well enough to compare them point by point, and I may consider using PHP on a future project so I want to know how far it is behind. How does PHP compare to java's packages, jar files, war files, import statement, class visibility, interfaces, reflection, javadocs, UML tools, etc. Now that would be a more useful article.
|
On the practical front, PHP doesn't have such a mature set of development tools and there's still a fair amount of work to do on encapsulating common architectural issues in some form of re-usable package - PEAR is getting there although there's still some lessons to learn in re-use (PEAR is closer to CPAN right now than a well integrated class library). PHP5 is also needed to make things like error handling more uniform.
On the philosophical front, there's a different school of thought coming from an eXtreme programming angle which argues that static, compile time type checks are merely a subset of unit testing and don't bring you much closer to a bug free application. Bruce Eckel makes the case in Strong Typing vs Strong Testing. For a PHP unit test framework (there's a few), try Simple Test.