The No.1 i-Technology Magazine in the World !
   
 
Timothy Fisher

Search Box

 

About me

Timothy Fisher
Flat Rock, MI USA
blog.timothyfisher.com

View Timothy Fisher's profile on LinkedIn



Add to Technorati Favorites

Subscribe



Subscribe with Bloglines

Mailing List

Visitor Locations

My Java Book

My Tumblr

Blog Status

  • 3 yrs 16 wks 1 days old
  • Updated: 28 Mar 2008
  • 21 entries
  • 74 comments

Hit Counter

Total: 241,890
since: 19 Jan 2005

All The Cool Open Source Apps are in PHP

posted Wednesday, 25 May 2005
It seems like most of the cool end-user web applications are written in PHP. This is an area in which the Java community is way behind the PHP community. The open source Java community seems to be consumed with the creation of the latest and greatest framework. A very high percentage of open source Java development is spent on framework development. Meanwhile, those in the PHP community are working on the latest and greatest applications that are spreading all over the net. Even open source Java projects often turn to PHP solutions when it comes to creating their website. By the way, my intent in this posting is not to start another PHP vs. Java war. I am in fact very firmly in the Java camp myself, but I do think its important that we sometimes take a look at whats going on outside our direct area of interest.

I just signed up for a free hosting account today with WebSiteAllies. This account doesn't offer Java support, but they give you PHP support. Not only do they give you PHP support, but they offer a ton of PHP applications that can be installed through a web control panel by clicking a couple buttons. This is amazing to someone who's dealt primarily with Java web applications. These PHP applications are very polished and professional looking. They include applications for blogging, wikis, forums, content management, project management, customer relationship, ecommerce, image galleries, and more.
The applications include: WordPress, Drupal, Post-Nuke, Xoops, PHP Support Tickets, Help Center Live, phpBB, OS Commerce, Coppermine Photo Gallery, PHPlist, PHPSurveyor, dotProject, phpWiki, Web Calendar, Moodle...

There have been a few efforts to port some of the cool PHP apps to Java, one that I recently blogged about is the JetNuke project. JetNuke is a Java port of the popular PHPNuke content management system. I'd love to see more open source end user applications being written in Java. One reason why PHP is the language of choice for quite a few web developers is because there are all these cool, ready-to-use applications available in PHP that can be deployed very easily.

I think that the Java open source community should spend more cycles on creating new, cool, and useful web applications, and less time on creating yet another impressive framework.  If you have any comments or thoughts on this topic, I'd love to hear them. Post a comment.

Until next time,
Tim




1. a reader left...
Wednesday, 25 May 2005 3:51 pm

and the fun thing is that the most widely used php open source projects just suck.
phpbb & phpnuke are probably the most buggyest and bad written software ever.
phpnuke actually generated a whole hierarchy of forks trying to get a better codebase. it generated postnuke, which gave life to xoops which gave life to e-xoops and so forth.

(notice: not all the php widely used software suck, just some)

me


2. a reader left...
Wednesday, 25 May 2005 4:56 pm

You couldn't be more correct! How many frameworks do we need? My paycheck comes from Java. But the fun stuff I do is written in PHP. Most domain providers offer php support at very cheap prices, which is how I got to using php in the first place. That's not true for Java sites.

m@t


3. a reader left...
Thursday, 26 May 2005 10:47 am

IMO the problem is not the many frameworks which are getting build in the Java world. The problem is within the hosting environement.
See http://centaurus.sourceforge.net/ (unfortunately in German only) which provides a Tomcat for a Hosting environment. Hopefully the prices for JSP Hosting will drop soon.

Karsten Voges


4. Timothy Fisher left...
Thursday, 26 May 2005 11:13 am

Karsten,
Thanks for the comment. First let me make it clear that I definitely recognize the value of frameworks in Java. In fact, I am a very big supporter of some of the frameworks, Spring framework being one of them. But, the open source community is spending way too many cycles on framework development. Everyone seems to want to create their own framework.

I agree with you that Java hosting is a problem, but even if the hosting environment were readily available, the fact is that Java apps comparable to what you can find in open source PHP simply do not exist.

Tim


5. Timothy Fisher left...
Thursday, 26 May 2005 11:27 am

Based on the first response to my posting, and several other that I've gotten directly via email, I'd like to add the following comments.

Instead of countering my point, and pointing out similar Java apps, many Java developers prefer to attack/criticize the PHP applications. The PHP developers are creating cool, and more importantly very useful applications for end users. Some may think they are buggy, but they are used by millions, and to some extent numbers speak for themselves. Nearly every discussion/forum application you go to is powered by PHP. So while the PHP applications may not be perfect in terms of quality, my point is that they are out there, and being used.

I agree with the tone of many comments I've gotten that the Java community is probably technically more capable than the PHP community, which is another reason for my post. I think that the Java development community could create some very cool web applications if they would stop spending some many cycles on reinventing the framework.

The responses that simply attack and flame the PHP applications and developers really do no justice at all to us as Java developers. If we take the time to look outside our own community, there is always more to learn.

Tim


6. a reader left...
Thursday, 26 May 2005 1:51 pm

Right on the money. This is perhaps the biggest reason why we need an open source Java. PHP's success has everything to do with it being open source, pre-installed and ready to go on Linux, the server OS of choice in the ISP business.

Guy Mac


7. a reader left...
Thursday, 26 May 2005 2:46 pm

The problem isn't Java frameworks, it isn't hosting, and it isn't Java not being open source. In fact, it's not so much a problem as a different focus.

Why are people building Java frameworks? It's obviously not to build the next great opensource app for the community. We're building them for WORK. We have JOBS building SOFTWARE. Not that PHP hackers are all unemployed high schoolers, but a good number of them are.

What's more, Java is an OO language that takes understanding OO, setting up an environment for development, setting up a testing environment, and setting up a deployment environment. PHP is a web scripting language. You directly edit your pages in place and just refresh to see what happens. That's great for some apps (like the ones you see coming out of the opensource PHP world), but I don't think I'd like to see an online banking app built that way...

Jason Carreira [jcarreira@gmail,com]


8. Timothy Fisher left...
Thursday, 26 May 2005 3:19 pm

Jason,

I agree with most of your statements, unfortunately your response misses the point of my post. If you'll reread the title, I am specifically addressing "Open Source" applications in my comments. This is where I claim Java is lacking. If we throw commercial/enterprise applications into the discussion such as your online banking app, well then we have a completely different discussion. Your preaching to the choir when it comes to choice of technology and development methodology and an online banking app.

I don't agree that the Java open source community is all focused on building applications for "WORK" though. In fact, I'd venture to take an educated guess that less than 10% of open source projects are ever used commercially. Sure the successful and well designed frameworks (i.e Hibernate, Spring, Struts, etc) are used for our "WORK", but there are many many more that are not. Also, while you may disparage the PHP developers, there applications are not all just hacked together high school projects. Some of the better PHP applications are used on the intranets and extranets of thousands of companies. In fact, I dont think it would be incorrect to say that open source PHP has more commercial usage, than open source Java projects. But thats not a point I want to argue on, I could be wrong there. My point is that PHP applications despite Java developers wanting to constantly attack them, are used very successfully commercially.

Tim


9. a reader left...
Friday, 27 May 2005 1:34 am

I personally think Apache Lenya is pretty cool. Your example of JetNuke is a curious choice when it is one of the weakest Java CMS around..

Gregor J. Rothfuss [gregor@apache.org]


10. Hillechien left...
Friday, 27 May 2005 5:46 am

Tim,
I do not agree that the Java community should start building JavaBB etc. That is rather useless. Why?
Let's assume, for the sake of the argument, that for all the cool PHP apps a Java equivalent exists. Would they be used? I think not.

Just because most hosting providers do not provide Java support as is argued already in other comments. I do not believe hosting providers will start providing adequate Java support anytime soon, just because it will be too difficult to manage and because for the type of applications they are hosting, PHP is much more productive.

In itself think it is a very good thing that finally the art of framework building is maturing (I have been working for many years with the now forgotten, largest and greatest Java framework ever, IBM SanFrancisco). Better Java apps for the domains Java is good at are being built and are built faster today then was possible 5 years ago as a result.

I think that the PHP community will start spending lots of time on building frameworks too, with PHP5 and its OO features this is finally possible. This is the only way to get a more mature community and better software.

I am a Java deserter and PHP convert, which has lots to do with the fact that I am not doing this for a living anymore. Let's all go happy frameworking!


11. a reader left...
Friday, 27 May 2005 8:27 am

I always say the right tool for the job. I would choose PHP for small "hit and run" type apps and .NET/Mono for enterprise-class apps and leave the J2EE mess behind.

Robert Stone


12. a reader left...
Friday, 27 May 2005 8:44 am

Despite my love for Java, recent exposure to PHP has caused me to rethink its value. The success of PHP is a testament to the importance of pragmatism versus the purist approach of the Java community. Somewhere along the line, Java was hijacked by software engineering fundamentalists preaching mandatory use of certain frameworks and design patterns. The "Java way" now precludes the creation of a simple app. The "Java way" says that even simple apps must use a framework that is more complex than the application itself.

The PHP community, on the other hand, is willing to break a few software engineering "rules" to produce code that gets the job done. Consequently, there are many open source PHP apps that do not have the most beautiful source code, but are very stable and still manage to outperform similar Java apps.

Then there's the issue of the bulky nature of Java. I used to wonder why more webhosting companies did not offer Java hosting, until I setup Tomcat on my dedicated server. I love the Java language, but it's runtime is a memory-eating monster which will prevent it from ever being used by a large percentage of webhosting companies.

Didn't mean to come accross anti-Java. It's actually my favorite language to use, but I felt it was necessary for people here to open there minds to the possibility that there are alternatives.

Justin


13. a reader left...
Friday, 27 May 2005 9:27 am

It seems like one of the fundamental problems is Tomcat. PHP is easier because you can just put a foo.php page on your site and you're off and running. With tomcat, you need to install it, create a war/ear/jar/blah blah blah, manage a web.xml file, manage a directory structurre, and then configure Apache to pass requests off to it. In short, it's a pain.

I can't see any reason why there's no jsp_mod like php_mod. If there was, then they would really be on a level playing ground - PHP is not an easier language to use than Java, it's just easier to deploy. Make it so that the .jsp pages are either interpreted with something like Beanshell, or compiled on the fly and recompiled if the page changes.

Jesse Barnum


14. a reader left...
Friday, 27 May 2005 9:53 am

Every once in awhile it does good to poke ones head up and see what is going on. This may be one of those moments. We (the java community) need to see what is going on. We are responsible, to a large degree, for the wide acceptance of open source. If the child starts doing something new we should pay attention. If we are the professionals that we like to claim we are then we should be able to look at what is being said and distil the root of the request. What I hear is:

Java is to expensive for ISP’s to provide
- Needs to much memory
- Needs to much expertise

Java is to complex for simple web apps.
The Java community mind set has become to engineering centric.

Instead of whining about PHP this, PHP that, and Java is this or that. We need to be asking the exact question that was asked. Do we need to address the simple web app in the open source community or do we leave it to PHP? Personally I am going to put my head back in the sand and let PHP have it. I am to busy getting paid to run an enterprise on java. Two years from now if it is PHP poking me in the rear I’ll implement it. Gone from C to C++ to VB to Java adding PHP will be no big deal.

Mark [mfinkenhagen@swmail.sw.org]


15. a reader left...
Friday, 27 May 2005 10:46 am

It is high time now for java community to open source. they just need to learn from php. java should come with popular webservers like linux to reduce hosting costs. they need also to create more ready to use packages instead of frameworks

juma


16. a reader left...
Friday, 27 May 2005 10:58 am

PHP is purposefully easy so that is accessible to the masses of non-programmers ramping up from html.

This is fine for some apps. However having written many apps in PHP myself I can tell you the kind of hell those apps become once you cross the invisible line into medium size/medium complexity apps.

Some problems with PHP are:

1. Lack of standards (every app lives in its own quirky world of conventions) which makes maintenance a really horrible ordeal involving second guessing, reverse engeneering and yanking angrily at your own hair (even when its your own app).

2. It's web-page based. You will find yourself jumping through some horrible hoops if you want to open a socket and leave it open, you can't have a DB connection pool, etc.

3. No frameworks. Most of the time you find yourself writing and re-writing those tham DB connection functions and looping through a result set to display it on a table. There is no way around this, you have to home bake everything. Arguably, the functions provided by php themselves are libraries, but that is not the same as a framework that provides pattern-based solutions to general engeneering problems, as opossed to point specific functionality.

4- Lack of proficiency and professionality in the community. Most php developer do not know what any of these terms mean: unit testing, acceptance testing, modularity, version control, configuration control, code reuse, patterns, antipatterns, software development lifecycle, etc.

5- Code is freely interspersed with html and viceversa. This is not a problem when you have a little code. But often times the code is not grouped but broken into arbitrary chunks that lay around separated by a couple of unclosed html tags.

There are more, but these should be sufficient to make my point.

This is my rule of thumb:

PHP: To write some quick app with a 10 or less pages and a couple types of SQL queries, pick PHP.

J2EE: If your app will do anything unorthodox or will eventually become medium or large, use J2EE.


As to the apps written in PHP, they are proof that you can build a building out of mud bricks, but that doesn't make it the best-practice solution.

Phantic Volger


17. a reader left...
Friday, 27 May 2005 10:59 am

This article and the interesting discussion is really worthwhile. Here's what I'll add:

I don't think the Java community actually believes in code reuse. Working as a database designer on a Java project, I see a lot of barriers to code reuse.

A key benefit of PHP is that it carries a lot of really useful libraries, many of which were contributed.

It seems to me that PHP libraries start off doing what you want, whereas Java libraries don't, so whenever you start using them you actually have to implement a framework to get the runtime behaviors you want.

That said I think most of the grand frameworks are almost completely unjustified. And everyone in the Java community seems to have a megalomaniacal vision that his or her framework is going to be the grand and glorious end-all be-all package that saves the programming world. Then they engineer them so much that they are unusable.

Regarding ISPs hosting Java -- people's comments are indisputable. I've got a great ISP, but every time they look at Java, they see an order of magnitude more configuration work, and an order of magnitude more memory footprint. I've been asking for almost three years, and I can't blame them for saying "no."

AD Wolfe


18. a reader left...
Friday, 27 May 2005 11:09 am

Timothy,

As to your comment regarding the general availability of all sorts and manners of open source php apps. Here is the reason for that:

The J2EE mindset is an enterprise development mindset. Most applications are built inside corporations to solve a specific problem with specific requirements and the application is generally not owned by the developers. Frameworks are built in open source fashion because they are the scaffolding of these massive enterprise apps and enterprise developers find them incredibly useful.

The PHP mindset is that of the lone web developer. Most PHP apps start off with a guy that has a website trying to build something he needs but that probably every other guy with a website would like to have too (BB, guestbook, tickets, CMS, wiki, photo gallery).

Regarding duplication of work: If you check the PHP Resource Index (http://php.resourceindex.com/Complete_Scripts/) you will see that there are normally over 50 applications of each kind. Certainly you cannot compare that to the java framework 3 or 4 frameworks per type. I think you might just be a bit biases from your own Java-centric environment.

Phantic Volger


19. a reader left...
Friday, 27 May 2005 11:50 am

Is there not a place for both? I don't think that anyone in the Java community should get worked up (not that you are) over PHP. Java and PHP have built completely different repitiors (sp). Java is great for enterprise applications and PHP is great for open source. The fact is that PHP is easier to code in. Its a simple scripting language and anyone can pick it up and start creating easily. Java is a little more difficult, I think that this is why alot of providers have gone to the LAMP stack. Its easy. This also creates a base of people who are coding as a hobby. I know thats how I got started on PHP. But I think there is a place for both. I'm hoping that at the university where I work we will support both. I'm pushing for our JAVA based CMS to stage pages onto a PHP enabled production server. We will have the enterprise strength java CMS and the ability to easily write in-line scripts for truely dynamic content on the production web server. I think its too late for Java to become PHP and vice versa. They have their places and there is no reason they cannot co-exist.

Dave


20. a reader left...
Friday, 27 May 2005 12:59 pm

Dave,

> They have their places and there is no reason they cannot co-exist.

My point exactly:
"Pair J2EE with PHP to implement a common Web application infrastructure"
http://ibm.com/developerworks/websphere/ techjournal/0505_krook/0505_krook.html

Daniel Krook


21. a reader left...
Friday, 27 May 2005 1:04 pm

Great discussion, with many great points. I currently make my living in Java but here is what I see:

Java is good for enterprise class solutions but not for simple, quick applications or even rapid prototyping. I had hoped Groovy would be simplified scripting language that would empower Java with the best of Python, Ruby, Smalltalk but it seems to have stagnated.

Java is developed by software engineers for software engineers and corporate enterprise solutions. The reality is that not every problem requires rocket science for a solution, just like every meal does't have to be at a four+ star restaurant, somtimes fast food is all you need.

The tendency toward framework development, I think, is due to the generalization that developers find this type of work more interesting than developing applications. Linux has this tendency, where most developers focus on the internals rather than ease of use and desktop. Mac OS X is an example of the best of both, a great UI with a real OS under the covers. Why can't Linux do this? Until they do, I'll stick with my Mac for my client machine and FreeBSD for my servers (linux has a long way to go to get me off of serverside BSD)

What is needed for Java is the simple, fast, fun capabilities along with the enterprise strength capabilities. Oh, and more basically redundant open source infrastructure frameworks ;) to waste our time on as .Net rides to enterprise dominance. Opinion: If you think J2EE is too difficult with the current crop of tools, your probably in the wrong profession, please go into marketing :)

rantster


22. a reader left...
Friday, 27 May 2005 1:23 pm

Hi,
I am a PHP programmer and have been trying all sorts of php frameworks, i have not yet found an ideal framework to work with. I had started learning java in my school days, but got carried away by php's simplicity. I feel its the time i switched to java.

Is there any java framework that offers features like AJAX?

Shuja Shabandri


23. a reader left...
Friday, 27 May 2005 2:28 pm

The 2 biggest reasons, as mentioned before, why PHP rules in popularity for open source projects are pretty basic:

1) Hosting costs - Hosting is highly competitive and your typical user shoots for lowest prices (I can't blame them). For a decent PHP host this can be around $5, for Java host expect at least $25 (yes you can get cheaper but the hosting is typically no good). I run over 20 sites and the $20 a month extra each would need for Java adds up. Java is simply a memory and resource hog and harder to configure for multiple users so it's an easy choice for hosts to use PHP.

2) Pretty much anyone can hack out a PHP based site or pages (not saying that good sites are not made). No compilation, no deployment, no configuration, dynamically typed variables, typically no framework all make it a much simpler programming environment (although would not say better).

The barrier to entry is very low, and people will typically stick with what they learn with. Many of these projects have also started out as quick hacks and expanded from there.

As an alternative to both Java and PHP I would recommend people try out Ruby On Rails. I don't want to be part of the hype machine behind it, but it's actually a really effective framework that falls somewhere in between these two.

It maintains the cleanliness of a good framework that PHP doesn't have (I would say it's even cleaner than Java), but it also has the simplicity and ease of use that PHP offers. I know I already save a ton of time avoiding recompilation with small changes and also no config files. The ability to iteratively develop, in a 'clean' way is unbeaten from anything else I've used.

I use Java for contract software development, I am forced to use PHP to make modifications to open source projects running on my websites, but I am trying Rails on personal projects and it's slowly winning me over.

Riley


24. a reader left...
Friday, 27 May 2005 10:07 pm

That's because Java is overly complicated, runs slow and is extremely buggy. PHP is lightweight, runs extremely fast and the only bugs are the ones you code yourself

MattBoston [matt@shieldsproductions.com]


25. a reader left...
Friday, 27 May 2005 10:07 pm

One of the biggest mistakes people make when having this "my dad can beat up your dad" debate between PHP and Java is that they mix hobby/project websites with proper software engineered websites (web applications). To use a previous poster's analogy, although fast food is great, you may have to feed more than just yourself so you should make it worthwhile.

PHP is missing the element of sound software engineering. I'm not talking about grandiose engineering schemes, but sound project management methodologies. In fact, it is missing all of them:
- ease of software configuration
- deployment (ala Java's Ant)
- automated documentation
- ACID-style unit testing

So what should a PHP developer do? Mix the two. Use the best of Java's world and the best of PHP's world. I use Ant to configure and deploy the PHP application to a remote server. This works with my website and all web apps I've created. As someone else put it, use the best tool for the job.

Scott

Scott


26. a reader left...
Saturday, 28 May 2005 3:41 pm

Those asking about Ajax and Java, yes, there is a set of ajax functions for Java over at Sajax:

http://www.modernmethod.com/sajax/forum/viewtopic.php?t=48

Justin Shreve [justin.shreve@gmail.com]


27. a reader left...
Sunday, 29 May 2005 12:26 pm

What's funny is watching everyone compare apples and oranges. It's not a competition of which language is 'better', it's which suits it's intended purpose. As far as web applications go, PHP is designed solely for the web whereas Java is not. Java reminds me of how Perl is used for the web, clunky and slow. Hell same goes for dotnet. Is Java a more 'powerful' language then PHP, since it is true OO I would say so. But power isn't the issue...

Taintless


28. a reader left...
Sunday, 29 May 2005 4:23 pm

There's another consideration that seems to be overlooked a little here, and that is who is driving much of the development and use of these Java and PHP tools. Part of the original emphasis in this conversation was "All The Cool Open Source Apps are in PHP".

My company does most of our development for small and midsized businesses (up to $10M a year in revenue). Most of them are not tech companies, and they generally have pretty lean IT budgets. So, even though we are STRONG advocates of using best practices in developing and deploying web apps for our clients, quite often our clients have restricted budgets. This mandates that we develop applications with a 'proof-of-concept' mentality to which PHP lends itself MUCH MORE EASILY. It has a lower cost of entry, and quite honestly, there is lower risk if the client decides to toss out their original concept after they have invested in it from a proto-type basis. Having 'cool' widgets and functional tools (i.e. Mambo, etc.) gets the job done for many of these situations, so that the client can evaluate whether or not they will get the ROI and other benefits that they are anticipating.

Of course, once the client sees that the project is viable for long-term benefits, we definitely stress the upside and long-term benefits of effective best-practices development (including using an enterprise-class JAVA environment). Yes, in the long run, this two-tiered approach can seem to be a little more costly. However, for most of these companies, minimizing their potential risks more than offsets the incremental costs of this approach.

Has anyone else found this to be the case in with their client base?

PS - I think that we will begin to see more exciting open source Java apps as more companies begin to adopt SOA (service-oriented architecture) because effective SOA lends itself to developing useful functions that outstrip the complexity that PHP can easily support. Thoughts?

Mark Coren


29. a reader left...
Wednesday, 1 June 2005 1:43 pm

The reasons why PHP appears so popular is simple - 1) supported everywhere for cheap; 2) small learning curve like Python; 3) generates cash just the same for small/medium e-commerce as ASP/JSP do for big, serious sites.

I want to reinterate the point a couple commentors have already made about the birth differences between Java and PHP -- the first aspired to beat MS in Everything and the latter borned with a modest but focused purpose of Just Building Dynamic Websites Quickly -- and how comparing them in a sort of competition is like comparing apples and oranges, and not citing the right tool for the chosen job.

Secondly I want to add that bashing another faith only expose your own prejudices and weaknesses. If we Java believers think that we are 'better' and 'always will be better', then we'll never learn anything and regress. The only topic worth spending time mulling on is not "Why cool apps are built in PHP", but "What can we learn (steal) from dudNET and PHP to make Java cheaper, easier, and fasster to implement (no need to say 'more-secure'), with all-round better User Interfaces. Microsoft gets better by LOOKING UP at Java as the thing to beat. PHP developers don't worry about Java and just keep the focus on practicality. Don't overlook the Adobe-Macromedia merger to jointly create a new Anywhere UI standard (Flash PDF?) and compete. Flash has already beaten the applet. Funny why this isn't the more worthy blog topic. Soon it might even make the common web browser (which JSP needs to run on) obsolete. And don't bet against some genius come in and make PHP truly OO and even faster to build and more secure. The field is wide open, and Java is being scaled on all sides (framework, usability, UI,...). I understand why Tim made the topic so controversial. This is no time for Java devotees to gloat or divide among ourselves. Let's play and make some FUN stuff in Java!

Dean


30. Phantic Volge Critic left...
Sunday, 12 June 2005 4:43 pm :: http://www.mojavi.org

This in response to some of the comments about PHP lacking professionalism. At work (fortune 500 company) we use PHP for building our enterprise management applications in a decently sized (10-20) person development sub-group on a large (100+ developers) project managed in multiple US locations and India.

- PHP frameworks are sprouting up and they are quite good. If you like Struts, then you'll love Mojavi - http://www.mojavi.org . If you love JSF (or ASP), then you'll love Prado: http://www.xisc.com/

- PHP does have good unit testing, there are PHPUnit and a second generation of it. Also SimpleTest (simpletest.sourceforge.net) has great capabilities in it as well.

- PHP is not just about the web. Compiling it for the command line or CGI results in programs that you can write that can run like anything else. If you really don't feel comfortable with that, then its very easy to write C/C++ extensions and integrate your C++ code with PHP for faster development times. We have done this several times already.

- In terms of the DB connection pool comment, those are already built in as part of PHP's integration with the database libraries it uses.

- You say there's no JavaDoc for PHP? Sure there is: PHPDoc http://www.phpdoc.org

- For SOA stuff, PHP5 has a built in (C based) extension for SOAP, and then there's the PHP4/5 PEAR::SOAP written in PHP that uses the cURL library.

I support the use of PHP, Java, and C++ in our organization if it makes sense. When you have a web service that has multiple connection pools of resources, then that's clearly a Java application. If you have a web interface that talks to a few things, that's PHP (sure it could be done in Java, but the development time is cut in half or more with PHP).

I would also take a look at the latest stuff coming from Zend, who is solving a lot of the former troublesome areas of using PHP in the enterprise. PHP is usable in the enterprise just like anything else. It's configuration is very basic, and you'll need your own structure setup in your development environment (as opposed to having it enforced on you like in Java). But that is easy in PHP, and you can get a development environment setup easy and maintain it in large groups just like anything else.

Our organization is very pragmmatic about coming up with good solutions that can be implemented as fast as possible. There are other organizations that force conformity no matter what, and sometimes they lag behind in their release schedule because of it. We all know that a well organized and managed Java project can succeed, and poor ones will fail. It's important for people to realize that other technologies can succeed too and it's all about the right tool, for the right job, to meet your requirements with a straight forward design and implementation.


31. Visitor left...
Sunday, 12 June 2005 4:56 pm

To follow up, a PHP can scale almost indefinitly since its scalability is pushed down to the data layer - resulting in infinite horizontal scaling.

PHP apps can serve millions of pages, or perform complex transactions across many databases, web services, or just about anything else. A lot of this is very straight forward in PHP, and software engineers will realize this as they start to get experience in PHP.

Some of the PHP performance suites (which cache compiled byte code, and sometimes even optimize it over time a la Java), also provide shared memory solutions - giving you similar functionality to a servlet.

PHP is not some clewless language used by house wives, it's a programming language that's easy to setup. So, someone getting their feet wet in programming for the first time, may find the easy setup appealing to write their first piece of code. First time programmers who start on Java find themselves blindly copying everything before and after the main() and having a lot of hand-holding along the way to get their environment setup.

Seasoned software engineers look at PHP and see something that is designed for the web specifically, making it very easy to build something. Inside Apache, you have access to everything Apache has, very easily. The PHP group has gone to great lengths to target this area and make PHP stand out as a great tool for solving the web problem.

This is not to say Java does not solve it, but it's a much different mindset. Replacing your web server with a container, or connecting it to the container, and then you have a bunch of verbose APIs to sift through to find the data you want. It can be done, and frameworks have been built to make this easier and as pain free as possible.

Tomcat alone usually takes up around 50 meg running by itself. How is a hosting company suposed to provide this to their customers? A tomcat for each person? People share a tomcat? The hosting environment becomes even tougher to solve, which is why you'll usually only see Java websites where the organization could afford their own dedicated server (or server farm) and has the staff/time to setup/maintain that configuration.