[books] Ruby in a Nutshell (Yukihiro Matsumoto)

Dec 09, 2005 11:41



 — Yeah! Well, I’m gonna go build my own theme park. With blackjack and hookers! In fact, forget the park!
© Bender, Futurama

Решил на старости лет поизучать новые языки, чтобы мозги на Жаве совсем не замшели. Взялся за Ruby. Купил книжку с O’Reilly, прочитал, проникся. Сложилось странное впечатление.

Впечатление такое, что один японский хакер по имени Yukihiro Matsumoto сел изучать Перл. Но до конца не доучил и решил написать свой Перл. Типа лучше — со встроенными объектами, исключениями, с перекрытием операторов. И назвал его по аналогии Рубином — надеясь, что «как вы яхту назовёте так она и поплывёт».

Поизучав синтаксис Ruby, я наконец осознал — какое счастье что Larry Wall был лингвистом, а не просто хакером. Ruby конечно язык полный и чём-то даже приятный, но нету в нём перлового изящества. Впрочем, может быть Matz хотел написать свой Смолток, только попопсовее. И все фичи правильные собрал: динамическая типизация, полная объектность, эксепшны, closures, multithreadность, нормальные регулярные выражения…

Но всё равно — странноватый язык. Странный принцип ’символы с заглавных = константы’. Почему-то в булевском контексте за true считаются и пустая строка и пустой список и даже 0! Более того — язык с иногда значимыми whitespaces по-моему вообще всерьёз нельзя воспринимать. См.:

foo + bar # означает foo + bar, то есть сложение foo +bar # означает foo( +bar ), то есть вызов метода
Резюме: ничего особенного. Просто скриптовый язык. Один из. А настоящему программисту — всё равно на чём писать.

Хотя, чую, некоторые уже соглашаются с автором «Dear Perl…»:
Dear Perl,

Look, I know that we were an item for quite a few years.

You were my one and only. My true love.
But I’ve gotta admit, when I saw your younger sister Ruby a few years back… well, I thought she was hot. But of course, she was too young then so I stayed away from her.

Now, more recently I have to confess that I went out with Ruby for a few dates and believe me, she is plenty mature now! Not only that but her library seems somehow more complete than yours and certainly better organized. And her object oriented features — OO la la! Look, you’re a great gal, but you’re certainly not anywhere near as well endowed in THAT department.

And now that Ruby’s got transportation (ok, so she likes to ride the rails) we’re really getting around.

So, dear Perl, I have to tell you that it’s over between you and me. From now on it’s me and Ruby. Please don’t take it too hard. Maybe you’ll find someone else after you’re makeover.

— John





computer science, ruby, books

Previous post Next post
Up