Per Jessen wrote:
Nathan Rixham wrote:

point is..
Java let's me easily do 70% of what I need to
PHP let's me easily do 95% of what I need to


I'm curious - can you list what the 25% are?

it lacks dynamic typing, the ability to procedural code and its precompiled not interpreted; all in a hello world in php is 10 seconds, in java it's nigh on 10 minutes. Hence why php is such a good language

If we could get that 5% added then PHP would be perfect, not only that
but me and the rest of the team at work would be able to make our
multi-million pound enterprise projects in PHP instead of java; as
would so many others (that can't be a bad thing for PHP)

But why?  Why not use Java and J2EE and all that good stuff?  I'm not
much of a java fan myself, but you've got to give credit where credit
is due.

well I can give two examples:
Three other PHP Developers and myself spent the best part of a year creating a large multi-site event management system in PHP; the whole process was deeply frustrating primarily due to the lack of optional static typing and there in the lack of a solid ORM; with this small addition the whole process would have been a 6 month process if that, and a far more pleasurable experience.

Currently 7 other Java developers and myself are building a large multisite transportation management and ticketing system in Java, this is a 9 month project with a decent sized and very skilled team; because of the lack of static typing (and thus the lack of development tools and frameworks/orms for PHP) we've had to go with Java; TBH the static typing is only needed on the domain model and the api layer, the bulk of the business logic in between where the majority of the work comes in, would be a great deal easier using a mix of procedural code and dynamic typing. I'd argue that again the development time of this project could be halfed if it was done in PHP AND if in PHP had support for optional static typing coupled with a good ORM. Further the difference between precompilation and interpretation is v noticable when it comes to rolling applications out, often in development you want to run a hlaf built or broken application to see what happens and check if parts x y and z are good + to test your infrastructure; when you can't compile and do this testing becuase the app isn't bug free or completed it's rather limiting. Sometimes unit tests just don't cover what you need.

Additionally, rather sure you'd see a mass influx of people moving to
php, and applications created for it - even down to design tools such
as reverse and forward engineering between uml and php.

ack.. there's a tonne of amazing tools and frameworks for java, and
I'm sure that a vast majority of them are possible because of this
static typing (from orms to web service frameworks and all in between)
- am I so bad for wanting that for php and my fellow devs?

No, you're not so bad :-) The point is - why not just use Java, when you really need the features?

the cases above should show why, fact is (imho) PHP would be a far better language than java for web based applications in 99% of cases if it had this optional static typing and the tools that allows. *IF* it did, then 10 other people and myself wouldn't have wasted a year of there lives on writing what could be unneeded code; I'm sure I'm not the only one in this position.

I've already quoted this, but in this context I feel it's appropriate to reiterate:

"Instead of providing programmers with a black or white choice between static or dynamic typing, we should instead strive for softer type systems. That is, static typing where possible, dynamic typing when needed. Unfortunately there is a discontinuity between contemporary statically typed and dynamically typed languages as well as a huge technical and cultural gap between the respective language communities."

"The problems surrounding hybrid statically and dynamically typed languages are largely not understood, and both camps often use arguments that cut no ice. We argue that there is no need to polarize the differences, and instead we should focus on leveraging the strengths of each side."

Regards!

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to