Начал пробовать программировать на ruby.
Причина по каторой я решил научится програмить на ruby - две: создание "оконных" приложений и близость к языку Smalltalk по части объектов.
Поставил себе задачю, сделать некий "просмотр логов". Интерфейс на QT, связь по протоколу XML-RPC, по возможности надо использовать PostgreSQL и SQLite. Программа делается естественно в образовательных целях, и только для личного использования.
Первые впечатления:
- регулярные выражения и вообще стиль (постфиксные записи if,less, объявления def, class, хеши и массивы, yeild) напоминает perl.
- отсутствие точки запятой в конце и необязательное использование скобок напоминает Basic.
- ООП (если неуказывать кому посылается сообщение то посылается self, методы inspect, instant_methods, методы класа -> def Test.setClassVar, #symbol -> :symbol) напоминает Smalltalk.
- неочень понял разницу между Proc и {}, но это наверное должно напоминать lisp (но lisp я почти не знаю).
- старт был быстрый, наверное сказалась особенность языка т.е. "ожидаемость".
- с QT тяжеловато, нужно регулярно смотреть в официальный справочник по QT для с++, ну и самому думать.
- иногда ruby кидает эксепшен что типа метод не найден, хотя он есть и ты его уже использовал. Фишка в том что для каждого набора параметров есть свой метод, и с теми параметрами с которыми ты хочеш вызвать метод соответствующего метода нет. К этому надо привыкать.
- с отладкой пока-что тяжко (есть аналог gdb - "ruby -rdebug <файл>", но с ним надо разбиратся).
Восновном програмлю на работе, в openSuseLinux+KDevelop (пробую RDT).
Дома восновном балуюсь и просто пробую ruby, и там среда похуже - win98+notepad++, QT к сажелению нету (и это плохо), поэтому пробуем FOX (FXRuby).