2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
Zend Studio for Eclipse
In my many years of programming, almost 20 years n
BLOG-N-PLAY.COM
Peer Networking Series - Why Peer Networks Aren't Enough
In this next entry in my peer networking discussion series, I talk about some of the reasons why just having a pure peer network isn't good enough for today's modern apps - we need more.
TOP LINKS YOU MUST CLICK ON



Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
Here is a question that I have been pondering on and off for quite a while: Why do 'cool kids' choose Ruby or PHP to build websites instead of Java? I have to admit that I do not have an answer. Why do I even care? Because I am a Java developer. Like many Java developers, I get along with Java well. Not only the language itself, but the development environments (Eclipse for example), step-by-step debugging helper, wide availability of libraries and code snippets, and the readily accessible information on almost any technical question I may have on Java via Google. Last but not least, I go to JavaOne and see 10,000 people that talk and walk just like me.
Reader Feedback : Page 1 of 8

tahank you

thanksss

thankss

veryy good

thanks

You know it if you really think about it.

Because Java plays as iut is FLOSS and it is not. So we go LAMP and say F)/= off!

And yeah, I just had Java this semester and it is true: Java SUCKS!

Next semester guess what I am taking? Python!

Long live LAMP (as in PHP right now, and PHP/Python by next year)

Stop writing crappy articles and DO Y OUR JOB! Go program some app in Java and see if anyone uses it.. And I'll gte my Google Apps account and make a Hello World over there and send you a link!

Peace That's why!

There were 7 pages of responses above, so, I confess to only reading a couple, so, forgive me if I repeat too many points that were hashed through already.....

The question posed is why do 'cool kids' (or anyone really) choose something like PHP or Ruby rather than Java. I saw a lot of answers above that are certainly correct -- it's really a bunch of reasons of course, but I think I have a handle on the main factors, which might be a little different than the "java is too complex" crowd:

1. The primary reason is that PHP & Ruby (and others) do a great job for most web efforts, and Java does as well. The question could have easily been posed by a Ruby guy about PHP, or a PHP guy about Perl, or a Perl guy about Java. The fact is, all of them are mature enough & powerful enough to handle most web tasks (and especially intranet tasks where Internet-level scalability & redundancy are not an issue). Cop-out answer, but still true....

2. That leads to why anyone ever even used Ruby or PHP,being fairly new, when Java was there already. One reason is because of Perl. I gave thanks to all the Gods when, back in the Mosaic days, I ditched hand-coded C cgi's for Perl. Everyone used Perl for web. It was far & away the most used web dev language. Perl is, however, syntactically pretty difficult, and it requires a good amount of discipline to code good web apps with 100-table databases and scores of pages. Enter PHP, which is extremely Perl like, but has the advantage of being a "templating" language as well --- easy transition for Perl folks. RoR adds it's ORM, MVC, etc., but the author credits Perl as his primary influence. All 3 are interpreted, etc. One other point on this - Perl is highly unixified as far as it's community, while you had a lot of Windows folks coming in, and PHP filled that void a bit better (I've been doing Perl for years & I'm still unclear if I want cygwin Perl, ActiveState, etc. on Windows...wtf?).

2++. As for the other reason why people didn't flock to Java, I saw some posts hitting on this a bit... Basically, Java came out with huge hype, but it was pointed at applets, it was full of bugs, I couldn't even get a couple of Gosling's examples in his book to compile. That tainted Java with a huge section of early webdev types. Sun tries again, this time pointed more at the server & then the enterprise, with (as people said), hundreds of acronyms, excessively confusing & changing naming strategies (it's Java 6 update 5, or it's 1.4.2, it's SDK or JDK or JRE or J2EE, etc.). They never marketed back towards the programmers working with the interpreted languages (which, fyi, are often easily as complex as any compiled language - some are far more, with heavy reflection & dynamic coding, etc., so "script kiddies" is not applicable to the entire non-java side of the house).

Obviously not ALL the reasons, but I think those 3 are the bulk of the reason. That said, I'll have to disagree with a lot of the folks that have been calling the java dev environments too complex, too bloated, etc. I think we're actually at the crossroads point where the two camps are meeting up, driven by ajax/comet & the push for rich clients. I've just spent the last 2 weeks evaluating various javascript toolkit libraries, server-side solutions, MVC frameworks, flash/dhtml hybrids like Haxe or Laszlo, etc. Aside from a couple of hundred no longer under development, there are some great choices from the "scripting side". I've also begun looking at the Java side (which of course usually converts to JS/DHTML, but I mean java as in coding it on the server). I have to say, I'm impressed. Netbeans and WaveMaker both have pretty nice drag-n-drop wysiwyg-type web dev environments in their IDEs. I've always coded by hand, but in less than a day I cranked out some decent examples...I think it's certainly on par with anything from the interpreted/scripting camp as far as rapid-dev goes (assuming a website with at least a few pages, DB, some UI glitter).

This is a long post... I wonder if it will accept it....3 .. 2 .. 1.. go

Dylan

> Because they've been dooped into thinking you have to > compile Java servlets and beans to use Java or that you > need Struts or Hibernate of JSF. You don't. You can just > do everything in JSP if you want a quick and dirty PHP or > Ruby like Java experience.

Who have folks been "duped" by? That seems pretty absurd to me.

I'd guess, though, if anybody's been doing any "duping" it's software developers who create Java frameworks and try to pass them off as necessary and also book publishers who want to sell you books on those frameworks.

I'm no fan of the "one language to rule them all" mentality that a lot of folks seems to embrace in favor of supporting their language of choice. I agree with Chad Fowler/ Dave Thomas' assertions about learning a new language "every year*" because that keeps one engaged in learning and developing what really SHOULD matter: one's brain.

* (I'm not smart or disciplined enough to learn a new language every year, so I've decided that "every 2-3 years" is good 'nuff for me.)

I started with PHP and Perl, later spent some time learning (some) Java, and now I'm all into Ruby (and Rails).

PHP was awesome, and opened up the world of web development for me. After a while, I thought "maybe I should learn Java" so I gave it a crack and read and re-read Bruce Eckel's "Thinking in Java." I tried to wade through the acronym soup that Java Web Application Development seemed to be, but in the end my experience with Java was that it flat-out hurt my brain.

When I encountered Ruby (and Rails) it "just made sense" to me, and it continues to make sense to me. I recently worked on some PHP code for a friend, and I found it tedious and a bit irritating to work with. I'd bet that if I spent time re-learning OO PHP and used some of the cool "new" stuff (like the Cake framework, etc.), though that I'd probably dig it too.

Java flat-out hurts my brain, i think largely because of its verbosity. I don't really like to look at code that makes me work hard to understand it. Yes, there are tons of things that would be better to do in it vs. an interpreted language, but Ruby allows me to do the voodoo I wanna do with syntax that makes more sense to me.

I don't see the point in being "religious" about what language one uses. One should pick a tool for them that works and enables them to Get Stuff Done. For most of the nails I need to pound, a red hammer works just as well as a green one.

I've worked with the spectrum of languages and environments, from mainframe Cobol, to client/server with Powerbuilder, to web with Java/JSP. The style has progressed from a monolithic 5000 line cobol program (easy to maintain) to 5000 several-line code snippets or settings in various places like taglibs and xml descriptors (a nightmare as the app grows). The mindset that goes along with Java and the way it is presented by Sun is "let's take a simple problem and give it the most complex solution possible". Case in point: JSTL. Why learn another (useless and cryptic) language when we can use java snippets and we ALL know Java already! We're already using Java, Javascript, HTML, SQL, and a framework like Struts in any given project, so why add another when its not necessary? That's the stupidity that turns people away from Java.

Same reason why JavaScript never went away despite major forces trying to ruin its USABILITY and UNIVERSAL appeal with annoying proprietary formats like VBScript, Jscript, .NET, applets, JSP/JSF/Faces, Flash, etc. The people decided that JS is still the most user friendly dynamic web standard on the browser client - and the browser is still what the web user sees first, not middleware logic - and turned out PHP/Ruby are the most efficient glue-code to put together dynamic JS for web app UI. Look at the popularity of REST, Ajax, and SOAP - the web trend is toward efficiency, not complexity. Now if the Java community can come up with a way to make 90% of the ISPs to host Java enabled sites for as cheap and simple as LAMP packages, and convince Google and others to release their APIs in Java only instead of JavaScript, maybe, just maybe, more people will learn Java.

Oooh oooh oooh can I answer this one (hand in the air like the annoying 5th grader who answers every question)! Where to start. Okay, first and foremost if you get hosting from a "normal" web host PHP comes bundled in. PHP is free, fast, and well documented, so why do I have to go looking for alternatives? Finally, by the time you figure out what a WAR file is you could have read War And Peace. Now if you don't mind, I'm going back to hang out with the cool kids.

Doing what everybody is doing is the best way for a failure.

Java lacks a dynamism. That's what Ruby has. To build website you don't need miriad of frameworks, you need something simple. Java doesn't provide that. Java is very constraining environment. And most of those milions of Java developers are very bad software developers. Their software simply sucks - just look around.

Trackback Added: Choosing Ruby or PHP over Java?; In a recent article on CRM Developers Journal, Coach Wei asks: Why Do ‘Cool Kids’ Choose Ruby or PHP to Build Websites Instead of Java?
— Here is a question that I have been pondering on and off for quite a while: Why do ‘cool kids...

@lifewithryan - Agree with your comment. You're right about the OO part and its only partially true. I was referring to the part where Ruby/PHP code atleast to me just seems much easier to read and copy from the web (monkey see monkey do) when I'm building sites than doing the same with Java/J2EE.


Feedback Pages:

Pages: 1 2 3 4 5 6 7 8


FEATURED WHITE PAPERS
YOUR FEEDBACK
Virtualization Viewpoint: Cloud Computing Casts Shadow on Walled Gardens
Bert Armijo wrote: I agree in principle, but IMHO your argument is somewhat myopic. It's certainly clear why, as CEO of rPath, AppEngine is a walled garden to you. However, to be fair, I'm sure F5 or Checkpoint would see AWS as equally closed. As would many other vendors who's ...
Why Enterprise Architects Continue to Fall Short with SOA
Daniel Horsey wrote: I think you have soooo hit the nail on the head. As the leader of the EA organization in a major federal agency, I found that moving this kind of change is very difficult, particularly if you care about continuing your career. It is very easy to fall back...
RIM Announces BlackBerry JDE Plug-in for Eclipse
Don Babcock wrote: I love(d) mobile development with Java. Right up to the point that I found out that it was next to impossible to get apps to market through the catacombs you are required to navigate with each and every separate telecom provider out there in order to get yo...
Setting a Project Based on an Existing ANT Build File
Steve Cohen wrote: I also have this problem. It would appear that the purpose of this function is to import build files that were created by exporting an existing Eclipse java project buildfile. It is not intended to be able to import any random build.xml, which might conta...
Eclipse Runtime Project Is Born
queZZtion wrote: How does Equinox relate to RCP, RAP, Swordfish, EclipseLink and ECF?
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS

SYS-CON FEATURED WHITEPAPERS

BREAKING NEWS FROM THE WIRES
3rd International Virtualization Conference & Expo: Themes & Topics
From Application Virtualization to Xen, a round-up of the virtualization themes & topics being discu
Borland Finally Dumps CodeGear Tools Division
It's only taken Borland two years but it's finally dumped its CodeGear tools division, responsible f
AJAX World - Skyway Software Announces RIA Developer Contest
According to Sean Walsh, President and CEO of Skyway Software, 'Our Skyway Community is thriving and
Skyway Software Releases Eclipse Plug-In at JavaOne
Skyway Software announced a strategic partnership with SpringSource. In this technology partnership,
Virtualization Conference Keynote Webcast Live on SYS-CON.TV
Brian Stevens, the Chief Technology Officer and Vice President of Engineering of Red Hat, delivered
Red Hat Named "Platinum Sponsor" of Virtualization Conference & Expo
Red Hat is a trusted open source provider. Red Hat offers enterprise customers a long-term plan fo
Momentum for Instantiations Products Increase as Adoption of Eclipse Grows
Instantiations announced that its customer base has grown to more than 10,000 customers. Instantiati
Migration from IBM Rational Application Developer to MyEclipse 6.5 Blue Edition
Genuitec announced the availability of the milestone release of MyEclipse 6.5 Blue Edition, a tailor
Mainsoft Announces Sharepoint Integrator for IBM Lotus Notes
Mainsoft announced the release of its SharePoint Integrator for Lotus Notes. This add-on to IBM Lotu
MyEclipse 6.5 Delivers Portlets, Spring and JSF Upgrades and JAX-WS Web Services
Genuitec announced the availability of the initial milestone release of MyEclipse Enterprise Workben
AccuRev Makes Available Initial Release of Its Maven-SCM Plug-in for m2Eclipse
AccuRev announced the release of its process-centric software configuration management (SCM) plug-in
Ubuntu Here We Come! - Java Finally To Become 100% Open Source
With only two weeks to go now before JavaOne, its annual Javaganza for developers, Sun has revealed
Engelbart's Usability Dilemma: Efficiency vs Ease-of-Use
The mouse was the original idea of Doug Engelbart who was the head of the Augmentation Research Cent
VoiceObjects Desktop for Eclipse
VoiceObjects announced the availability of its VoiceObjects Desktop for Eclipse and VoiceObjects Dev
Curl Joins Eclipse Foundation and Announces Eclipse Strategy
Curl announced it has joined the Eclipse Foundation, a not-for-profit, member-supported corporation
CodeGear Announces New Release of JBuilder 2008
CodeGear announced the availability of JBuilder 2008, its latest version of the IDE for the Java pla
Web 2.0 Is Fundamentally About Empowering People
'Unlocking content to be remixed into new business value' is the driver of Web 2.0 in the enterprise
Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
Here is a question that I have been pondering on and off for quite a while: Why do 'cool kids' choos
VLX Developer V2.0 Offers Support for Deploying VLX Realtime Virtualization
VrtualLogix announced the availability of VLX Developer v2.0, offering enhanced support for deployin
AMD Unveils Open Source Eclipse Plug-In
AMD announced a new plug-in that provides the Eclipse community with increased performance managemen
ADS BY GOOGLE