Why Ruby?


I’ve never seen so many grown men cry in the same room! So much ironically hypocritical criticisms above it’s making me feel a little sick. Get over it…and welcome to Ruby :slight_smile:

Though I have an intimate relationship with Ruby, I will reiterate Dmitriy’s point above: Play w/ Scala is an excellent combo and makes more sense coming from a .NET background.

Still, I couldn’t be happier you went with Ruby.


“I do sometimes pine away for the bad old days of .NET when we could build pages that serve in well under 50 milliseconds without thinking about it too hard. Interpreted languages aren’t going to be able to reach those performance levels.”

Umm, with mod_perl I consider 50 ms to be dog slow. I have dynamic pages coming back in 2 ms (includes restoring the session from memcache) on a 3.3 GHz Xeon. Once the code gets cached in the Apache process, Perl can be very fast.

1 Like

I find it amusing that “Ruby isn’t cool anymore” is a reason for adoption. The folks who thought Ruby was cool years ago put in the work to make it reliable and stable; they could see the promise, and thought that it’d give them an advantage despite the hurdles they had to overcome.

There’s nothing wrong with the conservative approach, I suppose. But in my opinion, jumping in to start using a technology when it seems like the momentum is fading in favor of more capable platforms (Scala, in my case) seems backwards. Some of those of us who have moved on (I spent a fair bit of time writing Ruby before I switched to Scala) decided on the new option not because it was “cool” but because it offered us more. The same reason that led me to start using Ruby in 2005 instead of Java and Perl, led me to Scala in 2008.

This isn’t of course to say that Scala is some sort of “language for the ages” either - of course it has its warts; more that, by choosing a language partly because it’s “no longer cool” you’re perpetually dooming yourself to mediocrity; why not use the best tool you can find, rather than worrying about popularity one way or the other?


You say Discourse is build on Javascript like its a good thing… Its not. This is not what we’ve been fighting for these past 15 years.


As much as I like Discourse, man do I wish you had chosen Python.

Me too.


@ta15151: That’s only one definition of wean. Another definition, (the one relevant here) is: "to accustom to something from an early age —used in the passive especially with on "


Now if this was done using PHP, first of all most people will complain, saying how bad it is, and it is just like any other of the popular forums, but it will be very easy to install. So much for a run on sentence.

But people like complaining. Complaints in the technological field is not a bad thing; meaning lot more people will fork the project and try to fix the short comming. You will get much more useful commits, and people who are currently using vBulletin or phpbb may give it a try.


I think its awesome that Jeff chose ruby. Good job! He nailed his colours to the mast ref hating PHP, wanted an opensource option that had some good deployment options & momentum as a web language. It’s an obvious choice.

Now can somebody make a fabulous CMS based on rails with loads of investment backing & everything please? yipee.


“However, It’s also worth mentioning that Discourse is, if anything, even more of a JavaScript project than a Ruby on Rails project”

I think that’s the most interesting point. For web apps, it’s becoming less and less important what the back-end is built on. If the server-side function is mostly a RESTful API, there are great options for building this on nearly every platform (including .NET).


A lot of forums look like piss but Discourse looks great. I’m glad it was built on an open platform. Thank you for putting so much time and effort into creating it!


really curious about your workaround for compile time type safety. Perhaps http://yardoc.org/ was used.

On to the source


https://github.com/discourse/discourse/blob/master/app/controllers/application_controller.rb Nope. No yard or anything. Bold.

Admittedly most controller code / or code I write in general for office does not need static typing that badly. But for deep algorithms like I had for uni, when you need to refactor again and again as you get better understanding of the algorithm, python became a problem and I had to switch to java.


And it was Anders who created typescript : http://www.typescriptlang.org/ I wouldn’t put my life on the line with ruby without something similar


How well supported are Ruby on Rails and Postgres on shared web hosting these days, especially at the budget end of the market?

Last time I looked (which was admittedly a while ago), most of the cheap-and-nasty web hosts limited you pretty much to PHP and MySQL, and very often old versions at that.


Today’s language-religious wars are .NET vs. Ruby vs. Php vs. Python vs. Java. 30 years ago it was C vs. Pascal vs. Basic. 30 years before that it was Fortran vs. Cobol vs. Assembler …

The arguments are constant over the decades. Only the names change.


The servers are so much cheaper with linux at the low end, which is where the majority of forums are hosted. If you scour lowendservers.com you can find dual core 2gb servers for $5 a month while Windows ones always start at 20 or more.

As far as databases are concerned, you can run all the alternatives on Windows very well but realistically no hosts offer them, at least affordable ones (ignoring Go daddy).

If Micros oft focused on this as well as just the enterprise I’m sure the whole .NET OSS scene would open up a bit more.


"Ruby is only good for web apps. "

You obviously don’t know the first thing about Ruby.

Ruby is great for web apps, it is great for sysadmin scripts, it is fantastic for developing security tools.

To the people complaining about how hard rails is to deploy I just deployed a web app last week

  1. Make sure Ruby is installed, I installed it from source, but you certainly don’t have to if that is scary to you.

  2. gem install passenger

  3. passenger-install-nginx-module

  4. Open the nginx config and point it to your rails public folder

  5. install whatever db you are using

  6. Do the normal rake tasks to set up your database

Took 15 minutes from start to finish.

It is also easy to deploy a rails app and any other kind of app including PHP on the same server.

To the people saying PHP is better because you can stick it on $5 hosts LOL and that will boot him off before he gets near even moderate traffic.

Python would have also been a good choice but IMO it is an inferior language compared to Ruby. Definitely lower on the blub scale than Ruby. Python makes obvious things explicit at the cost of more syntax with no benefit and the enforced whitespace weakens the language.

If you have to ask why it weakens the language you are not qualified to discuss languages.

If my only two choices were Python or Ruby the only thing I would use Python for would be for graphics and scientific and mathematical apps and maybe for desktop GUI’s. Everything else Ruby is better suited for


Jeff, excluding the hardware requirements, if you were presented with a new web project today (general web & database app), do you think you would lean toward Ruby or ASP.NET MVC?




“But why Ruby? Well, the short and not very glamorous answer is that I had narrowed it down to either Python or Ruby, and my original co-founder Robin Ward has been building major Rails apps since 2006. So that clinched it.”

Why not use Go?



To all those who say serious software shouldn’t be built with Ruby and it isn’t a good language and all that, I have only one thing to say…

Every satellite launched by Ball Aerospace in the past few years was ground tested with a Ruby application.

End of statement.