If you really want a mini to haul a trailer..
Philip Greenspun apparently forgot that there is such a thing as an appropriate tool for the job.
Java an SUV? Perhaps.. but then php is a Mini - admittedly a very cool car that will get you to your destination, but do not attempt to haul a heavy boat behind it.
Comments
PHP is definitely a Mini. As much as I love it, there are limits to what you can expect it to do. And I think he's overlooking other uses for Java. I use this app for OS X (and well anything actually, but it's written by an OS X user) called Zoe (http://zoe.nu/) that indexes email and is pretty much web driven. You certainly would have a harder time doing it with PHP or Perl (if you could do it easily at all).
Posted by: gregory | September 22, 2003 07:29 PM
Just out of curiosity, why would you have a hard time implementing that app in PHP or Perl? I only took a cursory glance through it, but both PHP and Perl have 'standard' (at leasst in the case of PHP, popular-and-well-supported in the case of Perl) libraries to handle most of the heavy lifting that app requires.
You probably shouldn't use a SUV to tow your boat either. My Subaru will do a fine job of it (the Perl of automobiles if there ever were one), and if that wasn't good enough I'd buy a truck (read a vehicle designed to do heavy pulling, not a poorly designed multitasker like most SUVs).
Perhaps that analogy is stretched too far, but I'll stand by it.
Posted by: George Schlossnagle | September 22, 2003 07:45 PM
Everyone repeat after me:
I will not get involved in pointless debates about programming language preferences.
I will not get involved in pointless debates about programming language preferences.
I will not get involved in programming language preferences.
There, don't you feel better already?
Posted by: garrett | September 22, 2003 07:52 PM
I was actually thinking about this after I wrote the comment and I think it is doable and am pretty sure how I'd do it. And I'm not sure that it would be easier to maintain. But I think it would be difficult to have it in a nice easy to use package that someone could just download and double-click to run.
Posted by: Gregory | September 22, 2003 07:54 PM
No offense to your argument George, but if I had to do what I do now in php I think I would kil myself.
Posted by: kasia | September 22, 2003 08:15 PM
I think everyone should use Java. I don't use it, I use PHP. But I think everyone *else* should use Java.
Especially my competitors.
Posted by: Peter | September 23, 2003 12:22 AM
Peter.. my point was about 10000 feet back and more to the left.. you're only showing your ignorance by making such blanket statements.
Posted by: kasia | September 23, 2003 07:14 AM
I agree with Kasia on this. PHP/Perl are great for small/medium apps, prototyping, and utilities. Maintainence on non-OO apps is just plain painful (don't get me wrong, you can write crappy code in any language). But with the large enterprise applications I write, I'd go nuts trying to maintain that stuff in perl or PHP. I also integrate different systems together, which is a breeze with Java. I wouldn't want to pull from COM, flat files, a database and a web service with perl. With Java (or any OO language) you can just abstract away wherre the data is coming from, and process it as you'd like. They work out the issues for getting the data in the objects that deal only with getting data, but process it the same way. Duplication is the root of (almost all) evil in software development, and you can easily avoid most duplication with Java (or any OO language). If you haven't written any *large* applications, with teams of developers, and tens of thousands of lines of code, this probably doesn't make any sense, and the difference may not be obvious. But once you do a large app like that and have to maintain it, the benefits are obvious.
And don't talk to me about performance! I have written apps to process log files (all text processing) where the logs were several hundred megabytes (from an aspect I wrote to analyze performance on a webapp). The small, efficient perl script I wrote ran for over 5 minutes, maxing out my CPU. The more complicated Java app I wrote, with 5 objects (the actually did more complex analysis on the log files) ran in under 30 seconds, with my hard drive being the bottleneck. I know that's only one small example, but for me it's relevant. I have written several apps that scale quite well in Java, thank you very much. I've also seen several apps written by other people in Java that don't scale worth a damn, because they don't know what they're doing. The same thing goes with other languages. :)
Then again, right now I'm learning Python, and it's fun fun fun. You get the quick scripting benefits of perl/PHP, while at the same time, you can refactor it into good OO code. :)
Posted by: Frank Merenda | September 23, 2003 07:36 AM
A Mini?
Hell no. PHP is like Duplo Legos. Fun to build things with, but heaven help you if you try to build your house out of them.
And Perl is like regular Legos. Sure, there's all sorts of cool parts, but the same is true; above a certain size model, you spend as much time fighting the fact that you're using Legos (Perl) as actually building anything :-)
Posted by: boneverks | September 23, 2003 08:13 AM
Does this make C or MFC a moped? It works and gets you places but you don't want your friends to see you riding one?
Posted by: Randy | September 23, 2003 09:41 AM
More like an Aztec :) Functional, does the job well but ugly as hell and wouldn't be caught dead driving it in public!
Posted by: kasia | September 23, 2003 09:49 AM
*mumbles something about using right tool for right job*
Posted by: pete | September 23, 2003 04:20 PM
Kasia:
I don't know if it's so much ignorance as it is conviction.
Lack of ignorance (i.e. experience) does not translate to lack of resolve.
Posted by: Peter | September 23, 2003 10:21 PM
I will not get involved in pointless debates about programming language preferences.
I will not get involved in pointless debates about programming language preferences.
Posted by: Joan | September 24, 2003 02:50 AM
I think I'll break my leftist mold and go into a reactionary stance...
After having messed with Java, I firmly believe life was better in the days of C and C++. C and C++ are like a fuel efficient, all terrain sports vehicle. Small, fast and capable of general heavy duty work. Of course I barely program anymore and mostly did lower-level, non-guified stuff...
As for the web arena, I'll stick with PHP since I haven't come to a point where PHP isn't enough. :)
Posted by: Jeremy aka bad-magic-number | September 24, 2003 04:16 AM
Shut up and Hack !
Posted by: Sam | September 24, 2003 06:03 AM
php for web is like Basic for DOS
Posted by: reinhard | September 24, 2003 01:48 PM
I will not get involved in pointless debates about programming language preferences.
I will not get involved in pointless debates about programming language preferences.
...especially considering my websites...hehe =)
still love ya kasia =)
Posted by: Jason Lotito | September 25, 2003 10:14 PM
I think each programming language has its good points and bad points. You have to consider the language itself, and also the programmer. A great PHP coder can recreate a java application in less time then a newbie java programmer.
However back to the language question it also depends on the application. If it needs to be ran from a web browser PHP is usually much faster, and easier on low-end computers then a java applet. When creating a full java application though it can be more powerful then a PHP+GTK solution.
Now after wasting that time saying the obvious I will say that I am in the proceses of buidling a ERP/CRM solution with PHP/mySQL and so far its working fine. Its running on multiple computers, OSs ect, even some really old hardware. It is also interfaced to machines using a proxy written in C++ to access the serial port on clients.
Moral of the story is it all depends. :-)
Posted by: Blaine Hilton | September 26, 2003 04:42 PM