Tuesday, April 03, 2007

April Bloggin Contest

Ok, it's time for the April Blogging Contest. Sorry that this is coming out a little bit late. I've been slammed by a nasty cold, and a little behind on everything. Fortunately, I seem to be on the upswing after four days of sleeping 14-16 hours a day and hiding under a pile of quilts.

With Ruby 2.0 and all the alternative implementations in the air, I've been drawn to the idea of changes. This month's blogging contest theme is: "What Changes would make Ruby a better language without making it into something that isn't Ruby?"

Every serious programmer knows that his (or her) favorite programming language has warts. Here's you're opportunity to tell someone about it. All you need to do is post your thoughts on your own blog and link to them in the comments here. I'll accept entries until midnight (MDT) on April 30th. Then I'll work with my to co-judges to pick the winning entry.

As before, the writer of the winning entry will get three Apress books of his choice. So, what are you waiting for, it's time to win some books.


Keith Fahlgren said...

Pate sez: "As before, the writer of the winning entry will get three Apress books of his choice."

Well, one thing that would certainly benefit Ruby would be the involvement of more women...

gnupate said...

very true. I would be overjoyed to award the winner three Apress books of her choice.

But, for you to win ... you'll need a bit more meat on this, and it'll need to be a post on you own blog with a link from here.

Chris McMahon said...

I'm taking a shot at this one: http://chrismcmahonsblog.blogspot.com/2007/04/make-change-to-ruby.html

Jamie said...

Pat, the link to apress in this post is broken.

That said, for submission: Ruby of the Future

gnupate said...

Thanks Jamie, it's fixed now

Mr. Neighborly said...


Blog broken, so I had to fall back to good ol' Infogami. :)

Chris McMahon said...

Jeremy, +1 on the unicode!

Anonymous said...

Here's mine:

Yev said...

Here's my wish. it deals more with tooling than with the language itself, but it would have a significant impact on the usability of the language, particularly to Java hacks like me. :-)


By the way, even if I don't win - thanks for the contest - finally something got me to start a blog. ;-)

Anonymous said...

Ruby - let's get an AST - fAST


A little plea for getting a proper
Ruby parser in Ruby.

Rick DeNatale said...

Okay, I just finished my entry which is at http://talklikeaduck.denhaven2.com/articles/2007/04/23/ideas-for-improving-ruby.

I've covered some things I want to stay the same, as well as things Id propose changing.

DevDanke said...

Suggestion to improve Ruby's block comments.


Unknown said...

I haven't gotten around to setting up a blog, but I figure I'd throw in my wish (even though it probably won't make it into the contest).

I would want multi-method dispatch with a "when" clause similar to how Erlang does it. Here's an example:

def parse(line) when line.respond_to?(:to_s) && line.to_s =~ /\A[A-Za-z]+/
# parse the line when begins with a character

def parse(line) when line.respond_to?(:to_s) && line.to_s =~ /\A\d+/
# parse the line when it begins with a digit

I disagree with the other poster on statically typing method arguments. It would be better to use duck typing and respond_to in a more "generic" clause like the above.

Daniel Berger said...

I probably disqualified myself, but here's a veritable laundry list of changes I would make:


Anonymous said...

I dislike blogging but here's my piece in the comment. Ruby is unsuitable for GUI client development, and in a major way.

It doesn't come with any real GUI tookit and you have to install 3rd party library+bindings. The best canditate is naturally wxwidgets because it runs on virtually every platform and it manages to look and feel native in a few while at it.

Yeah, it's not that "hard" to install what is required but 3rd party stuff means more risks of breakage here. Stuff is tested less, you have to manage both the binary installation and the bindings, and the amount of proper integration testing is minimal. It's really not tempting quality wise to use stuff like 3rd party bubblegum/ducttape binding libraries.. They are just simply 2nd class citizens.. Which leads into Ruby sucking as an option for creating heavy GUI clients.

Ruby needs to come by default with some sane toolkit or it will never be used widely for such stuff.

Yev said...

If you need to write a local GUI (a web GUI with rails won't suffice), you can always opt for JRuby and use swing.