PHP Succeeding Where Java Has Failed
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"
As a PHP coder and Java hater, I am completely in agreement with whatever the hell this article says. :D
BytesTemplar.com
If you are a web "programmer", it's definitely nice to have well-built tools that let you think even less about what you are doing and come up with something useful.
I suppose that's true in most jobs, though.
Jesus saved me from my past. He can save you as well.
... until companies who need mission critical systems have someone they can phone when something goes wrong, and some form of developer accreditation. Don't kid yourself. J2EE isn't picked because of the language, it's because it's got Sun and IBM (through Websphere) behind it.
Coke succeeding where peanuts fail.
What? The two do different things.
I'm neither a java or php programmer, but I do work with both. While java is nice and portable, I'm very impressed with how far PHP (Personal Home Page) has gone. There are acclerator projects out there that cache php scripts, making them much more responsive. I use eAceelerator (formerly MmTURKE Cache or something like that) and it's obvious that php performance can be improved. For many a simple LAMP setup is very powerful, I've been using it for a website, as well as webmail, for over 4 years now.
fak3r.com
I thought PHP was already more popular. Granted PHP-Nuke, etc aren't exactly banking apps.
Doesn't PHP tend to be embedded in the page? I thought it was a more direct comparison to JSP than to Java. And like JSP I expected it violated the seperation of logic and presentation that I love so dearly. I've been avoiding PHP for the same reason I don't do JSP pages, I don't like code in the presentation layer.
I am prepared to have my mind blown here, can someone enlighten me?
Java "failed" on the desktop. I didn't know PHP desktop apps were taking over.
So I decided that I'd focus on Java for my depth. Now I read that I guessed wrong again!
Maybe I should have gone C#/.ASP.
No, Python and Zope are where it's at!
No way, Ruby is the way to go. Arrrgh!
About 22 million Web sites employ it
Well, of course. PHP works for free.
Wondering where the '22 million web sites' comes from? http://www.php.net/usage.php.
This slashdot-related signature is a stub. You can help kihjin by expanding it.
"Java is much more programmer-friendly than C or C++, or was for a few years there until they made just as complicated. It's become arguably even harder to learn than C++," Andreessen said. And the mantle of simplicity is being passed on: "PHP is such is an easier environment to develop in than Java."
This is just silly. PHP is far from "simpler" than Java. PHP *is* better suited to basic page generation tasks. Its syntax is easy to learn, and it's quick to get a page running. However, any sort of complexity thrown at the system starts making PHP look difficult and Java look easy. For example, I often write web applications that require that user sessions communicate with each other. Now this is stupidly simple in Java thanks to the use of Singletons or named derivitives. One can easily build a chat room, for example, whereas PHP begins to get a bit more tricky. Now throw really complex needs like PDF generation, Dynamic Excel Spreadsheets, XML/SOAP/XML-RPC/EDI communication, mainframe interfaces, off-brand databases, performance caches, and other large scale features, and suddenly Java doesn't look so hard anymore. PHP, OTOH, begins screaming for mercy.
One would think that Andreessen would understand how to use the right tool for the right job, but apparently not. He should be kept away from the press. He always manages to sound 50 IQ points dumber than he actually is. (A common problem when dealing with the press.)
In asp and asp net there are extensive facilities to cache in to memory.
I don't know much Php but as far as I can tell there is no way to do this natively. This is one of the reasons I don't use php. You see site like groklaw get overloaded when Slashdot hits them because they pull the freaking article out of the database every time it's requested.
If somebody could show me some in process caching that'd take me a long way to ditching php. I don't mean caching to disk either. Caching to disk is much slower than memory.
Ideas?
AC.
No, I agree. PHP is just a scripting language. Would you use C/C++ on a website? I wouldn't
I've done programming in PHP and in Java.
PHP is straightforward and easy, and most distributions have their own packages for it. Whereas with Java, the initial set up is overwhelming for beginners.
I learnt PHP years ago by myself, and it wasn't really that hard. Yet a few months ago when I was finally required to learn Java, the complexity of the Java frameworks (Hibernate, Spring, etc) tortured me for days before I actually knew what was going on. And it doesn't help when all the frameworks gives such a "bulky" feeling.
The learning curve of Java is definitely much higher than PHP.
Of course, I do agree that Java is much better suited for large scale web programming than PHP. It's much easier to do things cleanly in Java, and although PHP's loose typing is great for a simple 1 page script, I'd rather have the strict typing of Java when it comes to large scale projects.
Everything you need to know is in this article
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.
then it'll be something else.
AJAX is not a language, it is a collection of languages and technologies that allow for desktop application like qualities on your browser. PHP often is the back end of an AJAX application.
East Coast Brewers
To save everyone the time and trouble, let's cover it here:
* PHP sucks.
* PHP is for n00bs.
* PHP is usually poorly written.
* PHP is a scripting language and you can't do anything but write web pages with it.
* PHP sucks because the function names are inconsistent.
* PHP is slow.
* PHP isn't capable of working in a real enterprise.
* Real coders use Perl.
* PHP doesn't scale.
Does that about cover it?
Little "full disclosure" for everyone.
PS There's more to Java on webservers than J2EE. There's also multiple Open Source versions of J2EE.
Is it just me, or is anyone else having "framework" and "standards" overload?
Seems like every post mentions some form of standards or framework, and everyone wants to standardize everything within a framework. Or perhaps make a framework which will help standardize everything. I can't stop saying standards framework.......standards framework..... I miss the old days when "ware" was the hot term.. webware..awareware..opencourseware..cookware..
On topic.. Php is just so much more fun then Java... (except when you're first loading it into Apache for Win and Apache just tells you "failed").. And I visit phpclasses.org almost daily, just because there is lots of cool stuff there to try and play with. Kind of like javaboutique, but not as stale..
I do think it is an exaggeration to say Java is failing.. Although C#/.NET seems to peck away at the domination every quarter.. Way off topic: Does anyone have a website which lists the "top skills" as listed in job postings online? I used to visit such a site for jobs in the UK but can't find it anymore, and doing a search on google for "top skills job postings C# Java" is a fruitless endeavour.
~jennifer.k~
...Ruby on Rails comments start coming out?
Happens during every PHP story...
BlackNova Traders
PHP just isn't on the same standard in my eyes as Java or C#. Doesn't PHP have something like 3,000 built-in functions? That is not a sign of a well designed language.
J2EE has a very well-respected place in larger organizations. The support is fantastic, the tools are fantastic, and the language is actually very nice, once you truly get to know it.
I used to think that Java was slow and useless, but when I actually started writing a lot of it, I found that its really not as bad as everyone told me it would be. Java is becoming the new COBOL as far as business acceptance goes, its everywhere that it needs to be, from what I've seen.
PHP is good for its own uses as well. I started programming in PHP, and I've written dozens of website backends in PHP, but the Java families (and other OO languages like C++ or C#) are just more elegant for the larger projects, web-based and otherwise.
I wish PHP and PHP programmers the best. Go, spread to anyone you can, but stay away from me. I've found a new girlfriend, and her name is Object Orientation.
Call me OT if you want, but everytime PHP is discussed, I have to say that it a wonderful language. That's it. Anyone who uses the gui web development tools are missing out on the beauty (and horror) that can be created in PHP. It should be considered a major language milestone for development IMHO.
There are no loopholes. It's either legal or it's not.
Seems like Ruby on Rails is competing for web apps too - lots of comparisons are floating around out there. Some large sites are converting over, too, like Derek Siver's "CD Baby" - he blogged on the conversion here.
I've certainly found Rails to be a good fit with interfacing with a Jabber PostgreSQL backend. Good times!
The Army reading list
I work with PHP and Java (and JSP and XML and enough other acroynms to choke a hippo). Andressen's comments seem so clearly aimed at server-side Java. PHP doesn't do client side, though there are projects underway like GTK and WinBinder. But still... Java was supposed to kill C, and it didn't. PHP won't kill Java either.
$nice = $webHosting + $domainNames + $sslCerts
No, you are not so OT, since the use of AJAX on the client side, with a backend made of a bunch of robust J2EE web services is actually driving the new "web architecture" paradigm.
This, of course, applies since PHP (and also many other "scripting languages") is actually not "three" or "n-tier-oriented".
Apple iProduct. Non importa cosa sia, lo comprerete!
Between the PHP Eclipse plugin which is a nice IDE (but not a full framework), and Ruby on Rails (which is no IDE, but a very nice framework), isn't Zend just beginning to realize that it could have pushed PHP way further by starting such an initiative sooner? (we have been craving for a framework, and a decent IDE for years).
Andreessen sounds bitter about Java and Sun in general. Maybe he attributes Netscape's ultimate "failure" with their misplaced focus on creating a browser written in Java. Netscape placed a lot of faith and resources in Java and perhaps he feels betrayed or disillusioned. Anyway, I agree that PHP is better (or at least easier to use) than Java for some things. But it is not a replacement for Java.
Yes, both PHP and Java are free - i'm not talking about the monetary cost of either platform.
I'm talking about the network effects of PHP being available on every shared host in the world.
Try to find a cheap, reliable tomcat hosting service. Then throw a dart at a google search for "web hosting." You'll find that outside of enterprise, PHP is the lingua franca.
So if you're a poor student or struggling entrepreneur looking to make an experiment or prototype, you will naturally gravitate toward PHP (same argument works for mySQL/postgre v the world). And guess who will populate the next gen of enterprise?
I primarily work in ASP.NET, and have done some work with JSP. Those are nice environments (well... ASP.NET is, anyway) -- but for many, many things, they're overkill. A robust OO model is nice for making programmers feel comfortable, but until recently the web has been an inherently procedural undertaking. ASP.NET and AJAX are putting an end to this, but the underlying technology remains stateless.
PHP is procedurally oriented, works well, and -- most important -- is free. I can't convince my boss to touch it, of course, but if some names get behind it, it might become a much easier sell.
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.
Click here or here.
We actually have PHP hosted on Tomcat, we did some internal work to make the buggy PHP-Servlet work correctly so we could use PHPBB and some other PHP components. We've integrated Coldfusion 6.1 in the mix and have a load of ASPs sitting behind Tomcat through a proxy servlet. Personally, I like java much better, it's a more general programming language than PHP. I've seen PHP under the hood and I'm not impressed with the underlying code. The 6.0 version of the JDK will support PHP and other scripting languages more smoothly. If you're interested take a look at JSR-223. There's a preview technology demonstration available. On many levels, I really don't care what templating language our web developer wish to code in, I do care how easy it is to write and deploy server components.
The Zend announcement of a technology to rival .NET and java might change the picture though.
I'll come straight out and admit that I'm a Java programmer, but I've used PHP and I will admit it is simple to use.
;) ). The problem is that Java is so much more than just JSP on the server side, it has an entire framework of technologies (some part of J2EE, some not) that make it a complete package. If they want to compare Java and PHP, it should bring in not only ease of development, but scalability, interoperability and security. I would have also liked to see the number of commerical websites running PHP vs the number of commercial websites running Java. For instance my home page has TorrentFlux on it, which is php based. So I guess I fall into that 22 million, although that's not really by design.
I find the comparison that the article makes between them is very one dimensional, it's saying that PHP is better than JSP, which I suppose is debatable (I prefer JSP
I won't try and say Java is better (because of my limited PHP experience) but if an author wants to convince me that PHP is better than Java, it's going to have to talk about more than simplicity and hype.
Oh, a lesson in history from Mr. I'm my own grandpa.
Let's see In Java: import some.crap; import some.more.crap; import yet.some.crap; class SomeMailClass { create object 1 create object 2 create object 3 call object 1.somefunction(); call object 2.somefunction.bloated(); call object 3.somefunction.Ihave.lost.interest.already(); blah, blah, blah } now, let's do this in PHP. mail('me@mydomain','Subject',$message,$headers); In Java: For the above code, I'll bill out an hour to my client just for writing and compiling the class. Oh wait, there was a compile problem, let's debug...recompile, wait, wait, wait... ok, let's get started on the next part In PHP: I sent an email, ok, let's get started on the next part. I'll bill an hour to my client have something to show for it.
Goal in Life: Learn as much as I can...
PHP might well succeed where java has failed, but it will be because:
...which are also things that Ruby has going for it. Or Python. The point isn't that PHP succeeded, the point is that java failed (at becoming kingathehill) and why it failed.
- it's used on its merits, not because of hype, or a New Gospel of Platform Independence
- it's simpler and faster
- it's not being touted by a huge company such that it shows up on MS's radar as a challenge
Comment removed based on user account deletion
A good alternative to using smarty: http://phpsavant.com/
Windows is more popular than Linux. Dunno if that's a compliment, really.
I always thought Sun had a bit of a death wish when it came to Java. It has amazing publicity when the web was booming, and they managed to screw it up bigtime.
For instance, in order to install Java so that you could use a java app on the web you had to go to their web site and hunt around to find the download, even then you had to choose between whether you wanted to download the Java SQW1.2 or ZXY4.2 - it was as if they didn't really want normal people to be able to use it. Java was an amazing opportunity for Sun which they completely screwed up.
And, with the class structure of PHP, I've had great success running AJAX with a PHP object receiving the data and manipulating it.
I've written web apps in Java, PHP, and now Python (check out Turbogears). Debugging PHP was such a pain, especially the PHP Extension and Application Repository (PEAR). Most of the bugs I would be trying to fix were not bugs on my part but bugs in the PHP libraries. Not to mention the error that was thrown 99% of the time was completely inaccurate. Just my experiences...
There should be an option to moderate a whole article as flamebait!
It has already started.
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
Although I think that PHP has made large strides in the web market, I'm hoping to see the day when there'll be kde and gtk bindings, as well as native compiled code.
Sorry but I beg to differ on that one. Other than get its OS installed on every new PC, Microsoft does nothing to incent programmers to write for Windows.
That ended when they stopped including QBasic and started selling VB for $100-$700.
Check out the link in my .sig, it's a web-based game based on an old MUD, done up in php.
You see? You see? Your stupid minds! Stupid! Stupid!
I'll stick with embedded perl, thanks. It does what I need, and I am already familiar with it. All the benefits of perl and mod_perl, with the simplicity of embedding into a page. I'm sure PHP is nice, but why bother learning it?
No, there is no reason to put logic into presentation layer, and i've been coding web apps with java for years. You can ALWAYS represent the data in some kind of data structure that just needs to be displayed.
Oh, and I use Apache Velocity (jakarta.apache.org), which is a templating engine, that more or less forbids putting logic into templates.
So not all of us java programmers are stupid or liars. Ancient frameworks and JSP and ancient applications made with them sometimes had logic in presentation layer, but most of the modern stuff doesn't. Check out MVC1 and compare it with MVC2 application design- you'll see the difference.
--Coder
Why not? It's kept one guy from getting fired. No one wants to touch all those C CGI scripts, especially because they're mission critical...
Agreed. Although I am not "guruistic" (I make up my own words when it suits me lol) when it comes to building pages, I have built very basic sites. Amazing the crapola that MS FrontPage dumps in there - the difference is amazing! Is this an attempt by them to try to make the pages most compatible with IE? Sure seems like it...
Irony? Yea, it's like goldy and bronzy, only it's made of iron!
Don't forget that.
PHP rocks. Pure and Simple.
[...]
Opinions are like assholes: everyone's got one, and they all smell.
Peee-eeew.
i ate crayons when i was a kid and now i have two braincells and the blue ones taste nicer
PHP is succeeding where C++, Basic, and Fortran failed too...... webpages.
Bah, i did that in assembler while on top of Himalaya.
The alternative to extremely bloated and redundant java and .net web technologies is an extremely basic (old)ASP-alike with all functions and variables sharing the same namespace and global variables running wild. Granted, it's easy. Just as easy as notepad and just as featureless and error-prone...
.net as everybody else, but i'd point to Python, Ruby, Perl or Tcl technologies rather than this sub-Perl refugee...
Hey, i'm just as annoyed at java and
I don't feel like it...
PHP is and will be continue to be popular with the masses simply because, like HTML, the entry barrier is very low. It will fail to make deep inroads at the high end for the same reason: The entry barrier is very low.
Sounds like a contradiction? Not really. The entry barrier for PHP is so low that we are seeing zillions of poorly written, insecure and unscalable PHP apps written by amateur programmers. Resulting in numerous security scares about PHP and contributing more than slightly to the infamous Slashdot Effect where a site that gets a sudden traffic surge craters as it runs out not of datapipe but simple CPU power. This scares the hell out of anyone who considers using PHP in the enterprise.
Don't get me wrong: It is possible to write good, secure, scalable code in PHP. It just isn't very common.
I teach PHP in college since 2001 and I use Java/JSP at work and at home since 2003.
PHP is good for an admin to set up some forum, photo gallery, database administration front end, a CMS, whatever tool you can download form sourceforge and install in a few hours to give users/customers a service.
When you need to develop a solution with specific needs and there's no tool to download and use right off the shelf, PHP gives you lots of headaches.
The API changes a lot, very fast. This is not good. From PHP 3.0 to 4.0 things break and new stuff gets added so fast some sites have to keep using PHP 3 in order to avoid spending many hours recoding old code. Now PHP 5 is a new language altogether.
Lots of changes are for good since PHP was really bad in some areas in early version so the rewrote everything form scratch, that forces developers to relearn and recode.
The lack of abstraction in the PHP API leaves lots of stuff to the developer. For example, working with HTTP headers. The header function just sends whatever header you send in. You have to account for browser bugs on your code and maitain that. The manual is full of user comments regarding how to use certain function that give different results with different databases, browsers, platforms, Apache configurations, etc. Those things don't belong to API, there are bugs, but you have to work around them in your code.
If you use a PHP CMS or a PHP forum, you know the people developping it will do the dirty work for you and release a quality product, but for a small organization with a few programers, migrating from PHP3 to PHP5 to get the new cool stuff they implemented is hard, painful and takes a lot of debugging time.
In contrast Java has managed to keep backwards compatibility while adding new functionality and the API has been quite stable. Of course it has bugs, migration problems and imcompatibilities, but the java developers (SUN, Apache foundation, IBM, etc) make an effort to make developers' life easier. The PHP developers also try, but are less sucessful.
At the same time in Java you don't have such a wide selection of free tools ready to use in a web site, but you do have tons and tons of libraries ready to be integrated in your java web app, which PHP has but in much smaller quantity.
WILL THIS ADD COMPLEXITY TO DEVELOPING php? If so, I rather think that Zend fully understand their product. PHP is popular cos it is easy!
Could someone pass this message along to the Squirrelmail team?
The main problem with PHP is that its almost to easy for someone with no real programming knowledge to use. PHP is a very powerful language but it lacks the standardization present in other languages. I work as a freelance web developer (unless someone wants to hire me full time) and i cant even count the amount of times i was asked to help fix problems on sites which were caused because of poor coding standards or a lack of knowledge on the original developers part. This is combined with the fact that most smaller PHP driven sites end up being a messy combination of free scripts people find online, then are glued together in a poor way by a person with out a lot of programming knowledge.
.NET, and all for a fraction of the price.
.NET one day, but it isn't here yet, until then it looks like I am stuck fixing other peoples mistakes.
Zend is doing a lot to fix these problems and make PHP much more appealing for professional developer. Zend studio is an amazing tool for PHP, being able to debug an entire website remotely was huge for me. Combined with the Zend Framework and other tools, PHP becomes a viable alternative to J2EE or
Before we can get there though, some things will need to change in the way PHP code is written. PHPDOC should always be used for every piece of PHP code Coding standards like those used in the PEAR project should always be followed. Also, PHP5 needs to go into more wide spread use. Currently very few web hosting company's support PHP5, this is usually because the applications they them self use for managing their business are written in PHP4.
Hopefully PHP will replace J2EE and
I don't really think that PHP should be put in the same base for comparison as Java, or more specifically, J2EE. PHP is a scripting language. Just about anyone with a moderate knowledge of programming concepts would probably be able to pick up a book and start writing scripts. From the simple "Hello World", to the full blown portal site, PHP is as complex as you want to make it. J2EE on the other hand, adds several layers of complexity from the very beginning. You need a webserver capable of processing PHP for those kind of scripts, but for J2EE you need the JRE, then (at least as far as my experience went) two installs of java, one for the base language, and another for the J2EE "engine" (for lack of a better word.) PHP doesn't require OOP knowledge, J2EE does.
People who just want to write a blog or some other relatively simple task online will use a relatively simple tool to do it. Why pull out the J2EE for something thats not an 'EE' (enterprise environment)? The ratio developers (professional and hobbyist) that I know that know PHP vs J2EE is staggering. Unless someone has a specific need that requires the use of J2EE, why learn the more complex one when the simpler one would suffice?
And they said zombies weren't real!
Applets, apps.. whatever, Java never seemed to flow as an extension of the browser in the way that PHP did. It always seemed to be a better C++ (flame suits on) with one hell of a standard library built in.
Unfortunately, the answer to "it's not fast enough" always seemed to involve a very heavy, expensive machine from Sun. Hrmm.
Microsoft's solutions always seemed inelegant to me.
PHP always was, and is, about making web applications and database interfaces very efficiently.
Why is it suprising then, that it would be adopted?
..don't panic
Now that MS have declared an interest in the donkey (JBOSS and MS), will they go ahead and "introduce" all the OS frameworks to MS server to try and woo away hosters from linux? Nice time to be a light-weight framework provider.
Patriotism is a virtue of the vicious
Web apps all have the same problem. They use a goddamn BROWSER as the application platform. This sucks.
I'm looking at a typical jsp right now. Its an awful demoralizing conflation of xml, css, jstl, html, and javascript-- all in one file. As developer, it sucks to work with and it is a major hassle to create a nice user experience with this trash y stuff.
I have not worked with PHP, but looking at the source from the browser page, I imagine the same problems apply.
Whatever happened to the "applet" concept? True, there were problems with it initially, but one would think that these problems could have been solved by now. Instead, the industry turned away from nice clean designs to the brutal mess that is today's web app.
Oh joy, someone can mimic a MUD in PHP, how neat!
I think DHTML Lemmings is far more impressive.
MUDs can be build in any language, if you really still wanted to...
...I can honestly say I avoid PHP at all costs. PHP feels like it was built by committee: there's no consistency in the language. Even with 5 I still feel like I'm hacking together web pages.
.NET on the high end, it's going to need new development tools--both for writing the code and useful libraries, stronger leadership, and a clear plan for the future. I don't see any of this happening in its current state. I consider myself to be a PHP outsider these days, and looking in it doesn't look so fun in the pool.
I feel like there's a lack of standardized libraries for PHP. I've used PearDB, but it's sure not ActiveRecord or Hibernate. Smarty's o.k., but I'm already developing in a template language for HTML pages, why do I need another one? It's like working with JSP tag libraries (which I find equally wasteful).
Fundamentally, I think the tight coupling between view, controller, and model that PHP naturally engenders is bad. Practically, I've seen where Ruby on Rails has gone in just a single year, and it's further than PHP's gone in the last 5. Things you can do in Rails in a few days take weeks of coding in PHP, even with the help of third-party libraries.
PHP has a strong foothold with small, inexpensive ISPs, which is the only reason I think that people still use it. Unfortunately, the "war" between 4 and 5 has really hurt the credibility of PHP moving forward. Does any ISP support PHP 5?
If PHP wants to compete against Ruby on the low end and J2EE and
If you have such problems in Java then write a really small little class that does all this work for you, generically, in one place, so you can access it by saying
... headerN);
... Object paramN);
/.ers are Java coders.)
) {o ccessing Foo",aFoo);
Mailer.mail(to,from,subject,message,header1
Many java frameworks are terrible, but that's a matter of API aesthetic. For instance, I hate the Java frameworks' APIs for reflection and dynamic method invocation and such. So I wrap it all in two methods
public boolean canPerformMethod(String methodSignature);
public Object performMethod(String methodSignature,Object param1
(Note: the above is pseudo-code so I don't have to explain how to do variable number of parameters in Java 5 - not all
(Note2: By using aspect-oriented programming, I can insert these methods high-up in the object-hierarchy)
The point is that now, anywhere in my code I can dynamically invoke methods by:
Foo result = null;
if (target.canPerformMethod("processFoo:String:Foo")
result = (Foo)target.performMethod("method:String:Foo","Pr
}
That simple structure replaces about 10-20 lines of exception handling, method lookup, and all sorts of crap, because I (wait for it) encapsulated it.
I'm not saying it's not convenient to have mail(...). Of course it is. But the point of languages like Java is that if you have a preferred API, you can wrap the complexity of a crappy API with a nicer convenient one in your own code. That's called good programming. No actualy need to whine.
It's only when the raw functionality is not there, or when the raw langauge/runtime capabilities don't actually allow you to create the functionality you want in a convenient form - that's when whining is necessary. But modern Java, with Java 5 + aspectJ pretty much allows anything to be created in relatively convenient APIs.
The only remaining issue is to convince someone at Sun to refactor their core APIs into something that provides some of this convenience out-of-the-box. Or go write Objective-C against the Cocoa APIs on MacOSX. They're pretty nice.
i - This sig provided by
This article is a crock. PHP is great for your $10 a month hosting service domain on a shared server, but Java has been and continues to be the market leader when it comes to writing web based functionality that integrates across an entire enterprise.
Try doing this in PHP.
There is a reason that eBay handles 1 billion transactions a day on Java.
Social platform Ning has marca as cofounder and supports PHP as its first language.
I don't know if it is the class of programmers it attracts, or the langauge itself but it seems pretty much all the worst, insecure web applications are written in PHP these days. PHP-Nuke seems like it is exploited about monthly for example.
Then again, I wrote my weblog software in C, so what the hell am I talking about?
Finkployd
For the pendantic, this is what I meant:
) {, "Pro ccessing Foo",aFoo);
:)
Foo result = null;
if (target.canPerformMethod("processFoo:String:Foo")
result = (Foo)target.performMethod("processFoo:String:Foo"
}
The earlier one would have invoked a non-existant method. Should have written the Unit Test first...
I also should mention that the above is used to hit arbitrary methods, so you don't have to know the specific class/interface up-front. This is really really useful in plug-in interfaces for applications, for example. And yes, you can re-structure your code around strong interfaces and all sorts of things to avoid having to do this, but sometimes this kind of approach saves 10s and 100s of lines of code, and as long as you perform the check, it's safe as houses.
.
i - This sig provided by
I'm running into this now, but to get wide acceptance, hosting for Java needs to come down in price. For instance, I can find a company to host my html website for $10/year. I can find a company to host my asp/asp.net website for $3.99/month and I can find a company to host my php site for about the same. The CHEAPEST java host I found was charging about $15/mo for fewer feature addons (bandwidth, space, etc) than the $3 php or asp hosts.
It's not difficult to see why Java isn't in the mainstream as far as casual or moderate web developers go.
And I really don't understand why the cost is so high since everything Java hosting uses is supposed to be free (compared to buying IIS & a windows server).
Why is anything anything?
I agree fully; we are our own worst enemy. As "architects" begin to architect IT, they have all the patterns, buzzwords, technologies, to make business and academics feel good about what they are accomplishing/spending/hiring. If, in fact, you were running software like you were launching a rocket to the moon, such NASA'esque scale and complexity for software may be helpful (but maybe not - see the report on the shuttle failure). But that, I suggest, is not where most endeavors lie.
I am sad about this industry because of it.
For the last four years, I've been working on a product whose Web interface was written in PHP. It worked well for us, and was easy to write, is very stable, and is fairly maintainable.
However, our next product is not using PHP. We've switched to Perl (specifically, the Catalyst framework) for a number of reasons:
It's not quite clear from the article where Java is failing. Well, there are some things, like applets, that people once thought were cool, and are now completely ignored. For building complex websites, however, there are lots of really useful Java frameworks that can help you out.
That, however is also the problem with Java: there is too much stuff. Do you need EJB? JDO? JSP? Struts? Spring? Something else? (Answers: No, yes, no, no and yes!) Java used to be powerful and easy, but it's grown overweight and complex. It doesn't have to be that way, however. The Java world is starting to realise that it needs to go back to Plain Old Java Objects (like Spring does) and do away with all the overly complicated J2EE junk (especially EJB2!).
Personally I wouldn't dream of building big websites in JSP or PHP (although PHP is probably fine for small ones), while something like Cocoon (mostly Java components, with bits of other stuff whenever that's more useful) is great for rapid deployment of complex sites (although I'm sure others will disagree; it suits my needs, however).
The article also says that Java is losing ground to Javascript and AJAX. I don't see how. The only Java they might possibly be competing with are applets, and those have been dead for quite some time now. There are plans to include AJAX support in Cocoon, which makes a lot of sense. Using different tools for different tasks and all. And that's how it's meant to be: everything has its place, including Java and PHP.
That's great. What I was saying is this is becoming more rare. If someone attempts to play some online Java games, they work fine in Windows, but not from a Mac. I know of a corporation that wrote many apps in Java ontop of Netware, but things ceased to work when they pushed the apps to Linux desktops. All I am saying is that Java's write-once approach does not work in the real world because many programmers are building applications for a specific audience of operating systems/environments, and not caring about any of the others.
Click here or here.
The one that says "Java succeeding where PHP has failed"? You know, where they cover system integration projects in banks where they tried to use PHP, but ended up scrapping it for Java? Oh wait - not even an idiot would use PHP for that.
What a non-article. Yes, PHP is better than servlets for some stuff. And C is better than Ruby for writing a UNIX-clone kernel. Is this not obvious to anyone with a basic education in computer science?
Hmmm, Having been hacking PHP for a while now I can say that it is an absolute breeze to do some of the things you are asking (PDF, XML etc). The "trick" with PHP is to go and search for relevant libaries. I started creating dynamic sites in PERL but, for once, PERL didn't really do the trick for me. Mostly I didn't like the tight binding between Apache and PERL for session management. In fact, dare I say it, PERL is starting to look a little long in the tooth.
PHP is good but can't easily create Java style servlets, I'll probably be proved wrong though! So session->session comms are a bit hairy. However, combined with MySQL a lot of problems go away.
However, I do take your point about off-brand databases and mainframe interfaces. Yes, that sort of thing is probably considerably easier in Java than PHP.
Time flies like an arrow. Fruit flies like a banana.
>> 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.
I think that quote was referring to Visual Studio and ASP.NET. FrontPage is a piece of total crapware that spits out obfuscated HTML, but VS 7 is actually pretty good, especially since it lets you keep the code separate from the HTML unlike ASP classic. The problem I have with ASP and PHP is that the code will become totally spaghetti-fied unless you are VERY careful with it, and trying to decipher someone else's ASP code is usually a total nightmare.
Some people do, I actually know someone who codes a forum in CGI/C
"The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
The question isn't PHP or Java, it's why aren't you using Ruby on Rails? Go check it out. PHP is a joke in comparison and Java far too complex. www.rubyonrails.com
PHP has all the faults of Perl... and I ~like~ Perl.
As far as a language goes, PHP is a mess.
As far as capability goes, let me see PHP do something as good as this:
http://sourceforge.net/projects/azureus/
Rich And Stupid is not so bad as Working For Rich And Stupid.
I handle PDF generation all the time through PDFlib. FDF generation is built in and simple. Image generation through GD and ImageMagick. SOAP and XML can be compiled in when you do the 'make'.
I have no idea what you are talking about when you say PHP can't do these things. Been doing some of them for a long time.
This is my sig. There are many like it but this one is mine.
Yes, 'cause 5 or 10 vendors who use php, c and c++ means php fails. Lord help you and your tiny sample sets.
This is like comparing Apples with Oranges, yes PHP can create simple dynamic web pages quickly and easily, but use it to create and type of enterprise scale application and watch its maintainability/simplicity drop like a sack of rocks. PHP has its place for scripting simple websites and making connections to small-intermediate sized databases, but it will never over take Java as a programming language, PHP is a scripting language in my opion. I dont know if this still stands true, but the last version of PHP that I worked with didnt even have namespaces, something that I believe makes maintainability of any application easier another thing only the core modules of PHP are thread safe, which is another thing you need to have in any large scale application. Java excels with threads making them extremely easy to use and has alot of support for it. IMHO PHP wont over take Java, I have yet to see any Banks use PHP for their online banking involving money transactions. PHP has its place for creating small-medium dynamic websites.
GL HF!
Well, he has a point. PHP is easy to learn. However, PHP is insecure - fact! It also has some annoying features and is not so pleasent for a programmer. Remember btw, that the person saying this is the guy whose selling PHP :-)
ilovegeorgebush
- Please keep way from PHP
- Please do not try to out-framework Java
- Please do someting useful with your time
PHP is beautiful precisely because of the coding-efficiency. You can do as little or as much as is needed in solving the task at hand, without being dragged down by an impossibly complex framework.
As little as I like microsoft they had understood that userfriendliness goes for programmers as well. To add insult to injury programs created with this -easy-to-use platform even outperforms Java on a routine basis - but thats another flamewar.
Of course, being an anonymous coward, this rant will never be read anyway...
I recently got up to speed with a real life commercial PHP App a client needs. Allways wanted to do that, and been mucking around with the one or other PHP threeliner throughout the years.
PHP is just as people percieve it: Some strange sort of SSI PL that has become the reference for everything SSI. While Perl has a very funny syntax (on the brink of being silly) PHP has some strange sort of order to it. The "->" Object.method separator being only one of those strange things.
But now I've learned from 1st hand experience why this awkward PHP thing is the most powerfull SSI solution and why people are using it for stuff any programmer in his right mind wouldn't dream of using PHP for:
Documentation.
Throw a beercan into a crowded shopping mall at saturday moring. The person yelling "Ouch!" has either
a) written a PHP/MySQL app themselves, b) is related to somebody who did or c) knows somebody personally whos built a PHP/MySQL CMS or written a Book on the subject.
Type your PHP question into Google and it will pop up the answer.
Wanna do some webapp stuff? You can bet there is a PHP function for that, and that there are at least 5 Tutorials explaining how to use it. Plus a very well written official reference.
The designers I work with have zilch knowledge of datamodelling (or objectmodelling for that matter) and the app we're building just now is a relational intergrety nightmare - yet all of them each know a few lines of PHP.
The sheer number of ready made OSS/PD PHP solutions out there outweigh every amount of Java web applikations ever written. PHP is open, extremly well documented, fast, cheap, scalable and is based on tried and true technologies.
It boils down to a quite simple fact actually:
PHP is nothing less than the web generations Basic.
We suffer more in our imagination than in reality. - Seneca
Fact: PHP was released on June 8, 1995.
Fact: The Java Servlet spec (first server-side Java) was released over 4 years later on October 1, 1999.
After 5 years, Java as caught up with and far surpassed PHP in terms of usage, tools, maturity, etc. Java is showing no signs of slowing down. I don't know what iPlanet Marc is on, but on my planet, if you want to do any server-side web programming, you better know J2EE or .NET.
Also funny was this quote from TFA:
Uh, yeah, Marc. That falls solidly in to the category of "thing we wish were true but aren't." I wish Flash wasn't so popular, but the fact is it's used very heavily."Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
And now try to make this code secure, prevent header injection, add attachments, etc. You'll find that you're importing PEAR classes and doing it all Java way.
PHP is simple for simple things. It requires a lot of skill and attention in large projects.
PHP may have a bunch of issues, but it's still the best tool for my job.
For all the available open source projects to be downloaded gratis (i.e. free)!!!
...
Mambo, Joomla, NukePHP,
Thats it. No other reason than that. Otherwise, C# and Java based solutions are better in every conceivable way. All the yacking about better for reason X, Y, or Z are just that - 'yack'.
No, I agree. PHP is just a scripting language. Would you use C/C++ on a website? I wouldn't
I have. PHP lacked the database support, CORBA support, socket support, threading support... etc. that we needed.
Now, if I'd have had my way, we would have used Java, and we would have been more productive, but requierments are requierments, and the client was a java-phobe. C'est la vie.
Thomas Galvin
I knew this debate sounded familiar....
.NET and MICROSOFT, with the Zend LINUX Framework. In a press release, they stated that it will be 'A Web application framework which will standardize the way LINUX applications are built. The Zend LINUX Framework will accelerate and improve the development and deployment of mission-critical LINUX Web applications'. This will for part of Zend's LINUX Collaboration Project"
Find and replace:
"PHP" with "LINUX"
and...
"Java" / "J2EE" with "MICROSOFT"
Result:
"Web browser pioneer Marc Andreessen recently announced his prediction that LINUX will be more popular than Microsoft 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. LINUX 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 LINUX include Yahoo, Lufthansa and Deutsche Telekom's T-Online." Meanwhilie, Piersky writes "Zend has announced its rival to
...and should stick to it.
Our e-commerce and CMS platform is highly maintainable and is written in PHP.
We use a template library for all xhtml outputwhich is fully xhtml 1.0 compliant, all javascript and CSS is in external files, never inline.
In one swoop that's your display (xhtml+javascript+css) taken care of in a maintainable way. If a client wants a completely different look and feel for their system we merely tweak the css and/or templates and they are good to go, no messing with the business logic.
We've got a robust set of in-house libraries for dealing with things like sessions, authentication, data munging and whatnot, these are all kept in seperate library files and only included where necessary. We also use some brilliant third party libs, such as the excellent ADOdb and Smarty. All of our big libraries are extendable classes which allows us to easily plugin different components (e.g. we support 4 text editor widgets, WysiwygPRO, TinyMCE, FCKEditor and plain ol' textarea and image resizing and cropping via ImageMagick or GD2).
Finally, we use fusebox to promote code reuse and to logically compartmentalise the application, it really helps logic when you can break stuff down into circuits (eg admin, shop, customer login) and actions (add user, add to cart, checkout).
It's taken a few years to get to where we are (from the old way of php mixed with css mixed with html all in one file) but we've managed the transition and now have two platforms that are so ludricously easy to extend that we now allow clients access to do it (via a plugin API).
Whatever happened to the "applet" concept? True, there were problems with it initially, but one would think that these problems could have been solved by now. Instead, the industry turned away from nice clean designs to the brutal mess that is today's web app.
AFAIK applets still have major problems with accessability that you just don't get even with fairly rich dhtml stuff.
I am NaN
hahah, thank you! If you want something done securly or properly, don't use PHP.
ilovegeorgebush
You obviously do nothing but Windows. Java "extensions" are just java, and have the same near-guarantee of running seamlessly on any platform. Especially if you're talking server code.
Hey, I'm just your average shit and piss factory.
Personal Home Page all the way!! :)
I always thought that for big sites or complex applications that PHP would be great as a presentation layer and Java (ie servlets) would be great as the business logic and DB access. I would rather have java servlet handling complex logic on the backend then a php script.
no sig yet
TFA has a perfect example of andreessen using the right tool for the right job: "Andreessen, who just helped launch a start-up called Ning for sharing photos, reviews or other content online, acknowledges that Java has its place. "'My new company is running a combination of Java and PHP. This is something I get no end of crap about,' he said of the technical decision. 'We have a core to our system that is built in Java. It is more like an operating system, like a system programming project. Then we have the entire application level--practically everything you see is in PHP.'"
My turnips listen for the soft cry of your love
I know this is about PHP but as a long-time web developer, I'm sure a lot of other web devs will be reading this, so here are my observations on RoR.
.NET and PHP. Here are some thoughts.
;)
.NET. I suppose this falls under the "Nobody ever got fired for recommending IBM" paradigm, but the si
I've started my first small-scale Ruby on Rails 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 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 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 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
Sadly I have to work in the real world. I have never seen a hiring manager who wasn't looking for specialization no matter what.
In the real world you shouldn't even bother to apply unless you have 15 years of Java and 5 years of .net. The people who make this decision are high enough to enforce it, and also high enough that they don't need to know details like not even the creators of Java have 15 years experience, and .net is not yet 5 years old. So only liars can get a job.
I found an exception to that rule, and that was only after looking for a long time. I wish I had a clue where I could find another, as they are not profitable (yet they claim) so my job is potentially in danger should the investors pull out which I've seen happen before.
"I'm not sure what other large-scale features you're referring to, but don't you think that a centralized Java application server is far more of a bottleneck than the shared-nothing architecture that PHP uses?"
You knowledge of PHP libraries aside, that statement betrays your architectural ignorance.
PHP is a dynamic page generation platform that accesses a database. The bottlenecks aren't magically solved by PHP koolaid. With a strong preference for a sub-enterprise database that won't easily scale. You totally don't know what you're talking about
As for the libraries, are all those libraries cross-platform? Ah nevermind, cross-platform is for "niche" technologies, "niche" platforms, and "niche" web sites.
Hey, I'm just your average shit and piss factory.
"Hmmmmm, he knows Php...We should pay him more."
That made me spit coffee all over my desk. Why on Earth would a company pay you more because you're familiar with a technology that is both ubiquitous and extremely easy to learn? Instead of doing that, they could pay you the same, and pay someone equally as versed in PHP right out of high school for $9/hour. Then they'd even have concurrency, so that you could attend to more pressing matters that [presumably] the high school kid could not.
--- What
Ok, I've been developing for 12 years now, and almost purely web development for the last 4. I generally use PHP for what its good for (page generation, presentation layer type stuff), and use xml-rpc or SOAP from php to connect to java, python, perl, or c++ whatever has the best libraries/capabilities/ease of use for what I'm trying to do. I've actually moved almost exclusively to python as my backend/business logic language of choice, but Java worked fine for this purpose 3 years ago too. To me, setting up struts, jsps, all that garbage is a ton of overhead that a simple soap/xml-rpc setup easily replaces (and in my experience php + soap/xml-rpc + languageX is faster than an all java setup). PHP then can do what its best at, my frontends are very lightweight, and load almost as fast as static html, and I use a real language for logic and libraries etc. Now maybe this new PHP Framework will provide some classes and things that would be useable on the backend, I dunno.
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.
I used to use PHP, now I'm stuck with using PHP for those applications. God help you if you ever want to break out of the LAMP paradigm is all I have to say. I can't even begin to articulate why I loathe PHP so much anymore, every time I look at the language, my loathing only grows. Kids, please, go (really) work with some Java. You'll thank me later.
While you're at it, don't use any templating engine. XSL has been around, it's great. Use it, love it.
Yes, I am a smart ass; it's better than the alternative.
I dont understand why people never give coldfusion any love. If you want to be able to make rapid applications that are scalable, learn it. It's learning curve is low and because you can use Java to extend it, it can go a long ways. But if you want to write 12 lines of code to do what it takes 3 in Coldfusion thats your business, but you may also want to stay away from Ruby on Rails then also.
Ohh but you got to pay for it so that may be the problem.
Ok now you can continue and if anybody wants that can throw in the old "Coldfusion is not a real language."
This is great, soon i'll be able to hack up windows apps in php!
You feel sleepy. Close your eyes. The opinions stated above are yours. You cannot imagine why you ever felt otherwise.
I am somewhat known as a Java guy (written 5 Java books, and try a web search for 'Java consultant' and check out the first non-paid for link :-) but I still get tired of Java developers who think that Java is the best tool for everything. Same goes for Python/Ruby/PHP/Lip/Smalltalk, etc.
.rhtml views, etc.) and RoR makes a lot of sense for some projects. Java on the server rocks, big time - for some projects.
For very simple sites, PHP is great (I have read through the code for a few great PHP driven sites - great functionality, but not best from a maintainability and architecture point of view). Ruby on Rails has some great features (I love the architecture of RoR, love the way model classes are mapped to
I think that developers should look at themselves as problem solvers and craftsmen and as such try to use the best tools without preconceived biases.
-Mark
Either way, unless all your applications always return static web pages, there - per definition - is logic in your presentation layer or there would be nothing there and it would be kind of useless to talk about "presentation layer".
Look at your "desktop" on you computer (Linux,Windows,Mac ... whatever).
How many apps running are written in C/C++ ?
How many are written in Java ?
How many are written in PHP ?
I have to wonder about the long run here. When I work with Java, I find it a pain to work with, because of all the required boilerplate and the inflexibility. Things have probably gotten better with Java 5, but Java has been a pain in all the years before it.
When I work with PHP, I find it a pain to work with, because of its apparent lack of design. It feels like a cobbled-together heap of features and hacks, and so does the code written in it. I tend to write cleaner code than what I've seen from other people, but that doesn't make the final product any less messy when various people have worked on it.
Neither language is absolutely horrible; comparing them to others, Java is a language with a relatively clean design, and PHP is a good choice in its niche of writing web applications. However, my pain in working with these languages is a direct result of these languages being poorly designed. I'm into programming languages, and I know many that have better designs than Java and PHP. I wonder if these languages won't take over in the future.
Some changes are happening already. Various organizations are moving away from Java for web applications, and I know others that would do well to do so as well. Much of the work that went into PHP 5 comes from a realization that earlier versions were flawed (the same can be said of Perl 6). Ruby appears to be on the rise. Paul Graham and others have had good results employing Common Lisp for web applications.
The only thing I can see standing in the way of better languages taking over the web application sphere is the fact that the decision making process is based more on fame than on qualities. I maintain that Java has become so successful largely because of the enormous hype surrounding it. PHP, Linux and MySQL have also risen largely due to hype. Of course, it's true that you won't overly disadvantage yourself if you use whatever most others use, but it would still be better if decisions were made based on sound knowledge of technical benefits.
Please correct me if I got my facts wrong.
I contacted Andi and Zeev two years ago about the possibility of a PHP framework geared toward business use. The response I received at the time said that it was an interesting idea-yet one that Zend still didn't find interesting enough to pursue. I followed up with them throughout 2004 and 2005, and was constantly given the runaround by various Zend employees. I submitted a talk idea earlier this year for the Zend conference on my PHP framework, and was rejected. (I wonder why.) At a previous conference, one Zend rep told me, "we're a difficult company to work with. You don't wan't to work with us."
Now, Zend wants everyone to work with them. It's too little, too late, I'm afraid.
I'm going to push Think's Lampshade non-OO PHP framework as hard as I can. Contrary to Zend's claims, it is simple, possibly the simplest one out there, and it isn't restricted to one particular industry. (If it were, I'm not sure how educational loan officers, medical researchers and T-Shirt distributors could all be using it at once.) In the meantime, we'll see if Zend's vaporware ever materializes.
Zend Technologies expanded its board of directors with Netscape co-founder Marc Andreessen and Guarav Dhillon, who was founder and CEO of data integration software maker Informatica. Zend makes development tools for the open-source language PHP.
Full article
I'm sure that being a director of Zend Technologies does not make him biased in any way.
PHP as any other language, has its pros and cons. Back in the old days, when I was starting to develop for Windows, the OWL borland library was a plus, but there is always the awful presentation layer. Ergonomy of GUI is something unexplored now. The downbar left button has become an standar, but is it: Rigth? Always the presentation layer is a pain. Then you have a system: Web applications, that you could leverage the GUI to graphical designers, wich dont have the twisted mind of a developer. Create visualy rich applications, easy add of eyecandy, easy to make it work coding, this was PHP bringed to the Web... There was C based CGI, JSP pages, both of them, where from "those things are difficult" and posed a mental barrier to those "brilliant" designers. PHP presented as: Personal Home Page, something without strange names as "strict typing", "pointers", "standar input", or so... Thats why PHP gained so much terraing against any other languaje, and PHP is a specific purpouse language, so as a language, the documentation found at internet, is much more specific, and also PHP was very fast absorbed by the newly hungry of identity "internet developers"... and with out very much fuss... PHP becomes a standar, almos the facto, with out much things to learn, like C, and with out distribution issues as Java... Linux also evolved this way... When you where entering the world of Linux the easy thing you could do at your new linux installation was: Develop PHP with Mysql. Both at the distribution... A new market, for a new paradigm.. thats why PHP has become a wide used language. And for scalability: Bad code scales well in PHP, Bad code doesnt scale at Java/JSP, and Bad code is impossible to scale with C/C++/C#/C-anything. There are thing that PHP is missing when talking to Industrial strength applications... but for the 50/60% of the market, the micro, small and medium market, that wich provides food and shelter for about the 90% of the world population, isnt so important. PHP belongs to the ecology of Linux and Internet. It will be there, until Linux flops, and the Internet breaks...
Â_Â
Please stop confusing "hacking" with "writing simple blog/shopping cart/cms engines that only need to perform CRUD operations on non-optimised databases in such a manner as to forever forego modularity, reusability, and readability."
All my love,
Marc
--- What
> 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.
Bleh. Windows doesn't even come with a compiler.
I think that's probably why a lot of developers like Unix so much - most systems come with a compiler as standard and the man pages give you all the APIs you need. Grab your favourite editor and off you go!
-- Mike
Legos better than wood for building plastic houses.
Surely you jest. Java was supposed to be our saviour. Our killer app. At the very least, our Microsoft killer. It was supposed to lead us to the promised land of write once, run everywhere. It was supposed to be fast. Now this upstart, PHP (Putting the Hype back in Programming), comes along and succeeds where Java has failed?
Of course, no slashdot discussion would be complete without the obligatory Ruby evangelists chiming in with their posts. I haven't seen that sort of zeal since the disappearance of the undead Amiga fans. They want to railroad us into using Ruby.
I'm still a big fan of Perl, but for web work, PHP gets the job done for me. I'm looking into Python which seems to be easy enough to learn, but it's spawned that beast Zope which takes a long time to tame if I want to do any serious web work with.
Java, PHP, Ruby, Python, Perl, VB, C#, and ASP all have their supporters. And other than saying what I think, programmers trying to persuade other programmers what language to use is a waste of time. If you think I'm being a troll. This whole fucking story IS a troll. We all have different learning styles. We have to use our judgement on what programming tool is going to work best for us. For some people it's the Microsoft paradigm, for others it's the Java paradigm, and for those of us who want to get work done it's the C++, PHP, Perl, and Python paradigms.
"You'll get nothing, and you'll like it!"
Php was succesfull, and also discredited, because it was way easier than Java.
But now Zend managed to make it just as complicated as Java, so I expect it to get some more respect...
PHP sure makes people angry. is it somehow threatening or what? how does it affect YOU if some guy writes buddy PHP for his website? how does that even reflect on the language, when it's perfectly capable but the programmer wasn't?
Not from what I can see. I have not investigated it in any depth, but it looks to me like the lowest paid java developer is paid about the same as the highest paid PHP developer.
On denver.craigslist.org, I have seen ads for php/mysql developer jobs starting at $6.50 an hour.
Just my casual observation.
I agree that FrontPage is pretty bad, but I think the article was referring to Microsoft's desktop application programming tools, hence they said "make it easier for developers to write software that run on Windows." Although a lot of people deny it, Visual Studio .NET is really an excellent piece of work. The C++ compiler is more standards complient than the KAI compiler (which is often touted as the most standards complient C++ compiler around). Personally, I used to detest both C# and Java but recently I've been doing some work in C# and it's quite effective and productive if you are sticking to a Windows environment. On the other hand, I work in graphics where speed is important, so I treat C# as more of a prototyping tool, and then convert to C++ ("classical", NOT "managed"). Visual Basic is good for really rapid prototyping I suppose. I used VB 3.0 in 1993 and quickly outgrew it, although people say that Visual Basic really came into it's own after version 5.0. Personally, I'm never going back to any variant of Basic.
On the other hand, I am not a big fan of ASP.NET. I don't know anything about web applications development, but I presume that if you are coding stuff in ASP, then you need to be hosting the website using IIS. Although I really don't know; does Apache etc support ASP.NET in some form of emulation or something?
The Servlet developer's kit was originally released in beta on March 4, 1997 (see timeline), with the 1.0 release of the Java Web Server on June 5, 1997. I remember putting a servlet-based application into production in Autumn 1998.
Even JavaServer Pages was released before that date, on June 2, 1999 -- and there was JHTML before that from ATG.
-Stu
Given the comprehensive suckiness of .NET, I could see PHP taking a chunk out of their market, but the Java web-app market tends to be entrenched large-scale corporations and enterprises. These companies tend to be invested in Java-based web apps to the tune of several million up to several billion dollars. PHP will not make a dent.
I am not quite sure why people keep saying PHP will replace Java. PHP is a web page scripting language. This is roughly equivalent to Java's JSP, not Java as a whole.
This being said, I certainly welcome any improvement over JSP. This being said there is no reason PHP and another language cannot work together. Generally it is considered poor design for large applications to be written entirely in the web pages. There is much more going on in an application than the View (ie. the Model and Controler in an MVC architecture). For example, let's your application needs to update data based on the reciept of an asynchronous messasge. It would be poor design to have the pages wait for this message. Instead you would build a component on the "back-end" that would handle this update to the database for you.
PHP is ill equipped to handle this type of scenerio. This is not a dig on PHP, but PHP is not intended for this. The "back-end" code that handles this asynchronous update could certainly use PHP as its user interface.
Anyhow, this is why I do not believe PHP will overthrow any language other than page scripting languages like itself.
Sig free since 2/6/2002
At the same time in Java you don't have such a wide selection of free tools ready to use in a web site, but you do have tons and tons of libraries ready to be integrated in your java web app, which PHP has but in much smaller quantity.
I found this line interesting. Maybe the usage of PHP on many sites isn't because its better. Maybe its because there is just more publicly available scripts that people can install. For instance, a guy I know who runs his gaming clans website wanted to show off the website he built to me. I was very impressed with it. Had a username/password message board type stuff and a streaming radio and an overall cool design. But upon further investigion, he didn't WRITE the website. He downloaded a CMS package, a skin for it, and added some content through the CMS interface of course. He didn't need to know how to write PHP. He didn't need to even know how to do HTML. As a developer, I just shake my head.
There's no place like ~/
My point still stands, however. PHP came first.
"Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
are helping PHP move from being a micky mouse scripting tool for joe web designer's guestbook to a tool used to create full blown web applications.
[alk]
C'mon ... "objective c" is very close to C/C++ and just Apple's attempt to proprietize the language.
"Text Editor"
"CheckBook"
"Bible Software".
Cripes. Java is toy building language. It'd be the new pascal but it's 10 years old now.
It's the new basic.
PHP and Java are like two women: one is fast and easy, but the other is much better for a long-term relationship.
PHP-based applications can be great if designed by good programmers.
For proof, just look at some of the projects using PHP: Mantis Bug Tracker, PHPMyAdmin, MediaWiki (Wikipedia), several top discussion boards, Friendster, reportedly apps by Yahoo, and countless others.
These are HIGH-QUALITY web applications. Of course, great things can be done with other platforms, but it's nonsense to slam PHP because "it's so easy that non-programmers produce a lot of crap code with it". The proof that it's worthy is in the *best* apps that are produced, not the worst ones!
Steve Magruder, Metro Foodist
I don't write in either Java or PHP -- I'm a Grade-A C-slinger -- but here are my REAL-WORLD experiences with both platforms.
.php vs. .jsp seems right on target. So let me enunciate very clearly:
C Coders perspective:
PHP - I wrote some objects for PHP5 about eight months ago. The documentation blows, I had to use gdb and a notepad to figure out some of the idiotic details for accessing the symbol table and so forth. The Horrible, horrible dangling-if-macros are terrible. Took 3 days (from "I know nothing" to "I'm done and debugged").
Java - I wrote some JNI interfaces. Actually, they interfaced to the exact same code as the PHP5 modules! (Making a useful C library, encapsulated in C++ objects usable across Java and PHP platforms). Easy stuff! I used cxxwrap. Took 1 day.
Manager's Perspective (I wear that hat, too): PHP is pretty cool, as long as you treat it like a programming language and perform proper data abstraction, code layout, blah-de-blah. "Web guys" need to learn awful fast that "Web Programming" had better be treated the same was as system programming, or large applications become difficult to manage. PHP does little to enforce this (hey, just stick some code right in the middle of the style sheet!), but good discipline will solve all of PHP's major problems.
It's also nice when PHP the guys ask for help, I say "C library function XXXX will solve your problem" or "the underlying OS call behaves this way, that's probably why you're having issues..." and it transliterates directly into PHP. (And I can look at the PHP sources and actually understand them).
Java, on the other hand -- I can't take my years of experience with the UNIX OS and help anybody coding on Java, because it has absolutely nothing in common with the underlying OS, POSIX, etc. Now, that may not be all that bad, but it's damned frustrating when you plan on doing common, every day operations that work anywhere else BUT Java, and have the platform smacks you in the face.
For example, say you need to link two different web hierarchies together (say, images from your apache server and the same images in your tomcat container). You'd make a software link, right? OH, NOOOOO, you make a soft link and then you spend the next three hours figuring out why the fuck it doesn't work, because those asshats who designed the platform didn't like them, so you instead have to hunt through cryptic XML configuration files to find out how to turn on some asshat undocumented directive to allow a BASIC FUNCTION OF THE OPERATING SYSTEM.
For fuck's sake! Now, I suppose the above criticism is more a J2EE criticism than a Java critism, but, if we want to compare apples to apples,
J2EE SUCKS HUGE DONKEY BALLS.
Essential redux: Each PHP guy gets more done in a day than two Java guys get done in a week.
Why? How can this be? Java solves everything except world hunger!
The Java guys spend three days a week debugging shit that's gone wrong with Tomcat on one server or another. It's always some incompatibility here, surprise-bite-you-in-the-ass-there. Two applications on the same server use the same JAR file, so the containers refuse to load. That sort of thing. Sheer idiocy.
Then they spend one day debugging shit that's gone wrong with Eclipse (or its mangling of the CVS repository, or some ant dependency problem, or)... then they spend half a day each writing code, and another half day synchronizing their changes. And meanwhile they whine that 256 megs of RAM isn't enough to edit a fucking text file (and do NOTHING else at the same time).
And Lord help you if you want to add another table to the database and want them to do something as silly as retrieve the data from it and put it on a web page. Apparently, this is incredibly difficult, because it involves creating new hibernate objects, which of course fucks everything else in the ass, well, because, something called hotspot didn't get it's monthly fucking hormone shot or som
Do daemons dream of electric sleep()?
I like how that opener draws parallels between PHP and Microsoft. Both frustrate me by their inferiority and their pervasiveness. I always wonder how something so bad became so popular. It feels like there's just something wrong with the Universe when things like that happen.
I tried PHP a couple times (both my own new stuff and tinkering with downloaded apps like Drupal and Wikimedia), but for anything bigger and more complex than one page, I want Servlets, a real language and a real development environment.
Start Running Better Polls
Ruby. Ruby on Rails. gooooood stuff.
You tend to see 5 java programmers doing the job of a single perl developer (for web programming). Not suprising that people need lots of java programmers.
PHP is the good ol' beat up pickup truck... Java is one of those natural gas delivery trucks that delivery companies in the city use.
With PHP, you can throw junk in the back, tie it down with bungie cords, and get the thing rolling to wherever you want. Java runs a lot smoother, the trucks are a bit more reliable, but because of the whole natural gas thing there is a bigger investment in getting it up and running... you can't really throw an old refridgerator in the back and take off.
And neither one is an 18 wheeler big rig, or a sports car!
The situation is somewhat better on the 3rd-party libraries and frameworks front, but still nowhere near the sheer size of CPAN, or the quality of Python offerings.
So, then, why PHP and not Perl, Python or Ruby for web programming? My guess would be, because it's available pretty much everywhere, with little to no effort... in other words, much like Windows. And also because it has the reputation of being easier to learn than any alternatives (which is not necessarily true, but that's what the people hear all the time). Is there anything else to it that I might be missing?
Of course it's not suitable for all tasks, but for small- and medium-size web applications should work perfectly... Generally I wouldn't agree - PHP it's not a toy!
www.w3net.pl
And why ignore naming conventions? Just so you're code is different from everyone else's, or so someone else familiar with the language and who's attempting to read your "special" coding style has to shift mental gears every time he does so?
Huh. People say everyone else's code is unreadable. And we wonder why...
Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
In using Java I can create an xml document and xslt and then transform it into all my needed JavaBeans, and then using struts I can create an html page that uses those beans.
The advantage here is that the struts tags automatically fill them selves on error, so when a user submits a form, I don't have to code if ( $foo != null ) {} else {} and fill in the text boxes and check buttons on a form.
Also if I retrienve data from the database, I just convert the data from a result set to xml and then to a hashtable and fill my bean from the hashtable. With the filled bean this data is then automaticaly in the page with no work from me. Since all my beans inherit the ability to convert the xml to a hashtable, its a breeze to deal with database forms.
Currently as a coder I focus on business rules and GUI and not even deal with how things get into the forms.
Does this exist for php? ( really I don't know )
Only 'flamers' flame!
Does slashdot hate my posts?
This is the most amazing product ever. It's so well put together and easy to use that Zend doesn't feel they have to document or describe it and so light weight that there's nothing to download! WOW!
i ew.php
Yes folks once again the PHP admits to being the last player to the game feild with essential technology.
Remember folks these are the people who can't even standardize the naming conventions for functions in their core language.
Please go to the frameworks site it's basically an empty shell coated in marketing buzzwords.
http://www.zend.com/collaboration/framework-overv
-- force and mind are opposites; morality ends where a gun begins ayn rand
After reading the article I am left with the impression that Marc Andreessen has no real idea what he is talking about. First the article does neither mention JSP nor any of the other relevant technologies ( tapestry, velocity, struts etc. etc.). If Marc Andreessen wants to compare PHP to Java he should do it by comparing it to the different approaches which have many differences in target and complexity. He says Java is "arguably even harder to learn than C++" - again he seems to compare C++ core language to Java plus every library in existence - otherwise I can't understand how he comes to this conclusion.
Let's focus on PHP vs. JSP. I have done websites in both JSP and PHP. I did not really like PHP. The function naming is a complete mess, it's rather hard to get a decent structure into it and I hate languages that use special charactes to prefix variables. For me PHP is only advisable for websites with a really low functional complexity.
JSP is quite nice when used correctly - which would include renouncing scripting expression inside the JSP documents. ( there is no real difference between <?php echo $foo ?>, <?= $foo ?> and <% out.print(foo) %>, <%= foo %> ). Instead just use custom tags and EL expressions, mix it with some MVC features and you have a decent structure, a clean separation of code and layout with a nice declarative interface. You may want to add some autogeneration of descriptor files to ease development. (or just use japano my webapplication framework which coincidentially contains all that features ;)
Yes, it is a little more complicated than JSP, but simplicity isn't everything.
while (!asleep()) sheep++
Does this mean we can FINALLY put that Java crap where it belongs? In the trash?
I've used both php and java extensively. Java is just designed better to support code quality. For all the technical reasons people have given here.
/safely/ redesign entire suites of APIs. You get very high quality feedback on how you are using the language. This is all because of the features of Java like strong typing.
Using an IDE like eclipse, you can manage a very large project, with tens of thousands of lines of code. This is what java is designed for, and where many projects end up going. You can change one line of code, and instantly see how it affects the rest of the code. You can drastically and
Java is designed as opposed to being very organically evolved, and this means a lot (especially, excuse me, considering where PHP comes from - personal home pages).
Sure, its sometimes a pain to deal with more conditions of doing something (is it an empty string, is it null, is it a 0?), but I don't mind for the sake of having my code be explicitly safe, when you consider that ultimately code is designed to be executed reliably.
Maybe with all its redesigns PHP will one day have the quality of java, but its going to take a while and I have a feeling it will just end up reinventing the wheel.
One of the main drawback with Java is there's not yet any complete open version of Java, but there are several on their way from orgnizations that are going to come through.
The other drawback of Java is there's an abundance of complex high level web frameworks, but this makes it a very responsive environment and once you've climbed on top of a heap of APIs you'll find you can surf any contemporary trends fairly easily.
I can't believe the number of Pro-PHP developers on /.
You're all joking right? I mean, how can you rip the hell out of Windows being a security risk then turn around and talk about the beauty and wonderment of PHP?
Sure, apples and oranges, OS and Scripting language
But seriously, PHP? Talk about a buggy security risk.
And how about all the MAJOR changes between MINOR versions? If you develop something for PHP today it is unlikely it will work with the next version.
The list goes on.
The point being that the complaints all the Linux users make regarding Windows can apply to the main scripting language Linux users (I'm sure the majority of Websites developed with PHP are running on a Linux box compared to Windows) develop their web applications with.
Ironic. Pot, kettle, stfu.
* Si hoc legere scis numium eruditionis habes *
Fast??? PHP 4 was released 5 1/2 years ago. PHP 5 was released 1 year ago. 4 1/2 years of stability is hardly what I'd call "fast", and I was using PHP all that time with no major language-driven changes to my code needed. Even now, PHP 4 is the most widely-deployed version of the language by far. Contrast this to RoR, which has seen dozens of app-breaking changes in the past year alone, primarily because it hasn't reached 1.0 and is still being heavily modified.
How about using the right tool for the right job? how about not giving me the statistics without also giving me the methodology? (And the bias behind them?)
PHP is a nice, lovely, wonderful tool which I use a great deal.
Java is a tool that I use as well.
Sometimes knowing both get's the job done better than knowing only one. But saying that everything shold be done in PHP or everything should be done in JAVA is about as bogus as giving statistics on the usage of web sites employing one or the other.
Are you counting each web site running Wordpress as a web site that uses PHP?
I would hate to try and use 100% Java to do a blog interface - I would, however, employ a Java wysiwyg editor.
Using a coffee mug to tap a nail into a wall to hang a picture will work, but I wouldn't want to build a fence with one. I certainly wouldn't want to drink coffee out of a hammer.
Maybe easier and more widley used but not as scalable or robust.
"The simplicity of scripting language PHP means it will be more popular than Java for building Web-based applications"
Is it really a popularity contest? That's really funny.
If everyone was jumping off of bridges would that make it the best thing for a person to do?
640YB ought to be enough for anybody.
Dreamhost, the ever-popular cheap geeky webhost, has supported PHP 5 for a while. They actually give you an option between PHP 4 and PHP 5 in their control panel on a per-domain basis.. that's the way they do business.
- Allen Pike
Altering time, one time at a time.
Is there any relation between education and preference over language. I know my school really pushed JAVA so that is what i use. I learned OOP concepts on it so Java just makes more sense to me. When I need to do simple web stuff I'll use Bluedragon CFML over php for that same reason. I can natively invoke java classes in CFML. (Can you in php?).
well duh, java sucks
Silly slashdotter, datatypes are for elitists.
But seriously, can someone tell me again just exactly -why- PHP would -need- datatypes?
Can't target implement an interface (e.g. in you example an interface named Plugin)? The code would become:
More readability, more performance. If plugins for you application can implements many different optionnal functionnalities just define more interfaces...
Really you seem to have serious design problem... Almost the only case introspection is needed for something else than a debugger or some other programmer helping tool is when you don't know the name of the method to invoke, e.g. the JUnit case where it will invoke all method named testSomething() returning void and taking no params.
If you already know the method's name, make it part of an interface and your life will be easier. I'd be interrested to know why you need introspection in your case.
Java, rather, jsp and struts, hibernate etc may be an enormous pain to set up with ant, maven etc in Tomcat or on BEA or whatever, but they have real advantages compared to PHP as an application grows. Java tends to enforce abstraction whereas PHP doesn't really care. I've developed with both and I've noticed that while PHP is fun for simpler sites, it's very easy to make a nightmare out of it with larger ones. Yes, there are now templates and various PEAR modules and various accelerators but they simply don't compre to Java in terms of maturity or clean code, and for very large object collections, Java is faster by quite a bit. Another really serious problem with PHP is the moving target syndrome where there is little deprecation but lots of dropping of legacy functionality. A company I know has a real problem at the moment in that it is facing serious costs in moving some old PHP code to a newer version, but is forced due to customer pressure to keep some older versions around. It's messy.
I really like Ruby On Rails approach. It is however too new to be used on critical projects. It lacks certain things like precompilation and is still only runnable as CGI.
All that said, PHP is growing and will no doubt eventually make Java's life difficult as it grows into larger applications and becomes more mature, but it might just find that Ruby might overtake it eventually.
recycled comment here
"In the game of life, someone always has to lose. To me, if life were fair, that someone would always be Oklahoma." -DKR
In a not posted version of my comment the interface was named Bar, but since we were speaking plugin I could as well call it Plugin.
And there was some issues with my R key, I meant "your" instead of "you" at least twice in the parent comment ;-)
Well, the popularity of PHP is to be expected. Anyone thinking otherwise is a fool. Most beginners can slap something together with it pretty easily, there's all kinds of forums and other projects (gallery and what not) made with it.
But most importantly - LAMP hosting is dirt cheap. PHP hosting is almost free. Try to find good J2EE/Oracle or ASP.Net/SQL Server hosting for anywhere NEAR that price. Since Windows 2003, SQL Server, Oracle, big name J2EE servers and others cost a fortune... It's never going to happen. That's why only big companies really use it. Do you want to have to pay 100$ a month to host your blog or family photos when LAMP hosting will do (not that you neccesarily like it) and will cost next to nothing.
Most of these 22 million websites are blogs, personnal sites, small hobby sites, phpbb/vb/ibulletin forums, small business sites and other such things. They don't usually require transactional integrity, high quality code, N-tier design and such (and much less the associated high design costs nor hosting costs). It just isn't google/amazon/ebay or the like.
Busines wise, I almost never have requests for PHP apps. I make most of my money coding ASP.Net/C# and Java. It tends to pay better too, as most people who want that aren't individuals or small businesses and they can afford to pay more for something solid and well designed.
99.9% of PHP stuff I've seen was just like most ASP/VBScript stuff: basically a so-so web page and some unappealing scripting language mixed together, resulting in a BigUglyMess(TM). To get anything done, you need all kind of external stuff (PEAR and such).
It's sad in a way to see how MS has this really good technology (ASP.Net/C#), but it'll never get used very much on the web because of licensing costs (hence high hosting costs). One can only dream Mono will change something to that, but I don't see much webhosts jumping at it (like RoR hosting - it's not overly common)
It's not like PHP gets used because of it's enterprise grade robustness, language consistency or anything like that. It's just that sometimes simple, quick and inexpensive is what matters the most. Works well for small projects, but it's too bad I can't make a living making PHP pages for individuals at the 50 cents/page they're willing and expecting to pay.
A member of the board of a company telling the press that their product is arse-kickingly better than everything else isn't news. It's a press release disguised as an interview, just like all those "interviews" that authors, actors, and musicians suddenly start giving whenever they're launching something new. And guess what? Michael Douglass doesn't sit there on TV saying "Well, Larry, this new movie is the biggest shite-fest to hit the box office in ten years. The director is crap, and the writers are crap, and my leading lady has great tits but less acting talent than a can of peas, but I decided to be in it anyway because they paid me fifty million dollars for two months' work", even if that's what he really thinks. Instead, he'll waffle on about it being a privilege to work with such a telented bunch of people, and how the role really allowed him to explore new avenues of characterisation, so everybody should just rush out and see it when it hits cinemas next week.
It's called marketing, people, and it really isn't worth getting into a debate about the relatives merits of what Andresson is selling versus what he isn't selling, because he'd be saying something entirely different if his new job was with Sun or MS instead of Zend.
I'm not going to change your sheets again, Mr. Hastings.
Gimme a break, he got lucky once and landed a job as a research programmer at the NCSA after he graduated from college. That doesn't make him a visionary, much less a competent programmer.
His track record on tech issues speaks for itself. Why anyone would listen to what he has to say is beyond me.
agreed, mantis and phpmyadmin are wonderful. i use them both heavily. mantis is miles better than bugzilla -- bugzilla is relatively top-heavy and the interface is very cumbersome.
php web hosting is more widely available and less expensive typically than Java. While this can all be done with open source software I beleieve we will continue to see the corporate world using Java and individuals increasingly using php.
I just checked my copy of Azures that I've had running a couple of days now, and it's using 86MB of RAM. Sounds like a lot for a BitTorrent client in some ways, but Zures is the a very full-featured client. The original BitTorrent client from Bram Cohen (SP?) himself was a much tiner, but also less-features piece of software. So, that's apples and oranges.
But, seriously, if BitTorrent is using 500MB of RAM on your system just to IDLE... whew! You've got something else going serisouly wrong.
No, Ruby will be more popular than either Java or PHP for building web-based applications. Take PHP's targeted purpose and framework simplicity, add the power of a better language, and you've got Ruby, and mindshare.
Flying is easy, just throw yourself at the ground and miss. -Douglas Adams
Marc Andreessen said. "I think there's no question the Web model is going to dominate over the next 10, 20, 30 years."
a stJava_2.htm
Some interesting work is being done on the PCs, however, but he pointed only to applications that run in a Web browser and that rely on data and services supplied over the Internet. Here, again, Java is losing to an unrelated scripting technology called JavaScript and a JavaScript offshoot called AJAX that permits a fancier user interface.
Andreessen isn't the only one suggesting Java is not the best choice for this type of application. Bruce Tate is one of several who've suggested AJAX and Ruby on Rails are a better solution than Java or PHP:
http://www.webservicessummit.com/Articles/MovingP
On my system, FireFox used to be a HUGE hog. I solved it by switching to Opera. FireFox would grow to hundreds of MB after a couple of days. Opera is hovering at 46MB after weeks. So... does FireFox use a Java UI, too?
Also, if Azures is such a pig and is so slow, why do so many people use it? I mean, I find it to be perfectly fine, but this is not the first time I've heard poeople complain about it -- but still its cited all the time by others as a GOOD example of a Java app (like I do). Why such a polarizing view?
It would help if some of /. readers actually read something about the issues faced in developing software 30 years ago because the modern day tools (java, php, c#, etc.) are still only the smallest of improvements over the 1970s OS API + programming languages while the problems are largely the same.
Proper business process modeling, user use cases, requirements tracking and project progress tracking still are the main issues in software just as they were in the 1970s.
Programming tools, language, methodology, uml, db design, os api, etc all are much much less important than solving the business problem.
and don't understand reusable objects or abstraction.
Show me a practical[1] example of OO being more reusable than other paradigms can be. "Reuse" has fallen out of favor as a major OO bragging point even among most OO proponents. Your claims are so 80's.
[1] No animal, shapes, or device-driver examples as often found in OO books.
Table-ized A.I.
You know why java has succeeded? Because of using the word "Enterprise" in one of the names. J2EE. Suppose you are a manager (inexperienced user with lot of self-estimation). What technology would you choose for your corporate web site? Some (lousy open-source) PHP or "leading" "supported by major software developer" Java Second "Enterprise Edition". "Server server1 is open for e-business". "Enterprise" java beans. It's obvious that PHP has little chances. It's all marketing.
;-) PHP guys did even better work. With PHP you are not a programmer, you just solve your problems.
Playing from the ground with Assembler, Pascal, then C/C++, after learning perl I realized that a Larry Wall needs a monument despite he is alive so far.
On the contrary, so far I see projects in java that are just _ridiculous_. And running IBM Webshrere is not a fun. And a web-shop with a dozen of users does not need to occupy 700 Mb of RAM running on high-end servers just to work "adequately".
Actually Google uses Java very extensively. Google engineer said in a recent interview that large parts of popular Google products are written in Java.
PHP has been developed specifically for the web. It is also the most recent of the web programming languages and has popular following. This is due to ease of learning, and fast development time. In the long run, each have their own areas of preference among the programmer community.
asoft
The extra confusion and administrative overhead of using two or three languages (plus html, xml and css) on the same project slows it all down.
What's stunning is that the Netscape server products took exactly this approach but never caught on.
Javascript is the most popular programming language and also one of the slowest. No reason it can't be speeded up. I like ruby better but despair that the browser-makers will ever include it on the client side.
I18N == Intergalacticization
I've written a MUD in PHP. It can certainly do handle it, and do so pretty well.