>>13
Elaborate.
Sure. _Properly designed, written_ PHP applications (read my previous post to see why this isn't that common, but PHP is not to blame for it) are easier to modify, extend, fix, and otherwise maintain, because of the KISS principle. Perl code tends to end up looking like noise, because of the liberal syntax, parenthesis/regex/scope nightmares (which shouldn't be abused, but the language is still prone to it), but it's against Java where PHP(5 if you want) really shows a huge difference. I'm speaking for my own experience as a developer who did both design/development and maintenance of mine and others' code.
Large Java applications end up being a lot of type juggling (which is not really _functional_ code that does something for your application, just support code) and an object nightmare, where anything inherits and implements obscure methods and trying to find what's being called and what does it do gets really time consuming. You're constantly jumping from here to there to see what's getting executed, and that, in my book, is known as good old spaghetti code.
Moreover, the Java API blows. To say it's overly complicated is a major understatement. You'd have to create an ExpressionFactory (which inherits various methods and properties from Universe > World > Intelligence > Ideas > Communication > Expression), to create an Expression object, wait, make that an ExpressiveExpression (Expression is deprecated), implementing the ExpressYourself interface; and pass a container of the syllabes you want to express, then fire. In the end, Java code looks like this.get().lol().silly(new TimeWaster(new WasteEvenMoreTime(IllogicalStaticMethod.getWhyShouldIBeDoingThis())).getSomeMore().get(); .
Breaking news: I get paid for implemented functionality, not the total amount of objects created (otherwise I'd be rich). In the real world (i.e. what you use to make bread and be able to browse 4chan at night), you need to write software that runs reasonably fast but more importantly scales well, is easy to maintain even if you're gone, and you can finish in a finite amount of time.
>You're being liberal with the meaning of "most". All the world is not OSS.
Yes, I understand. But see how most commercial software is OO while most OSS is not OO? Not OO is easier to understand and maintain - which is vital for OSS as everybody touches everybody else's code. Commercial software developers don't want this. They need to justify why you need to update to their new Easy Business(TM) system, which costs $10000, but man, it's object oriented and uses XML! (managers read this is good in magazines). They can't charge thousands of dollars for a 1.3 MB executable, can they?