views:

119

answers:

2

Hi,

I have started learning Ruby for the past 2,3 weeks and I have come up with some findings on the language. Can someone please validate these points.

  1. Implemented in many other high level languages such as C, Java, .Net etc.,
  2. Is slow for the obvious reason that it cannot beat any of the already known high level languages.
  3. Should never be compared with any other high level language.
  4. Not suitable for large applications.
  5. Completely open source and is in a budding state.
  6. Has a framework called Rails which claims that it would be good for Agile development
  7. Community out there is getting better day by day and finding help immediately should not be a problem as time goes by.
  8. Has significant changes between releases which many developers wont welcome right away.
  9. Running time cannot be comprehensively estimated since the language has several underlying implementation in several languages.
  10. Books are always outdated by the time when you finish them.

Thanks.

+4  A: 
  1. true - JRuby being my favourite
  2. false - you haven't actually stated an obvious reason, performance varies wildly between implementations and I can assure you - there a lot of "high level" languages slower than Ruby(mind that the language is never slow - it's execution environment/VM is slow)
  3. false - many people compare it all the time to Java, Python, Smalltalk, Lisp, Perl - there is nothing bad about that
  4. false - twitter was originally implemented in Ruby
  5. true
  6. true - has many other great web frameworks, too, like Sinatra
  7. true
  8. true - the changes between releases are generally big indeed, but this is normal for a relatively young community driven project and it is not a bad thing
  9. true - there a lot of benchmarks lying around in the Internet - here's a recent one
  10. most of the time - Programming Ruby 1.9 and The Ruby Programming Language are still not outdated. Books about Rails however tend to quickly get outdated.
Bozhidar Batsov
Books on Ruby as a language are OK most of the time (the release cycle for Ruby isn't *that* fast. Rails is a whole different ballgame.
Jakub Hampl
@Bozhidar: Thanks for your thoughts!!!
Bragboy
You're welcome :-)
Bozhidar Batsov
>> you haven't actually stated an obvious reason << His reason was the assertion that "it cannot beat any of the already known high level languages". He hasn't given any reason for that assertion.
igouy
Twitter might have a large database, however the lines of code necessary to write a Twitter application should not be *that* many. It’s way simpler than any ‘decent’ PHP forum you find on the web.
Debilski
A: 

Is slow for the obvious reason that it cannot beat any of the already known high level languages.

How do you know it cannot "beat" any of the already known high level languages?

Running time cannot be comprehensively estimated since the language has several underlying implementation in several languages.

How is that any different from C, C++, Java, Python, ...?

Can the running time of a particular Ruby implementation be estimated?

igouy
Of course it can. And if you are observant, you get to learn which operations are and aren't costly in terms of things like object allocation: compare, for instance, string concatenation vs. array manipulation followed by a join operation.
Tom Morris
@Tom Morris - Does the OP (who I addressed the question to) understand that?
igouy
I have no idea whether OP knows that. I posted the comment hopefully so he would understand that.
Tom Morris
By running time estimation I mean finding the Big O notation. I can tell easily the complexity of the Arrays.sort() in Java to be nlogn since it uses a quick sort. I can tell the space complexity of a simple array and time complexity for a insertAt() removeAt() operations for ArrayList in java. Whereas its painful to find those in Ruby and the space complexity are worst in Ruby. "Worst" meaning the worst case scenario not degrading the language as such.
Bragboy