Expand Cut Tags

No cut tags
topaz: (qwrrty)
[personal profile] topaz
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.

Date: 2008-03-14 05:05 pm (UTC)
From: [identity profile] nooks.livejournal.com

Thanks for pointing that out. It really helped me to clarify the problems I have with PHP. Every now and then I come across someone who says that PHP is their preferred scripting language, or someone who thinks it's "not that bad". Now I can simply bellow "defined by implementation!" while I drop a half-brick into a sock to show the error of their ways.

Date: 2008-03-14 05:11 pm (UTC)
jss: Me (bastardcard)
From: [personal profile] jss
Use the whole brick.

May 2018

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

Most Popular Tags

Style Credit

Page generated Jul. 31st, 2025 04:35 am
Powered by Dreamwidth Studios