In response to my post PHP development practices from a Java Architects eye, Jeff Moore had some thoughts.

I posted my response (to his reponse to my post) in his post. Dizzy yet?
However after 12 hours it was still not approved! So I thought of posting it here in my blog. To get an idea what this is about, read my original post and his response.

Here's my response to his (rather strange) response:

Jeff> The author doesn't make this paradigm shift and erroneously implies that PHP is not scalable.

I am not assuming anything here. I am stating the facts as I see it :)

Opening and writing to multiple files in the course of serving a single request doesn't improve scalability. Specially when you are trying to scale across multiple machines. No amount of imaginary paradigm shift isn't going to change that. Such practices also makes php a low throughput system.

Jeff> There is a name for this. It is called premature optimization.

You have mis-named it. It is called *architecture and design*.
I was talking about thinking, not optimizing then.

Jeff> PHP pitches a large tent. There are many amateur and professional programmers using PHP.

You bet. Unfortunately most of the much-talked open source php projects have a significant share of these amateur developers.

Jeff> The interesting thing is that some of the most popular PHP applications are not the ones that I would point to and tell people "this is a good example of programming in PHP." I won't name names, but I would hate for people to form their opinions about PHP solely on the design of these applications.

I agree. Please do point me to some succesful php projects of exmplary code.

Jeff> That realization was that project success has far more to do with how closely your software meets requirements than how technically advanced it is.

It also has to do with how manageable and maintainable a project is over the long run. I have seen too many projects with "amateur" coding became so unmaintainable so fast that they had to be abandoned and had to go for total rewrite.

Jeff> "high architecture" projects that never finished

I don't know what "high architecture" means. However you are probably referring to over-architected projects. A good projects stands on optimal architecture, nothing more nothing less.

Jeff> That is why software built by their users, such as many visible PHP projects are, can be very successful.

The arguments don't stand up. You are trying to prove a point that isn't there. Programming is about programmers. Some language make it easy to write bad code like php or perl, some language make it harder like Java or C#. However bad code can be written anywhere.

Having none or minimal architecture in a project doesn't make it a candidate for success or make it more suitable to meet customer requirements.

If you are looking for minimal architecture approach then you may be interested in extreme programming. XP projects are very successful in meeting customer requirements as the projects revolves around the customer all the time.
Interestingly there are more XP programmers in Java then in all other languages combined.

I think you need to delve deeply into Java, which will dispel lot of myth you have regarding Java.