So, you’ve spent the last 5 years getting super good at programming PHP have you? I know I have and I’m really kinda proud of the knowledge and progression that I’ve achieved too. PHP is a very broad skillset that if you truly want to be a good PHP developer, you need a thorough understanding of programming best practises in general. You also need to know what to use and what not to and why. For example, in PHP a singleton is rarely appropriate due to it only using one thread unlike other languages such as Java. You also need to know what will increase your overheads and what will reduce them. You also need to be able to design systems REALLY well in order to program them well. There’s so much more to scaled PHP development than the language itself… though of course that is rather important also.

My point is – Java developers do all of this and deal with how their development effects the servers they run on, some database stuff (essential really in most programming tasks) and the requirements that dictate the systems they build. I know all this due to the fact that I’m marrying one! I wouldn’t expect your average web developer to really grasp the concept of systems architecture or design patterns… why would they need to? So my question simply is: why must PHP developers become experts in client side development too? We don’t want to thanks. You can keep your messed up views of OO.

Maybe it’s time I learnt Java properly….