PHP Succeeding Where Java Has Failed 610
ficken writes "Web browser pioneer Marc Andreessen recently announced his prediction that PHP will be more popular than Java for building web-based applications." From the article: "Wooing programmers is nothing new in the computing industry, where players constantly jockey to establish their products as an essential foundation. Indeed, many credit Microsoft's success to its highly regarded programming tools, which make it easier for developers to write software that run on Windows. PHP has caught on widely. About 22 million Web sites employ it, and useage is steadily increasing. About 450 programmers have privileges to approve changes to the software. Major companies that employ PHP include Yahoo, Lufthansa and Deutsche Telekom's T-Online." Meanwhilie, Piersky writes "Zend has announced its rival to .NET and J2EE, with the Zend PHP Framework. In a press release, they stated that it will be 'A Web application framework which will standardize the way PHP applications are built. The Zend PHP Framework will accelerate and improve the development and deployment of mission-critical PHP Web applications'. This will for part of Zend's PHP Collaboration Project"
The Success of PHP (Score:3, Informative)
Well, of course. PHP works for free.
Wondering where the '22 million web sites' comes from? http://www.php.net/usage.php [php.net].
Imposter Boy Speaks (Score:0, Informative)
Netscape always controlled the media when it came to the story about how the browser was first built. This is the only article that I've ever seen that actually went back to the place where it was created to find out the real story.
History is written by the victors.... Even if that "history" isn't true.
Re:Help me out here (Score:5, Informative)
Re:PHP can do allot (Score:5, Informative)
Re:The Success of PHP (Score:2, Informative)
Re:PHP can do allot (Score:3, Informative)
Two things:
Re:Help me out here (Score:2, Informative)
Marc Andreessen is on Zend's Board of Directors (Score:5, Informative)
Little "full disclosure" for everyone.
PS There's more to Java on webservers than J2EE. There's also multiple Open Source versions of J2EE.
Java vs PHP development (Score:5, Informative)
All that aside, we typically use PHP for all web-based applications. The ease of coding, and the ability to affect change with zero downtime is a big plus. We can have several programmers affecting changes in one codebase in real time. And, for a program which took us six months to develop in PHP, it would have taken at least fifty percent longer with Java.
screw 'em both (Score:2, Informative)
this is sad (Score:4, Informative)
Hey, i'm just as annoyed at java and
Re:Marc Andreessen is on Zend's Board of Directors (Score:2, Informative)
Sadly, PHP has hit a brick wall recently. There are backward compatibilty problems with PHP4 (not helped by the developers telling the community to stfu, noobs), PHP5 is not being picked up at any rate of knots and now people are look to PHP6 to fix all their problems. Ruby looks better by the day, to be honest.
--
Millionsofgames! [millionsofgames.com]
Re:Pardon me while I roll my eyes (Score:5, Informative)
OK, this is a troll if I ever saw one and may I be damned for feeding one but here it goes:
Go look at PEAR [php.net] and the PHP manual index [php.net] and then tell people PHP doesn't have a platform offering all those.
Re:Pardon me while I roll my eyes (Score:4, Informative)
Java is not slow in server-side, it is just slow on desktop with Swing. Get Tomcat and try benchmarking some JSPs if you don't believe me. Templates with java might be slower than JSP, but anyway, page rendering is something that impacts the performance of web application the least.
With java you EXTREMELY RARELY need to write extensions, usually you can find java libraries (most of them open source) that do the stuff you need. Or you can just use standart java class libraries, that are enough for 95% of cases. This way you can get a platform-independent solution for no additional cost. While your DLLs (.so's?) will have to be compiled for each architecture, coded to be cross-platform, installed by system administrators, etc.
If you need to interface with C++/C, there is JNI (Java native interface, It is hairy and unfriendly though). Of you can integrate via some kind of interprocess communication (pipes still work, as will TCP, with java you can write TCP client/server in 10-30 lines of code). This way you can have any language on the other side of IPC. You can use webservices/CORBA/XML RPC if you want to be fancy.
--Coder
Re:Help me out here (Score:4, Informative)
Re:Help me out here (Score:3, Informative)
Re:Pardon me while I roll my eyes (Score:3, Informative)
That's called a theory. It's much harder to build in reality, and mostly sucks anyway since you still don't get any namespace and have to decorate every damn function like there was no god.
Thing is in Java you can write your extensions in Java (the JIT compiler is running behind so perfs are good anyway), or use JNI to use C/C++ compiled modules.
Or you can do it the Nice Way and just hop on to Python or Ruby, get full OO, namespaces, and modules (including native compiled) that are actually fairly easy to build.
With batteries included
Re:I risk being tagged elitist, but... (Score:2, Informative)
Re:Pardon me while I roll my eyes (Score:1, Informative)
Why yes, yes I do. In Java I can use PDFBox to merge pages together, populate form fields, and literally tear apart and put the PDF back together. Manually. By object. With encryption.
Combined with the power of FOP (FO -> PDF) and SVG, PDFLib doesn't hold a bloody candle.
It's getting there, but it has its problems (Score:3, Informative)
PHP may have a bunch of issues, but it's still the best tool for my job.
Re:Native compiled PHP with a widget set? (Score:3, Informative)
Re:Marc Andreessen is on Zend's Board of Directors (Score:3, Informative)
Either Ruby (and RoR) or Python (and Django, Zope, the terrific TurboGears or any other framework) would probably be much more interresting and enjoyable.
Do remember, though, that none of them are Java, you have to forget the Java way and "get" the philosophy of those languages or you'll end up frustrated with very slow apps and bloated code.
Have to chime in here as a new Railer... (Score:3, Informative)
I've started my first small-scale Ruby on Rails [rubyonrails.com] project, having done work in the past in ASP,
1) RoR may be highly buzz-worthy but it is certainly NOT a panacea. It has a definite and slightly steep learning curve, especially if you are also new to Ruby and/or OOP and/or MVC (I am sort of but not completely new to all of these). You will still have to do the work of developing your application- you just won't have to do the "stupid" kind of work that much (repeating code in views, bubbling new database fields through umpteen app tiers to the surface of your app, hand-validating everything, building a mechanism to bubble errors or notifications to the surface, etc. etc.)
That said...
2) I can see that if I can get past the little syntactic things that are currently tripping me up, a lot of the RoR technology (and all the assistance its framework provides, once you get to know it... again, that takes time) helps to make web development a breeze.
3) MVC [google.com] certainly seems like a pattern to seriously consider for anything other than a small web app. Mixing code in the presentation layer is not the way to go if you want easy unit testing, separation of view from code (so your graphic designers can go in and do their thing separately), arbitrary mixing of controller code with different views, etc.
4) Ruby itself is a pretty great language to code in and highly readable. It has a few quirks (doesn't every language?) but if you are aware of them then they won't get in your way. Some of the things I like about it were apparently "borrowed" from Perl (as I never really got that into Perl). If you are not a static-typing purist, I'd say check it out on its own.
5) Installing some Ruby/Rails components that depend on each other is not at ALL as painless as it should be on OS X. For example, I'm currently having issues with RMagick and GraphicsMagick even though I followed a guide [poocs.net] I found online, to the letter. I think the darwinports, fink, and rubygems people should get together and work some shit out, as all the different default paths these packaging/deployment tools install their stuff to causes mutual interdependencies to sometimes fail. I've also seen some MySQL issues that will require good troubleshooting to resolve, for some people- some of it is based on incompatibilities with GCC 4.0, or between the password hashes of different MySQL versions, or... Basically, this is all stuff that as a Rails scripter (as opposed to a C++ programmer) you wouldn't want to focus too much time on. If you want to know what I'm talking about just google "rmagick 'os x'" or "mysql rails 'os x'" and read up. That said, if you can get a good host [textdrive.com] with good Ruby/Rails support, you might not need to worry about such things... Unless you want to develop locally on that shiny Powerbook (grrrr). You better be a good troubleshooter, as Google won't get you out of EVERY bind!
6) The people on the #rubyonrails IRC channel on freenode are generally helpful, but not at all hours of the day. It also helps if you put up small PayPal rewards to get someone to help you over those time-sensitive humps
7) Managers at big corporations (such as my employer) who have been out of direct touch with technology for a while will only tend to recommend the "usual big stuff"- in this case Java/EJB/Oracle, or
Silly argument (Score:3, Informative)
The setup I use is basically the J2EE model, except I get the best of all worlds, because I can access code written in any language seemlessly, use n-tier architecture without even thinking about it, use advanced cacheing libraries available in the higher end/heavier languages, and because the backend code is running as a daemon running a soap or xml-rpc server, I sidestep the whole perl/python interpretter startup bottleneck.
It's not about which language is "best" its about what tool gets the job done.
Re:I am completely unbiased... (Score:2, Informative)
Comment removed (Score:3, Informative)
Re:Pardon me while I roll my eyes (Score:3, Informative)
No, especially not server side. Reaches within a few % of C++ speed in well-established benchmarks:
http://www.shudo.net/jit/perf/ [shudo.net]
bulky,
No. It can run within a few 100k on mobile devices. Non-GUI java apps can run in just a few MB.
not user friendly.
A vague term, which could mean anything.
Re:I am completely unbiased... (Score:2, Informative)
I believe PHP accelerators (like the open source eAccelerator) do exactly that. But again, I am not a PHP expert.