Yeah! Well, Im gonna go build my own theme park. With blackjack and hookers! In fact, forget the park!
© Bender, Futurama
Решил на старости лет поизучать новые языки, чтобы мозги на Жаве совсем не замшели. Взялся за
Ruby. Купил книжку с OReilly, прочитал, проникся. Сложилось странное впечатление.
Впечатление такое, что один японский хакер по имени 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 Ive 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, youre a great gal, but youre certainly not anywhere near as well endowed in THAT department.
And now that Rubys got transportation (ok, so she likes to ride the rails) were really getting around.
So, dear Perl, I have to tell you that its over between you and me. From now on its me and Ruby.
Please dont take it too hard. Maybe youll find someone else after youre makeover.
John