184 Comments
- TroubleInMind, on 11/10/2007, -7/+52If Ron Paul invented Ruby, you can bet people around here would feel differently about it.
- bffoley, on 10/19/2007, -9/+38Python!
- forrondur, on 10/31/2007, -11/+38buried as ***** -> no "real" reasons at all...
- dmazzoni, on 10/24/2007, -8/+3110 reasons not to use Ruby:
1. It's slower than similar languages - in particular, it's slower than Python, Perl, and PHP, and a lot slower than C++ and Java.
2. No built-in unicode support (and poor unicode support in the standard library). Want your application to support multiple languages? Too bad. Java and Python have done this practically since the beginning.
3. Fewer libraries, compared to Perl, Python, and PHP. For example, no good XML library, no good image library
4. Only one "killer app": Rails - which means that finding good examples of non-Rails Ruby code is hard
5. The language isn't evolving quickly. Java and Python come out with new versions every year or two, often with really cool new language features, but without breaking backwards compatibility. Ruby doesn't.
6. Bad error messages from the ruby compiler/interpreter
7. Bad documentation
8. Small user community
9. Even Rails sucks; many people who have tried to make it scale to a large web app have regretted it.
10. Smart programmers love Ruby, but beginning and amateur programmers have a hard time with it - it's more abstract. Makes it harder to share your code with others and collaborate with people who might have useful code but aren't as clever as you. - Crath, on 10/27/2007, -19/+41Ruby is such a fanboy language.
everybody that likes ruby is such an extreme fanboy its crazy. There even making articles on why others should use it instead of other languages... like this one.
use what you want, my god - sintaxi, on 10/31/2007, -3/+25funny, on my screen it says "10 reasons to learn Ruby, with code examples." not "***** other laguages up the ass"
- anodari, on 10/17/2007, -1/+21I agree, it would be better titled "10 things I like in ruby".
- thebrawl, on 10/27/2007, -15/+35Ruby is to programming languages as Tonka toys are to construction equipment.
- beattycoon, on 10/19/2007, -4/+20OK so why did my mouse pointer turn into a middle finger when I went to digg you down? You sneaky bastard you.
- Shadowhawk109, on 10/31/2007, -0/+15Don't use goto's. You will be attacked by velociraptors.
- fugazied, on 10/17/2007, -9/+22You can write sites that scale like Digg/Facebook and Myspace Oh wait, thats PHP and ASP. But you can write sites that scale like Twitter. lol. Why compare Ruby to PHP4 (where are exceptions!), PHP 5 has been out for years now.
- abyssknight, on 10/17/2007, -3/+16There have to be better reasons. Honestly, who uses PHP exclusively? I would venture most PHP devs are using a mixture of languages and none of these language grounded reasons FTA really make any difference. Personally, at my office on my station alone I can be working on Flex, PHP, JavaScript and even JSON/XML feeds all at the same time. Why should I add Ruby to my skill set other than to get bought by Yahoo?
- thrikulam, on 10/17/2007, -6/+18I AM A BANANA!
- rupertmorris, on 10/24/2007, -3/+1511. Because the vast majority of webservers don't support it.
- Phoenyx, on 10/17/2007, -1/+12Yup: smaller, easier to use, and more fun.
- Hgoale, on 10/31/2007, -1/+12Number 3 is wrong, you can still use semicolons if you please, so those one-lined programs can still be written. Granted that's not a good thing typically, but in case that's a turn off for anybody. :)
- inv1ctus, on 10/31/2007, -4/+14I'm almost ashamed to say the first time I read the title I swore it said "10 reasons to learn rugby". >< I'll just be on my way now.
- bishop1847, on 10/17/2007, -7/+17Maybe I'm just used to prog.reddit (where functional languages are king), but I don't get why so many people here think Ruby is a kid's language. If anything, PHP is the language for amateurs. It has really bad OO implementation, its method signatures are *****, and it's just really, really badly put together.
- Terr01, on 10/18/2007, -1/+11I'd tap that.
But seriously, at what point does temporary convenience collide with the maintenance programmer and "You call this seething hell an architecture?" - GMorgan, on 10/24/2007, -2/+11That's not a reason for everything being an object. That's a reason for some things being objects. I could equally say that math.sqrt() wastes a whole math and a full stop. This purity stuff is *****, some things are better as objects, others are better simply as functions and primitive data. Horses for courses.
- GMorgan, on 10/17/2007, -2/+11That's because Ruby doesn't really offer anything new. Just a lot of things we've all used in other languages for an age. Even Rails has equivalents among other languages. Personally I like the look of Scala, now that's an interesting language as opposed to a rehashed sub set of the same ideas. (of course Scala isn't really new to Lispers).
- inactive, on 08/11/2008, -5/+14Ooooh, with Ruby, you don't have to take one tenth of a second to type a semi-colon! And you can use objects rather than functions...which makes no difference whatsoever, but what do I know, I'm just a stoopid PHP programmer!
- DigitalJester, on 10/17/2007, -5/+14and you'll comment because you'd be the first.
- debuggercll, on 10/17/2007, -5/+14MY ANUS IS BLEEDING!
- elphkotm, on 10/17/2007, -4/+12This is FUD. Just because you chose the wrong tool for the job doesn't make the tool suck. If you want to go ahead and rebuild what already exists, you could have done that in LISP for all we care. Needless to say, only one point in this article was about Rails. Unless you've spent some serious time understanding the finer points of building scalable web sites, I suggest you and the parent poster close their ignorant mouths. Facebook is more than just some CMS package they downloaded, added a few lines of code to, and said YEEHA! The guys at Facebook are brilliant programmers who vertically integrated multiple programming languages to do each task as needed. Also, MySpace is a very poor example of a site that scales well under pressure. Scalable web sites are much more than the programming language used. Nothing scales out of the box. Period.
- EXreaction, on 10/17/2007, -3/+11I hate the lack of a semicolon in code (mainly I mean javascript, because that is the only code I work with where it is allowed).
Lacking the semicolon, even if it is allowed, is just asking for trouble. Is it really that hard to add a semicolon to the end of a line? I'd rather get a big error because I accidentally missed one, then easily fix the error, rather than get some unknown, confusing error and be unable to easily see the cause without having to re-read all of my code.
Lazy programmer = bad programmer. - Tyr7BE, on 10/18/2007, -9/+17Yes. It is the latest fad among children who don't understand the concept of using the right tool for the right job. There's your reason.
- GMorgan, on 10/17/2007, -4/+12Python has Perl style regular expressions via the re module.
http://www.amk.ca/python/howto/regex/
Ruby is only a revelation to people who have not seen a programming language other than Java. Python is as good as it in every way possible. Still I dislike the whitespace as program syntax hacks. - debuggercll, on 10/17/2007, -1/+8That was one of my problems with it at first too. I didn't like languages without semicolons and methods that made sense at first glance. Then I had to make a few web apps at work and got into Ruby on Rails. Now Ruby has grown on me like the fungus that I've developed from sitting in front of a computer programming in it.
- Ademan, on 10/17/2007, -0/+7or "10 things that are available in lots of other languages and the remaining ones are mostly unimportant"
or "a couple things that python doesn't have that you can have, all you have to do is cut your speed in half!" - GMorgan, on 10/18/2007, -4/+11Whitespace is for visual structuring, not for language syntax. Both Python and Ruby get this very wrong. Whitespace is for my own uses, to organise the code in whichever way I feel gives it best readability.
To give an example, I keep all my code so it can be read on a 80 character wide screen*. This occasionally means a statement must be split across lines. It could cause all sorts of problems if the interpreter suddenly has to decide which new lines are terminators and which new lines aren't. No problem with a semi colon.
*couple of reasons. The obvious historical one but I also like reducing the amount of screen space used by a text editor so I can get other apps visible at the same time. - Ademan, on 10/19/2007, -1/+8Well, being able to use objects rather than functions IS a HUGE advantage, or rather use functions AS objects, because that allows you to do things like delegates, and even things like generics quite easily. As for semi colons, I don't know if i love them or hate them, certainly occasionally it comes in handy to be able to put a couple of things on the same line rather than stretching it out, but i think the majority of the time, avoiding semicolons IS nice.
- DevlinD, on 10/17/2007, -1/+8I used to glance over Ruby and Rails as just a fad, but seeing as how they are still here and growing I decided to give them a shot. PHP has usually been my language of choice for building smaller sites for client work however I really really like ruby and rails for this. Granted it is a little limited in some areas compared to PHP but the overall cleanliness and ease of maintenance (for smaller sites) makes up for it.
I use Java all day at work and I have always loved the language and there is definitely nothing major that can be done in Ruby that Java can't do. However take a look at places like Thoughtworks and names such as Martin Fowler who tout Ruby as being an enterprise scalable solution. Maybe if you just have more experience with the language you can really get it that far. A friend once told me that to really find the advantages of Ruby you dive deep into the language and learn all the nuances, Rails is just some flash in the pants that helps out with architecture. And I do believe him.
All that being said all programming languages basically have the same minimum functionality, its choosing the right language for the problem that counts. - etandrib, on 10/17/2007, -4/+11The article wasn't really that informative and I found the text hard to read on the blue. Ouch.
- Gamer2k4, on 10/17/2007, -0/+71. Like it says, these are all features of other languages. Not a compelling reason to switch.
2. I'm not sure that's as "elegant" as it is unstructured.
3. A lack of semicolons also prevents you from splitting code onto multiple lines, which can be important for formatting reasons.
4. Not bad, but it seems like an unnecessary waste of memory to make objects out of 1 bit booleans.
5. I can't decide right away whether this is good or bad.
6. Real programming languages allow you to extend other classes, giving the same effect but with less danger of screwing up crucial pieces of code.
7. So it's BETTER to restrict inheritance?
8. I have never used XML in programming and I don't see how this can be justified as a reason to LEARN Ruby (as the average beginner won't care about XML).
9. I don't really see the reason for this, but that might just be my ignorance of Ruby.
10. Again, another feature that you can get in other programming languages. Why should we switch when we can do the same thing with a language we're familiar with? - superkendall, on 10/17/2007, -6/+13Just to combine two large story vectors, Leopard ships with Ruby support included out of the box (including Ruby on Rails) and Ruby support in XCode.
- Gamer2k4, on 10/17/2007, -0/+7Nothing would get printed...I'm not sure if that's what you intended or not.
- Razster, on 10/17/2007, -1/+7And his comment will be quickly dugg down and he himself will be banned by thousands.
- Bisclavret, on 10/17/2007, -5/+11crap, i thought it read '10 reasons to learn RUGBY'
stupid me. - bootle, on 10/17/2007, -0/+6Every single one of those points applies to python except 10. Why bother learning ruby if I already know python? Does ruby have the numeric/scientific libraries?
Ruby does have one thing I really wish python had: the ability to write large numbers without counting zeros. 1_000_000_000 vs. 1000000000 - nullx42, on 10/18/2007, -8/+14Yes ruby is nice, but does it support the endless amount of goto's i code in to Visual basic? Nothing compiles ***** better then visual basic... and by ***** i mean ***** code.
- Dralex75, on 10/27/2007, -0/+6try it.. For Ruby, the number '0' is true.
Thus, it does print.. - dafragsta, on 10/17/2007, -7/+13Nevermind the fact that you can cobble together an actual REAL website with nothing more than a good template you designed yourself, some PHP skills and Drupal that will scale, have the CMS, authentication, and security already rolled up for you, with YEARS of testing and perfection.
I deluded myself for a whole ***** year over Rails to hit my head on every conformist wall, lack of pre-rolled code (plugins don't count because a plugin is not a turnkey solution with tight navigation, permissions, and CMS integration already factored in.)
Rails and Ruby are great if money, time, and carbon footprint (you know, for all the servers you are going to spend a good portion of that money and time on) are not a concern. - OneAndOnlySnob, on 10/17/2007, -0/+6"prog.reddit (where functional languages are king)"
Cool. Goodbye, Digg / Programming. Hello, prog.reddit! - bruenig, on 10/18/2007, -1/+7Could you paste the digg algorithm next time you make a comment like that so we can look through it to see if in fact this passed muster.
Thanks - dafragsta, on 10/17/2007, -1/+6I think you are reading into what I was saying. While I do stand behind a turnkey site like Drupal in this day and age as being scalable (multiple fault tolerant application servers, load balancer, images and static files server, and a bank of database servers offloading certain tables to specific machines. Having worked at a major wedding dotcom that rhymes with "the rot," I've seen what an enterprise infrastructure looks like. I also know, without divulging anything, that some of the elements of that site were just off the shelf products. It's asinine to say that every application must be coded like Facebook. Who gives a ***** about Facebook? They are one tiny corner of the world.
My point is that Rails is pitched as the hot new web Framework, and without Rails, Ruby has no more purpose in this world than any other scripting language. It is very nice to look at, but who seriously gives a ***** what a language looks like when the payoff for that beauty falls in the negatives. Rails does not make the most of the hardware you give it. Python does, PHP comes in a close second with APC and PERL I'm sure comes somewhere between the two, depending on the platform. Ruby is a dog on all platforms compared to these.
So you get a nice language that is great in theory but completely lacking in actual products that give you a "nearly there" solution to a lot of common problems, in this discussion, that problem is an optimal balance of flexibility, performance, and pre-rolled code to save time. Rails and Ruby fail on those fronts and that is why sites like Digg and Pownce (if we are going to name drop) use PHP and Python.
Trust me, I drank the Ruby kool-aid too, and now I regret it. - Ademan, on 10/24/2007, -0/+5Well, it IS enough of a reason.
1. as a programmer you should be familiar with many languages
2. writing as little code as possible is key (which can be affected by the syntax)
3. maintainability is key, which is where easily readable syntax comes along
(oh yeah, and I really don't feel ruby is readable at all, i HATE $tupid @ss n@me w@rts like T#IS, i'm looking at you too perl...(and php)) - Dralex75, on 10/17/2007, -0/+5try it.. In Ruby '0' is 'true'...
It does print. - Tetraca, on 10/17/2007, -1/+6Of course this is all subjective. I actually like working with PHP - it gets the job done and it gets it done in a way which works very well for me. I personally hate object oriented programming. Procedural programming organises things in a way which makes more sense to me. I find it to have a better logical flow.
- bishop1847, on 10/24/2007, -3/+81. Sure, Ruby might be slower at working with large amounts of data than C++ or Java, but web applications are pretty light and usually are crippled by poor database design and/or system design. I've seen monstrous applications that are blown away by Rails simply because they were poorly constructed.
2. Need to look into this more (haven't done any internationalization yet.)
4. Rubyforge has a wealth of both Rails and non-Rails applications. Rails has satisfied 90%+ of the needs of web apps I've created.
5. Check Ruby 1.9
6. I'd prefer a stack trace ANYDAY to spitting out errors throughout a rendered PHP script.
7. The docs have satisfied all the questions I've ever had. Sure, PHP has great docs, but it's needed due to the large incoherency in method signatures.
9. Again, most problems have to do with bad design, and not the language/framework. Rails is mature enough to handle my needs. (We're porting over the website of a major US airline that is currently running off a PHP app to Rails, in our developmental environment and in benchmark after benchmark, Rails + memcached (again, database) has outperformed PHP.)
10. Having come from Java/PHP, development is more agile than ever now that I'm working full time in Ruby. We have 5 guys working off one Rails app, and with Trac, etc. we're having no issue when it comes to project management. -
Show 51 - 100 of 181 discussions

What is Digg?
Check out the new & improved