Expand Cut Tags

No cut tags
topaz: (2632)
And that is that it's so damn useful.  [livejournal.com profile] numignost already noted elsewhere how easily you can build up a complete app using off-the-shelf Ruby components, but I just had occasion to rediscover it for myself.

I have a little over 200 CDs that I've ripped to MP3.  I wanted to get cover art... )

There are other things that I appreciate about the language itself and not just what the community has done with it, but I'll get back to that some other time.
topaz: (qwrrty)
As a postscript to my previous complaint about Ruby, I received today a fantastic exploration of Ruby's closure and execution semantics, via [livejournal.com profile] zsquirrelboy: http://innig.net/software/ruby/closures-in-ruby.rb.  This covers some of the ground that I did but then goes much, much deeper.  I have only covered about half of it and probably will not get any farther today.  If you are a Ruby fan or any kind of a computer language nerd I strongly recommend that you take 30 or 40 minutes to read through it.

The upshot is: Ruby is even more fucked than I recognized.  I'm an understanding guy, and would be willing to accept a lot of the language's foibles if they were well documented up front, but some of these conclusions are really damning.  See section 3 in particular, especially if you think that "I thought I knew all there was to know about the 'return' statement" is a funny joke.

Ruby seems like a very interesting but ultimately unsuccessful experiment in functional language semantics, where some of the novel concepts just do not pan out.  Blocks in particular are a failure: if they were just implemented as first-class closures it would solve a lot of problems, but that doesn't seem likely.  A pity.
topaz: February 20, 2008 (lunar eclipse)
[livejournal.com profile] khedron asked me after my last Ruby post what I thought of the language, and whether I agreed with the sentiment that Ruby can be a pretty decent substitute for Lisp in a lot of cases.

Ruby is a nifty little language that's had a small but devoted following for about 15 years.  It's gotten a lot of attention recently with Ruby on Rails, a Web development framework that implements the model-view-controller design pattern for Ruby applications.  Some things it does very nicely: its syntax is more highly reflective than any other language I can think of offhand since Smalltalk.  At some point I should write something about the cooler parts of Ruby, but right now it's annoying me and so I'm afraid that today you get the bile.

There is always the risk, when writing an article like this one, of criticizing something simply because it is different from something that you happen to like more.  I am sure this is no exception.  I will try not to criticize Ruby for not being Lisp, or C, or heaven help me, Perl, but on the basis of its own merits.

what I don't like )

Despite all this I can't really say that I dislike Ruby.  I've been working in Ruby on Rails for only a few months, and have not really delved deeply into what the language has to offer, but I find a lot of its self-redefinition features really encouraging and intriguing.  I can see that Matz has tried hard to strike a good balance between conceptual elegance and programming expressiveness, and that's a difficult line to walk.  What makes me unhappy is where the language appears to violate the principle of least surprise; if issues like these can be remedied effectively, it will make Ruby substantially more appealing to hackers like me.

May 2018

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
27282930 31  

Most Popular Tags

Syndicate

RSS Atom

Style Credit

Page generated Mar. 5th, 2026 07:56 am
Powered by Dreamwidth Studios