Ruby 1.9.0 Released
sciurus0 writes "The 1.9.0 development version of the Ruby programming language has been released. This version has many changes, including a new virtual machine that provides great speed improvements."
← Back to Stories (view on slashdot.org)
No comments yet (or at least not when I started typing this comment) and the second link is already /.ed.
GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
Why does this look like an unedited blurp from the Firehose?
"Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
Well, it seems that Ruby 1.9.0 is the fastest implementation available, it also is reflects the newest version of the language... but I would really like to see benchmarks based on real apps based on things like Mephisto,Radiant CMS and/or Mongrel. Also, does someone have a list with the most important features? The summary is way too poor.
Alright, I know this is going to be flame fodder, but I'm genuinely curious: does Ruby have anything to offer for someone who's already very proficient in Python (and Django, so Rails is already covered)? Basically, I've been using Python for quite a while and work with a largish codebase at the office. Is there any reason why I should give Ruby a try other than the standard - and very valid - "because it's there"? From what I've heard it seems that the two languages occupy roughly the same niche and are approximately as expressive.
Again, I know that sounds flamebait-like but I'm asking sincerely. My available time is pretty limited these days and don't have the luxury of branching out nearly so much as I used to.
Dewey, what part of this looks like authorities should be involved?
Back then Ruby's C interface appeared much easier to use than Python's reference-counting mess (I don't know about recent developments). Apart from that, both are good as far as scripting languages go.
Yes but th question that everyone will be asking is can it scale yet. To date, RUBY has been great with hype but most professional developers (once adopting RUBY) find out it's limitations within a matter of weeks. So while it may have improved upon speed, the question still is whether it can scale without having to rely upon PHP and JAVA and PYTHON consistently to help it out in this regard.
This is my sig. There are many like it but this one is mine.
Is parallelization the only niche that isn't supported well? No. There are other areas languages generally do badly in. There are very few languages which handle internationalization efficiently. There are very few languages which handle graphical interfaces efficiently or logically. Languages are typically either good at handling very complicated data structures OR handling structures that are defined just-in-time, typically not both.
My interest in Ruby would be greatly increased if I saw it do something that very few other languages could do, preferably no language that was in mainstream use.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
The site with the benchmark has been "slashdotted" but should be back up soon. For the moment, if it's down, you can use this Italian translation which has English figures and charts: http://stacktrace.it/articoli/2007/12/ruby-contro-ruby/
Guido tried Lisp and he didn't understood it.
Matz tried Lisp and he understood a little.
Matz wins.
If you look at it from a features and libraries perspective, then you really won't find much different. But you shouldn't look at it that way.
There's a significant programming style difference between the Python and Ruby communities. Python programmers, as a general rule, tend to be more inclined toward imperative programming, while Ruby has much more of the feel of a multi-paradigm language. To understand a lot of Ruby code out there, you need to wrap your head around concepts like functional programming, metaprogramming, and domain-specific languages. Ruby code tends favor higher-order functional combinators over primitive looping syntax (an influence from functional programming), extending the system base classes extensively (an influence from Smalltalk), and a lot of it has the flavor of trying to extend the language to look more like the problem space itself (domain-specific languages; look at something like rake, for example).
Python aims to be "clean" in a very contentious sense of "clean." To put it in a way that will be taken very partisanly: Python is the language that you get when "clean and easy to understand" is taken to mean "only promotes the concepts that are easy to understand to a mediocre imperative programmer." For example, Guido is on the record that higher-order functions like reduce are supposedly hard to understand.
To be fair, yeah, Python is a reasonably clean imperative/OOP dynamic language, which is no mean feat, but many of us folks really would rather have a language that supports a broader range of programming paradigms. (Though I'm not as great of a fan of Ruby as I used to be before I got going on Scheme, I must say...)
Are you adequate?
I can't help but notice that there's nothing mentioned about unicode. I don't see how a major web development language, especially one made by Japanese designers, can go so long without adding comprehensive unicode support. After all, it's not like only English speaking people use rails websites...
It's nice to see that Ruby interpreter speed is improving. Performance and compile time checking (think static types) are about the only areas in which I find Ruby lacking. Looking at the table on the shootout page, though, I find that performance has only improved by a factor 2. That's impressive...but it's not enough.
Last I measured, Ruby was about a factor 300 slower than C on low-level code (measuring the performance of high-level functionality implemented in the interpreter is not so interesting, because that isn't actually implemented in Ruby). That means there is still a long way to go before Ruby is actually competitive with the likes of Common Lisp, OCaml, Haskell, or Lua in terms of performance (I wouldn't compare to C or Fortran, because these languages are much more limited in what abstrations they offer).
Still, Ruby is a great language, and I hope they keep up the great work. I end up writing quite a lot of code in Ruby, because it's very _easy_. The language is mostly very well designed, which means you aren't likely to run into limitations of the language, and there is support (either shipped with the language, or available as a third-party module) for almost everything I want to do. Speed isn't usually an issue. And when it is, it's possible (and easy) to write an extension in C.
The one thing I wish they would get rid of is the distinction between blocks and lambdas.
Please correct me if I got my facts wrong.
Something I always wonder when folks say that Ruby isn't competitive with, e.g., C with respect to speed is what the context for the competition is. In my professional career I worked on precisely one application which was capable of pegging a modern processor. The bottleneck is almost never the CPU these days -- in fact, rarely enough is it ANYTHING technological! Disk space, memory, bandwidth, CPU time, I/O on the bus, all of the things which I learned how to optimize at engineering school are available in huge quantities for unbelievable prices. The bottlenecks that I find myself worrying about these days are a) insufficient number of hours in the day (it seems stuck at 24 and Moore's Law isn't helping -- bugfix, plz) and insufficient customers using my systems to cause resource issues.
I run one web application which is essentially an advertising brochure for software that I created. The software is in Java (which I suppose is slow in the abstract, but none of my users can tell the difference) and the website is Ruby on Rails. ($10k in income in 2007, 10k uniques in the average month, to get a rough idea of scale.) Is Ruby on Rails a slow/poor scaling/resource hogging framework? Maybe. My $20 a month VPS account hosts my application fast enough to take 20k page views in an hour. The economic value per pageview for that site is about 5 cents. Please, God, send me resource issues! Make me regret my choice of a productive but slow framework, as the spigot gets up to $1k an hour and then just resists improvement until I go to the $40 a month server!
Your mileage may vary, if your business model involves sending nation-state scales of traffic at sites and picking for pennies in advertising. If it does, could I humbly suggest spending half as much time worrying about the business model as you do about your technology choices?
Help poke pirates in the eyepatch, arr.
Lisp = The Church of All Worlds?
(rot13) rpbzbab@tznvy.pbz
I'm sorely disappointed. I thought the Christmas release was supposed to be the stable Ruby 2.0. Anybody heard any projection for when the stable Ruby 2.0 is supposed to be released?
I see a few Perlisms in the syntax, but mostly I see Lispisms (and Smalltalkisms) in the semantics.
I'm reminded of the Alan Kay line: "Java and C++ make you think that the new ideas are like the old ones. Java is the most distressing thing to hit computing since MS-DOS." Maybe Ruby isn't *quite* as distressing as MS-DOS because it actually is a decent object-oriented system (quite similar to Smalltalk, Alan Kay's baby).
But it is kind of sad that every new language is evaluated primarily on its syntax, and that programmers (being people, who are emotional) see either "it looks like something I already know, so there's no point" or "it looks weird, so I won't use it".
Matz chose to dress his object-oriented language in Perl clothing, which was perhaps a brilliant way for Smalltalk ideas to actually get used, but the price for that was that many people would take one look, assume it's similar to Perl, and brush it off.
Can we get past "OMG curly braces" and start actually discussing ideas instead of the characters used to write them?
If you want to learn Common Lisp in "mind expansion" mode, you should try Norvig's Paradigms of Artificial Intelligence: Case Studies in Common Lisp.
It's a big, fat book, and will take a long time to work through it, but it'll show you a bunch of different techniques and tackle a number of problems you won't see in a Python or C book.
I hear you. I've been looking in the opposite direction for awhile now.
... but I haven't found a reason, as of yet.
... but the Ruby community is great and growing.
... I've very much in love with it.
I've been using Ruby for a few years and I've been looking for excuses to learn Python. I've gone so far as to buy some books, in case I find the time to go through them
They certainly do seem to occupy the same niche, so there may not be very good reasons for learning one if you know the other. If anything, I might learn Python because it appears to be more popular for *nix programming
Either way, I can't see myself leaving Ruby as my language of choice for awhile to come
Yes, I can. And when I do, I find that contrary to your claims, neither the Ruby language site (which is www.ruby-lang.org, not www.ruby.com) nor 43things.com is running PHP. Rubyonrails.(org/com) is. www.ruby.com doesn't show PHP on Netcraft either, but isn't really relevant to the Ruby programming language in the first place.
Where? Here's DHH's explanation for Rubyonrails.org's use of PHP (from the rubyonrails.org blog:
Strangely, no mention of using PHP for "scaling", which you claim is the motivation and the explanation that "they" give. So, out of the three Ruby-related sites you claim say they are using PHP for scaling that somehow prove that Ruby can't scale, one isn't the site you seem to think it is, 2 aren't (whether you check the site you give the address for or the actual site you seem to think that address refers to) using PHP based on the source you claim confirms that they are, and the one that is using PHP doesn't explain that use with the explanation you say they give.
It would be hard for you to be more wrong about this.
I provided plenty. You Only want to see what you want to. If they shut off php.ini, and you don't wish to do your own legwork outside of this tiny little forum, then you don't truly wish to know now do you. You only wish to argue. To that I say feel free to remain ignorant. I have given you the key to free your mind... it is up to you to remain caged or not.
This is my sig. There are many like it but this one is mine.
Is Ruby similar to Python? My public library has a really good Ruby programming manual. i am hoping this is an easy language to learn