Why big websites either not using Ruby or abandoned it?

I’m pretty new in web development, I searched a lot about the best
back-end languages/technologies to use and I have been advised to use
Ruby from most of the search sources I reached. but on the other hand, I
discovered that some big websites were using Ruby but abandoned it after
a while like Twitter and Soundcloud, and the other like Stackoverflow,
Facebook, Google, YouTube, Wikipedia, linkidin, mazon, Pinterest, etc…
are never used Ruby
(http://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites),
and all I found in my search was like that “Use Ruby, it’s the most
preferable one, but we don’t use it” So, why? I’m taking here about huge
websites with huge data, is that too much for Ruby to handle? is it
perfect only with small, fast, or easy work?

Several reasons.

One reason given was speed. Ruby is not the fastest language for a
running application and big websites need speed to handle more users
logically.

Another reason is that big websites have more resources usually, and
rarely depend on just one language alone. So they use more than one
language anyways.

Also, while ruby is awesome, I don’t think there is a huge competitive
advantage compared to e. g. python - both have a similar niche and use
case, and there are more python devs than ruby devs too.

mruby will one day change the speed situation though. :>

Also, ruby was often used to prototype, and then when everything worked
well, things were rewritten in for instance C or Java (omg).

Hi everyone. I am new here.
So if there is no chance for Ruby to be used in big web applications,
what is the future of that language? Will it be still used only for
middle-size applications?

It seems that Ruby is now (or perhaps, it will be) rather a niche
language. One niche because Ruby is mainly focused on web applications
(although it is general purpose language) and in other fields it failed
in favour to Python, and second niche, is restricted for
middle-important applications. It sounds not very well for Ruby.

I think, You don’t understand what Muhamed R. wrote in his post! He
didn’t wrote that Ruby is dead or insufficient enough, neither he
neglect other topic related to that programming language. He wrote
clearly, that he is new in Ruby, and he is searching any informations
related to languages and technologies. So, he does his best now. He
wrote that he was advised to use Ruby, but on the other hand he faced
with many problems with application of that language. And he asked about
Your opinion and help. That’s all.

Muhamed R. wrote in post #1158250:

I’m pretty new in web development, I searched a lot about the best
back-end languages/technologies to use and I have been advised to use
Ruby from most of the search sources I reached. but on the other hand, I
discovered that some big websites were using Ruby but abandoned it after
a while like Twitter and Soundcloud, and the other like Stackoverflow,
Facebook, Google, YouTube, Wikipedia, linkidin, mazon, Pinterest, etc…
are never used Ruby

(http://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites),

and all I found in my search was like that “Use Ruby, it’s the most
preferable one, but we don’t use it” So, why? I’m taking here about huge
websites with huge data, is that too much for Ruby to handle? is it
perfect only with small, fast, or easy work?

I like how people new to programming talk about the beginning and end of
things. These topics and the “which programming language should i
learn?”. It’s the curiosity of youth to question things they know
nothing about.

How about you explore a few programming languages and frameworks, spend
some years working on real world projects, and THEN make your own
decisions.

Here’s something to get you going:
http://en.wikipedia.org/wiki/Lists_of_programming_languages

Merano Not_from_Italy wrote in post #1158283:

I think, You don’t understand what Muhamed R. wrote in his post! He
didn’t wrote that Ruby is dead or insufficient enough, neither he
neglect other topic related to that programming language. He wrote
clearly, that he is new in Ruby, and he is searching any informations
related to languages and technologies. So, he does his best now. He
wrote that he was advised to use Ruby, but on the other hand he faced
with many problems with application of that language. And he asked about
Your opinion and help. That’s all.

I’m not sure what the question was? Every application/website uses a
different tech stack and that choice is based on a million different
factors such as:
They type of content they deliver,
Their primary consumer base,
Their security requirements,
Other systems they need to integrate with,
The knowledge and expertise of their technical staff,
…etc.

As the link he pasted clearly shows, the backend stack often involves
multiple languages and tools, picked to best solve a particular problem.
Sometimes certain tools are used simply because a developer wants to try
something new.

The original premise of “I want to learn Ruby, but I don’t think I
should because Google and Amazon don’t use it” is nonsense. If you have
a chance to learn Ruby, DO IT. Ruby is a mature and excellent OO
programming language. Less talk more work.

Of course You are right. I agree. Your last explanations and
recommendations are clear and usefull. But generally, please keep in
mind, that newbies (I am newbie too!) have many various questions and
problems, and it is worth to be be indulgent to them (to newbies).

masta Blasta wrote in post #1158278:

Muhamed R. wrote in post #1158250:

I’m pretty new in web development, I searched a lot about the best
back-end languages/technologies to use and I have been advised to use
Ruby from most of the search sources I reached. but on the other hand, I
discovered that some big websites were using Ruby but abandoned it after
a while like Twitter and Soundcloud, and the other like Stackoverflow,
Facebook, Google, YouTube, Wikipedia, linkidin, mazon, Pinterest, etc…
are never used Ruby

(http://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites),

and all I found in my search was like that “Use Ruby, it’s the most
preferable one, but we don’t use it” So, why? I’m taking here about huge
websites with huge data, is that too much for Ruby to handle? is it
perfect only with small, fast, or easy work?

I like how people new to programming talk about the beginning and end of
things. These topics and the “which programming language should i
learn?”. It’s the curiosity of youth to question things they know
nothing about.

How about you explore a few programming languages and frameworks, spend
some years working on real world projects, and THEN make your own
decisions.

Here’s something to get you going:
http://en.wikipedia.org/wiki/Lists_of_programming_languages

at first thanks for your reply, then, I’m not new in programming I’m new
in web development, in fact I’m a software developer who works in Java,
Android, Assembly, and a little in web development front-end
languages(JS, HTML,
CSS), the thing here is I’m in my way to develop a new website which
(estimated to be) a huge one, and I already began to learn Ruby on
Rails, but learning Ruby won’t get me to know that using it will be a
good/bad idea, learning python won’t too, So, I don’t want to try to
launch my website then when it got to be huge it fails, So, I asked here
to get knowledge from experienced developers who will get me in the
right direction as they already faced a lot of issues that made them
know the answer of my question.

Robert H. wrote in post #1158264:

Several reasons.

One reason given was speed. Ruby is not the fastest language for a
running application and big websites need speed to handle more users
logically.

Another reason is that big websites have more resources usually, and
rarely depend on just one language alone. So they use more than one
language anyways.

Also, while ruby is awesome, I don’t think there is a huge competitive
advantage compared to e. g. python - both have a similar niche and use
case, and there are more python devs than ruby devs too.

mruby will one day change the speed situation though. :>

Also, ruby was often used to prototype, and then when everything worked
well, things were rewritten in for instance C or Java (omg).

at first many thanks for that sufficient reply, then upon searching I
faced the speed thing, It said to be it’s a little issue, as it’s not
that slow but it just has a little speed than python, but anyway it
exists.

then, Ruby is used a prototype and then things rewritten in C or Java?
OMG, Why?

Muhamed R. wrote in post #1158332:

Robert H. wrote in post #1158264:

Several reasons.

then, Ruby is used a prototype and then things rewritten in C or Java?
OMG, Why?

It’s not exatly the current situation.

Think about business :

  • you have an idea of a wonderful application
  • you need to see if there are a population which can enjoy (used) it
  • make your server with good methodology : good database design,
    architecture in subsystem, API design, tests …
  • then implement that stuffs in ruby : Rails/Sinatra …

So you have a first shot of application in production.
then if you have a million of user, you have a good foundation for
rewrite app in a new big architecture.

if you hav’nt so many user,

  • you can stop, you have not spent too much money
  • or keep your application as is, it work very well.

So, ruby is good for version 1.0,
for version 0.0.1 , (prototype, proof of concept…) I do not think
that Ruby is the best : perhaps lisp/haskell/tcl will be better.

Merano Not_from_Italy wrote in post #1158283:

I think, You don’t understand what Muhamed R. wrote in his post! He
didn’t wrote that Ruby is dead or insufficient enough, neither he
neglect other topic related to that programming language. He wrote
clearly, that he is new in Ruby, and he is searching any informations
related to languages and technologies. So, he does his best now. He
wrote that he was advised to use Ruby, but on the other hand he faced
with many problems with application of that language. And he asked about
Your opinion and help. That’s all.

Thanks for that marvelous illustration, and as you said It’s just I’m
asking about experienced developers opinions, as I don’t want to make a
mistake any one of them faced before, and may be it’s also precious to
know why such big websites abandoned Ruby.

Muhamed R. wrote in post #1158664:

why not completing my way with Ruby after have like million
user?

for big-charges applications, performances issues:

  • CPU times
  • memory usage
  • multicore cpu optimization
  • heavy socket(?)

And perhaps, good part of ruby are bad part for big project:

  • liberty in object model
  • no static typing

(by big project, I mean >100 developer
for >two years, >one days compilations…)

Reading golang literature can be useful for understand that:
http://talks.golang.org/2012/splash.article

Regis d’Aubarede wrote in post #1158409:

Muhamed R. wrote in post #1158332:

Robert H. wrote in post #1158264:

Several reasons.

then, Ruby is used a prototype and then things rewritten in C or Java?
OMG, Why?

It’s not exatly the current situation.

Think about business :

  • you have an idea of a wonderful application
  • you need to see if there are a population which can enjoy (used) it
  • make your server with good methodology : good database design,
    architecture in subsystem, API design, tests …
  • then implement that stuffs in ruby : Rails/Sinatra …

So you have a first shot of application in production.
then if you have a million of user, you have a good foundation for
rewrite app in a new big architecture.

if you hav’nt so many user,

  • you can stop, you have not spent too much money
  • or keep your application as is, it work very well.

So, ruby is good for version 1.0,
for version 0.0.1 , (prototype, proof of concept…) I do not think
that Ruby is the best : perhaps lisp/haskell/tcl will be better.

That’s a very great illustration :), despite I’ve an inquiry regarding
your words, why not completing my way with Ruby after have like million
user?

Regis d’Aubarede wrote in post #1158720:

for big-charges applications, performances issues:

  • CPU times
  • memory usage
  • multicore cpu optimization
  • heavy socket(?)

And perhaps, good part of ruby are bad part for big project:

  • liberty in object model
  • no static typing

(by big project, I mean >100 developer
for >two years, >one days compilations…)

Reading golang literature can be useful for understand that:
http://talks.golang.org/2012/splash.article

Many thanks for these valuable information.