Sponsored by Travelzoo
Take Advantage of Ridiculously Low Holiday Airfares view!
travelzoo.com - Flights $52 and up for Thanksgiving, Christmas & New Year. But move on it now.
93 Comments
- hchaudh1, on 10/12/2007, -2/+17Yayyyy....another Java is dead/ROR vs Java debate.
Both have their place. Ruby has simplicity and code beauty (yes that matters) going for it. Java has strong typing, vast libraries going for it.
In the meantime, please note that 2 major Ruby guys have been picked up by Sun. I would watch Groovy real close if I were you. - mailbox125, on 10/12/2007, -4/+15how is it that comparing a language and framework to a language is a valid comparison? i would understand a ruby vs java comparison, but java and rails... wtf?
- nofxjunkee, on 10/12/2007, -1/+11Man, I hate it when people compare a framework to a language. You can compare Ruby to Java, and Ruby is not replacing Java, and you can compare RoR to [java web app framework of the month].
Java isn't going anywhere, and RoR looks to be here to stay (I think it's a nice framework and own the books, etc), but neither one is replacing the other. Even if RoR somehow became the only web app framework anyone used, there would still be a ton of java systems out there doing nothing related to web apps at all. - puggy, on 10/12/2007, -8/+15Don't forget the lack of comprehensive documentation and authoritative central information. Most of the responses you get at the forums are "Go buy the book", and etc. The wiki at the rails site is a mess, and there is no stable IDE around. This is not saying it's impossible to deploy solid Rails apps, but these things are just holding back enterprise adoption.
- inactive, on 10/12/2007, -1/+9ok, ok, so perhaps the the assembly/C comparison isn't exactly analagous. But back in the days of the first C compilers, it probably was quite a bit slower; but C took over nonetheless because it was easier to code in.
It's just my opinion that ease of coding will eventually win out over speed of execution; thus we should be judging a language on it's grammer and syntax specifications, not necessarily on it's current implementation, as that can always get faster.
and like I said, just take the slow parts and code them in C, it just takes an "#include " on the C side, and a " require 'mkmf' ; create_makefile("code.h") " on the Ruby side. - WhiskerTheMad, on 10/12/2007, -1/+6I have to agree with rootneg2 on this one.
"I'm not saying Ruby is fast. But for web applications the difference might not be noticeable."
Absolutely. DHH has flatly stated that the Rails framework is not for everybody; if you're a major bank needing 20,000 transactions a minute then Rails is not for you. If you have a major investment in a legacy technology (think COBOL), then Rails is not for you.
Rails is for the 90% of us who just need software that works, and that can be developed quickly. Our business (200 employees, 7500+ customers and growing) is running our primary business app in Rails off of a single Rails server and a single database server. Now that we've got our core software going and the business is growing, we have to money to buy another server. - WhiskerTheMad, on 10/12/2007, -3/+8"People won't implement Ruby into large applications if they're going to run 200 times slower than their existing system, regardless of how much easier it is to program."
2 new servers + extras: $6,000
Lasts: 4-5 years
2 new developers + extras: $100,000/year + bennies
Lasts: 2 years until burnout
What were you saying again? - inactive, on 10/12/2007, -4/+9So what? assembly blows C out of the water, but I don't see many people coding in assembly anymore...
If you're worried about speed take the slow parts of your Ruby program and code them up as a C extension. Mixing Ruby and C is pretty painless. - mikaelc, on 10/12/2007, -1/+6@sanity
As far as I can tell the only test in the Programming Language Shootout where C is more than 600x faster than Ruby is the Mandelbrot test.
A more interesting test (for web development) would probably be the 'regex-dna' (string searching using regular expressions) where Ruby is only 30% slower than C. In fact Ruby is faster than Java on this test.
I'm not saying Ruby is fast. But for web applications the difference might not be noticeable. - podgey22, on 10/12/2007, -7/+11Nobody has mentioned the fact that ruby is just one of the slowest running languages out there.
http://dan.corlan.net/bench.html
There's another one with more benchmarks but I can't find the link right now. Java performs a lot better than people give it credit for. - WhiskerTheMad, on 10/12/2007, -3/+7"If you want to back up your own "Misleading statement", find me a Ruby interpreter that runs faster than Java."
Actually, I believe Matz & crew have already started merging YARV into the ruby trunk for 2.0. YARV is a fast Ruby VM, designed to address the whining of pussies who claim that Ruby interpreters are too slow, or not "enterprisey" enough. - DevlinD, on 10/12/2007, -2/+6I have never written anything in Rails (done a bit in Ruby but nothing spectacular) and I am a Java freak until I die. I really dont see what the big problem is with people thinking that Java is so complicated....you're a ***** software engineer get over it.
But I cannot argue the merits of Ruby on Rails as a whole. I just recently left my work as they were switching their main product from PHP to Rails and I am really interested to see the results. Just the fact that Rails is provides the most solid testing framework for web apps is almost reason enough to use it. Yeah it gets stuff done quickly, but without tests (automatically updated tests at that) it would be an nightmare to maintain any type of system that is worth while maintaining. I still like Java for the fact that it runs faster and is more secure...but if you have people like Martin Fowler saying that Rails is quality for enterprise apps then there must be a lot of truth to that statement.
If someone were to develop a similar high quality framework for Java though I would still use that over Rails. Yeah there are a few, but none that are as complete as the Rails package IMO.
It still boggles me why people think Java is so difficult though. Its just syntax people. - Phocion55, on 10/12/2007, -5/+9"Nobody has mentioned the fact that ruby is just one of the slowest running languages out there."
Misleading statement.
It's not the "language" that is slow....it's the interpreter. There are multiple interpreters out there.....some run better than others to my understanding. - Phocion55, on 10/12/2007, -3/+7True. But I never said Ruby was better/faster than Java. I was saying that simply reporting "Ruby is so slow" on one interpreter is misleading.
The most important issue, however, is knowing how and when to best implement the two technologies. - Judgement, on 10/12/2007, -11/+15I still think that Ruby On Rails is great for getting a quick & simple app up and running, but Java is more suitable for enterprise apps that will require maintenance and updates over a period of years.
- WhiskerTheMad, on 10/12/2007, -1/+4"i wanna know how you guys keep on top of all this new stuff ruby, ruby on rails, rube and java, etc?"
Ruby is ten years old. The Rails framework, I believe, just turned 2. They've been around for a while, so they've had time to work their way into the programmer conciousness.
"A lot of people that evangelize for one language only in fact know that one language."
These people are not programmers. Programmers do what they do because they love the work; nobody can last more than a couple of years in this stupid, hair-pullingly frustrating industry unless they love the work itself. People who get into computers to make money are the world's biggest suckers.
Good programmers always have an eye out for the next new thing that will make their job more fun (i.e., take a lot of the stupid, repetitive crap that programming entails). There are a massive number of news and technology sites that can keep a programmer up to speed with the latest and greatest. - locnguyen, on 10/12/2007, -2/+5I've been learning Ruby for the past few months and so far it's promising. I don't see it gaining on Java and .NET anytime soon, mainly because corporations aren't so quick to change. We'll see it a lot more on the web but not in big business until it's proven itself. I'll keep my day job as a Java developer for now.
- covertbadger, on 10/12/2007, -1/+4These sort of statistics make for great soundbites but unfortunately do not have the wide applicability that many people attribute to them. As an example, where I work java is used for the middle-tier and powers our website (we have sustainable peak rates of a million hits per MINUTE) as well as our publically-accessible API and various other sub-projects. If we tried to do this in ruby, we would bankrupt ourselves buying enough hardware to stay up. The 'write the perf-critical bits in C' argument fails since our userbase is split into many classifications of style and sophistication, and each type of user exercises different parts of the system (the 90%/10% stat is MILES off-base for us), so we'd end up writing most of the app in C. If we used assembly, we might well be faster but we'd be bankrupt because the software would have taken an aeon to develop and first-mover advantage would have long since eroded.
Sometimes, it's the core idea that is critical, and NOT the tech (despite what people like Joel Spolsky or Paul Graham like to think). In these cases, java fits well because it has reasonable development speed with decent performance, and sometimes that middle ground is crucial. Disclaimer: I'm not a java dev myself (any more), and outside of work I write open-source stuff in python, ruby, and Haskell - I just realise that there is a time and a place where java is the right choice, regardless of how much more trendy ruby might be. - codahale, on 10/12/2007, -1/+4rickcarson, seriously: "I call BS. Ruby is derived from Perl."
That is, on its face, patently ridiculous. Ruby, in its first incarnations, was *influenced* by Perl. It is not a descendant of Perl. It is not a superset of Perl. Most of the Perlisms in Ruby were removed years ago. You may as well claim that Java is derived from C++ and therefore requires that the programmer pay close attention to pointers. I mean, curly brackets, right? - seanmc303, on 10/12/2007, -1/+3WhiskerTheMad, good point. Not only should a application be measured on clock cycles, but it should also be measured on time taken to build the application. I would wager that almost any Ruby on Rails solution can be developed faster than comparable Java application. Deploying a Ruby based application with some extra clustered servers will cost less than the money spent developing in another framework. With YARV on its way into the Ruby language, I doubt that clock cycles will be much of an issue.
- speel, on 10/12/2007, -2/+4As a non-programmer .. i wanna know how you guys keep on top of all this new stuff ruby, ruby on rails, rube and java, etc?
- bikebill, on 10/12/2007, -4/+6Java has a huge base. Ruby on Rails is super slick & fun to work with. You don't have to choose just one. Learn and love (or live with) both. If you have a solid background in C.S., the language won't be a problem. BTW, I love Prolog.
- bpapa, on 10/12/2007, -5/+7They don't. A lot of people that evangelize for one language only in fact know that one language.
- WhiskerTheMad, on 10/12/2007, -1/+3@bikebill:
Well said. Except for the Prolog thing. Pervert. :) - 0siris, on 10/12/2007, -9/+10This just in: Look Out C++ here comes PHP+Javascript!
- inactive, on 10/12/2007, -1/+3ack, wrong reply....
- noahhoward, on 10/12/2007, -5/+7I felt it was pretty damn easy to update a Ruby App. I'd say the security issues will be what hold it back, for a little while.
- bradleyland, on 10/12/2007, -2/+4@rickcarson
If you can't read Ruby, you should probably check in your programmer's hat for good. I'm a project manager who learns the programming languages that my developers will use, so that I don't have to look at them cross-eyed when we talk about the technical aspects of an application.
This means that I am by no means a hardcore programmer, and of all the languages I have reviewed to date, Ruby on Rails was the second easiest to pick up. The easiest being PHP, but that was back when PHP apps were mostly written procedurally, and MVC meant using "require('layout/header.php')" at the top of your page and "require('layout/footer.php')" at the bottom. - CaughtThinking, on 10/12/2007, -0/+2dave you're kidding me. i know zip about sys-admining stuff but installing java on windows/linux/solaris has been easy. after which the coding on one and testing/deploying on another is completely transparent. either you dont know what you're doing or you're lying through your teeth :
- bradleyland, on 10/12/2007, -2/+3Trading machine time for developer time is one of the great little rebuttals used in the RoR community all the time, but it doesn't solve the problem entirely. You still have to get down to the speed of a single Ruby thread, which will run your application on a one-to-one relationship with your user, and I've seen complex actions in Ruby take too damned long to deliver a response to the user when compared with Java or .NET apps of similar nature.
I really, really, really (yes, three times really) like RoR from a development standpoint. We just finished the first phase of a pretty sizable ($50k) project, and it has been AWESOME for delivering a cutting edge application at a fraction of the cost, but the performance aspect is really concerning to me. - san1ty, on 10/12/2007, -7/+8Just to keep things in perspective, remember that Ruby remains an extremely slow language. Consider that in the Programming Language Shootout (see http://shootout.alioth.debian.org/), Ruby is over 60,000% slower than C (yes, that is *four* zeros), java is about 90% slower.
I'm sure the Ruby crew are working to address this problem, but until they do, Ruby will really only be suitable as a relatively thin layer between the web server and the database. - wallen3, on 10/12/2007, -1/+2Here's a cool video of Matz's keynote from RubyConf 2006:
http://travelistic.com/video/show/985
He's actually a good speaker! - oneovernone, on 10/12/2007, -0/+1Compare rails to Grails - grails.org . Grails is picking up on RoR fast, and even though it's an early version it is very mature and stable.
It's built on Groovy and uses Spring/Hibernate/SiteMesh so all your stable, healthy, Java libraries are already there. And it runs in any standard Servlet container/ Application server. It's the _best_ way to go for existing Java programmers/ Java shops IMHO. No migration/porting/interop woes because it's still all standard JVM bytecode under the hood.
So Grails gives you the benefits of the Java platform w/ the terseness of a dynamic language and RAD web framework. - CaughtThinking, on 10/12/2007, -0/+1oh i dunno, yahoo, google, ebay come to mind... lol. oh wait ror has BASECAMP stop the presses!
- mailbox125, on 10/12/2007, -1/+2@rootneg2
your argument works at a conceptual level but falls apart at a technical level. first off any decent compiler will generate better assembly than most people can write.
the analogous of assembly in ruby would be byte code. even if a person where able to write the most elegant byte code possible (is that even possible?) its not going to make much of a difference, the bottleneck is in the vm. - bradleyland, on 10/12/2007, -1/+2@rickcarson
"If so, by all means let us continue this genitalia waggling."
Dude, the only one with their pecker out here, is you.
I just disagreed with you that Ruby is difficult to read. I'd expect such an uber-programmer as yourself to find it easy as well. - docbaily, on 10/12/2007, -1/+2"Look at this sweet program I wrote. It's FIVE lines of code and it lets you telnet into a glass of orange juice."
-Every Ruby programmer ever - Phocion55, on 10/12/2007, -3/+4How can you compare Java and Ruby/RoR and not mention Hibernate?
- hchaudh1, on 10/12/2007, -7/+8While I agree that Ruby will be the slowest as compared to C++ and Java. But those numbers are just BAAAD. That's not true.
- mailbox125, on 10/12/2007, -1/+2@rootneg2
its nice when digg works. thanks for a thoughtful response. - dc2447, on 10/12/2007, -3/+4Can you name one successful Web2.0 startup using J2EE?
- inactive, on 10/12/2007, -1/+2wow, Prolog? I don't hear that one very often outside of theory textbooks
I thought everybody was addicted to OOP these days :o) - rickcarson, on 10/12/2007, -5/+6Ruby on Rails is a threat to PHP, not Java.
That said, Java is picking up RoR's tricks faster than RoR's is picking up Java's. The latest versions of Netbeans have some interesting stuff for connecting a database to the web with little or no coding.
So Ruby is in the PHP niche, except ... how many hosting providers will let you use Ruby? Java has the same problem, no one hosts servlets.
So Ruby is crippled in its own niche (where it is having the stuffing kicked out of it by PHP), and what it does do well, Java does just as well or almost as well... hmmm...
Then there is the whole 'easy to read' thing. I call BS. Ruby is derived from Perl. Yes, it is more readable than Perl, but what isn't?
In summary:
Ruby is fantastic for anyone who wants to jump ship from Perl. For everyone else, there's Java. - codahale, on 10/12/2007, -1/+2(Digg hates angle tags, so my funny Ruby code wouldn't be syntactically correct. Grr.)
- psylence, on 10/12/2007, -3/+4Hmph, and here I was thinking Java was more than a web application framework. Good work Rails, more power to ya!
- 21chrisp, on 10/12/2007, -3/+3"The latest versions of Netbeans have some interesting stuff for connecting a database to the web with little or no coding."
*point* *click* *drag* *click* *type xml* *click* *pull down* *click* *drag* *type more xml* *click* *drag* *mouse over*
*snore*
*reload browser* *error* *oh i forgot to recompile* *point* *click* *drag* *click* *compile*
*snore*
*reload browser* *error* *oh i forgot to restart the server* *click* *pull down* *click* *drag* *restart server*
*thump*
*Wakes up 20 minutes later* Look ma! I did all that with just a little xml!!!! - igouy, on 10/12/2007, -0/+0san1ty wrote "over 60,000% slower"
You have chosen to exaggerate the performance differences by (1) presenting the differences as a percentage (yes, you added *two* zeros) and (2) presenting the largest difference on any of the benchmarks as though it was an adequate description of the performance measurements (as though Yao Ming's height was an adequate description of people's height) - decaff, on 10/12/2007, -1/+1http://tangler.com/
- docbaily, on 10/12/2007, -1/+1Does it have to be a "web 2.0" startup to count because there are more than enough financially stable businesses that use J2EE.
- gr8edchz, on 10/12/2007, -1/+1I'm glad to see a story about ruby and RoR. I second that comment though about the rails wiki. A lot of the information is old and it's full of spam pages. It's pretty useless as it is right now.
It seems difficult to find any good online tutorials that are actually keeping up with Rails development. The best I found was the beta book Agile Web Development with Rails. Many of the examples actually require edge rails in anticipation of Rails 1.2. I like that since it's nice to actually be a little ahead.
Ruby and RoR rock. Seriously, it's really, really good IMHO. But, it seems like the rails teams might want to pay a little more attention to the community home base. Do a little house cleaning perhaps. The ruby forge is a great resource though. Very active.
D.H.H. doing interviews saying that he doesn't care if anyone uses RoR or not because it's good for him and that's what matters might not be the best marketing one could do. That's not a direct quote from him mind you, just from an interview I recently read online.
As for Java... You can have your Java on Trails I hear. Ya Yah.. -
Show 51 - 93 of 93 discussions



What is Digg?