2006-09-17

On Ruby

When I downloaded Ruby, it was because I had been promised that "almost everything I need is available in the default install", and that those esoteric extra packages for converting YAML into 7-bit ASCII-encoded Pig Latin for XML would be installable easily and quickly with RubyGems.

Clearly, I was lied to.

Now I'm not saying that Ruby on Rails isn't great. "Unimpressive" is a better term, but the fact is I really don't care enough about the web development industry to give two shits about whether or not I can make my own blog within the span of a single commercial break.

Aside from the fact that Ruby's syntax is flat out annoying, it's patently user-unfriendly in the packages and ports department. And to add insult to injury, I'm trying to like Ruby here. I wrote a little script in Python, and even though it works, it's tough to update and maintain. I went to Ruby and said, "Sell me on fixing this script." Ruby, the marketing wonks claim, is like eating ice cream while getting a blowjob, only when you're done there's a program that will run just as easily on MS-DOS v.6.22 as it will on an Ubuntu Edgy Eft system, and what's more, writing the program will be so much fun that you'll just want to keep doing it over and over again.

Bullshit. Bull shit.

The fact of the matter is that all I want is a goddamn ruby API to handle DBI. In Perl, this is beginner stuff. In Ruby, this is apparently one of the Herculean labors. "gem install dbi"? Nope. It's not installed by default, and it's not in RubyGems, so you download a package from sourceforge that requires you to outright replace the default installation of Ruby on OS X Tiger.

Even after this, installing ruby-dbi is like pulling teeth. It makes running "perl -MCPAN -e shell" seem as enticing as that scene in Fast Times at Ridegemont High where Phoebe Cates gets out of the pool in slow motion.

Right about now I would fucking kill for a Ruby version of CPAN, or equivalent, that would let me do something like "magic-ruby-command --install=ruby-dbi,sqlite". I've checked, and there's one package that will do all of this for me. It's called "Ruby on Rails", and I'm beginning to see why Ruby developers love this application. It's because without Rails, Ruby has no community:

"I'd like to install Ruby-DBI on my iBook. Any help?"

"Just install Rails."

"I don't want to use Rails. I'd just like Ruby-DBI and nothing else."

"I don't understand."

"Rails is too much software. I don't want a webdev framework, I just want to read and write database information."

"Rails can do that!"

"Yes, but it does a whole lot more than that."

"You bet!"

"In this case, that's a bad thing."

"... Rails?"

"Yes, Rails. I don't want it. Can anybody just help me access a SQLite database with Ruby without getting the kitchen sink?"

"You can install Rails and then just not use it."

"/quit"

In short, I'm searching for a language that can do what I want, runs on multiple architectures, has ample support for package management, can produce portable scripts that do require extensive extra applications or libraries not found in the default install, and that isn't Perl.

The search continues.

No comments: