Flash Ripper RSS Readers

Интерактивный Руби

Читая книжку "Programming Ruby" (Клишин дал почитать, спасибо), встретил упоминание об интерактивной версии интерпретатора Руби -- irb. А поскольку дома чисто случайно оказался установленнный Руби (это только частично шутка; Руби уже включается в конфигурацию по умолчанию некоторых Linux и Mac OS систем -- попробуйте ввести в консоли "ruby -v" и можете быть приятно удивлены), я решил попробовать этот irb в действии. Забавная штука -- ты пишешь строку руби-кода, irb тебе отвечает тут же. Незаменимая вещь для изучения языка "методом тыка": а что если так? А так? Вводишь любую команду и получаешь результат или ошибку. Пишешь: "2+2" а он: "4". Можно таким же образом задавать через irb переменные и работать с ними: a = 2, b = 2, a * b.

Или пишешь: puts "Hello World!" он отвечает: (угадайте, что?). Так что пока Руби -- самый дружелюбный известный мне язык программирования: на нем короче всего пишется "Hello World!" ;)

Блоки кода тоже поддерживаются в irb. Я решил проверить, как у Руби дела с рекурсией. Хорошо оказались дела, вплоть до определения максимального количества самовызовов (уровней стека); вот мой диалог с irb, в котором я задаю рекурсивную функцию и вызываю ее (я показал весь процесс, начиная с запуска irb прямо из командной строки):

D:\>irb
irb(main):001:0> def recursion
irb(main):002:1> recursion
irb(main):003:1> end
=> nil
irb(main):004:0> recursion
SystemStackError: stack level too deep
from (irb):2:in `recursion'
from (irb):2:in `recursion'
from (irb):2:in `recursion'
... 1363 levels...
from (irb):2:in `recursion'
from (irb):2:in `recursion'
from (irb):4irb(main):005:0>

Достаточно дилетантских отзывов; узнать больше об irb (и Ruby) можно в Википедии.

Клишину: RadRails установил на работе только вчера, у них сайт висел, а ко вчерашнему вечеру завелся. Поставил как раз на свежий Eclipse 3.2 RC7, кстати :)

fxri

Писал Rost, 14 Июнь 2006 9:10

Найдены баги:

"Короче всего"
имеется в виду, что в Пайтоне в коммандной строке надо ввести аж на одну букву больше
print"Hello World!"
:)
Кстати, а как будет семантически верно назвать действие вывода print или puts
:)
Если не секрет.
Что еще, кроме RadRails писано на Руби?
Например На Пайтоне написан единственный из известных мне:) редакторов трехмерной графики
Blender
вместе с рендером
и UV маппингом
По моему отличное доказательство производительности скриптового языка.
В Пайтоне как и в PHP код можно скомпилить (по желанию) в байт код и обфускатить его для пущей важности:)
Руби позволяет это сделать или все скрипты остаются лежать в сорсе?

Jivel - 14 Июнь 2006 13:40

Семантика в данном случае граничит с религиозностью -- поэтому первый вопрос я не стану обсуждать, это чревато %)

Я в Руби -- _очень_ начинающий. В Питоне еще хуже. Поэтому спорить не буду, скажу только то, что знаю.

- Что написано на Руби? В первом издании книги по Programming Ruby (2000 г) было сказано, что на Руби уже тогда были написаны GUI-приложения, и middle-tier серверные процессы. Также Руби использовался для генерирования динамических веб-страниц, для управления серверами и досупа к базам данных. Некторые писали на нем искусстенный интеллект и программы для обучения машин, и как минимум один человек на Руби писал исследование естественной эволюции. Это все в 2000 -- через 5 лет после публичного появления Руби. Сами авторы упомянутой книги о Руби использовали его для форматирования больших частей этой книги. Также говорят, что Руби применяют как движок для исследовательской математики. Он хорошо контачит как с операционной системой, так и с другими приложениями.

- Насчет компиляциии -- я видел, но не пробовал rubyscript2exe.

Вообще, Клишина чую: придет и наведет тут шороху :)

Рост - 14 Июнь 2006 14:49

Ни в коем случае не стремлюсь разжечь очередную религиозную войну:)
Язык (любой) всего лиш инструмент общения как с человеком, так и с машиной.
И будучи прагматиком я всего лиш интересуюсь преимуществами этого языка,(Ruby) перед уже имеющимися.
GUI-приложение можно написать, как это ни странно и на PHP:)
И утилиты типа rubyscript2exe. есть и для Пайтона и для PHP.....
Я немного про другое.
Например я могу код PHP "завернуть в лицензию":)
Тобиш прогнать его через ZendEncoder и получить на выходе Те же файлы с расширением *.php внутри которых будет находится не скрипт а байт код
типа:
{ãD™¹icãîçë¢`7ÿèÆ›/¼æÐx¨éë!?¬ö66öÌä¶Ý“ó(7·÷Q±¤
XÙ"›±põcgXÉØþ¼-ªŠ}>\7ÂÆ‚â…6Õúä5qÁ" ÅU»ÚâÆu¸ôqõj@Q¼Ð¦^Ÿ¾&®¦†ÉtiÛþ°&·?âÔÙˆkr¤à…6
Красота:)
И никто не сможет покопаться в моих исходниках без моего на то согласия:)
Есть ли такое в Ruby?

- 14 Июнь 2006 18:46

Вот, "Что такое Питон":
http://maxidoors.ru/articles/2006/05/27/what-is-python

А RadRails сделан на базе Eclipse, это Eclipse RCP с набором всех нужных для Rails-разработок плагинов. Разве что Джаваскриптовый редактор там откровенно никакой, а остальное сделано и собрано вместе очень хорошо. И можно не качать весь Eclipse, если облом -- RadRails весит около 30 мб.


МК - 14 Июнь 2006 21:46

Интересно канун Ворфоломеевой Ночи у гугенотов тоже праздник:).
На надо нас ногами:)
Речь ведь не о том кто себя чувствует комфортнее;
Английский Лорд на рисовом поле или Вьетнамский Крестьянин в палате лордов.
========
По поводу линка выше там в коментах есть ремарка автора:

Макс Лапшин said about 23 hours later:
------------------------------
Как мне уже сказали, по ряду пунктов я неправ, потому что информация устарела, но в целом ситуаиция похожая.
-----------
:)
У меня просто сложилась ситуевина когда клиент уперся рогом - мол не хочу чтоб было написано на PHP.
Предложили ASP
Не нравится пункт "Итого".
Вот и думаю на чем ваять.
Пойду к хостерам стукнусь.
Как там у них с поддержкой Ruby.

Jivel - 15 Июнь 2006 11:59

Печально у них с поддержкой Ruby:(

Jivel - 15 Июнь 2006 12:27

Jivel, я тоже недавно поинтересовался у своего хостера, как насчет Руби. Он ответил: на виртаульном сервере нету (где я щас), на выделенном -- есть. А у тебя как?

Рост - 15 Июнь 2006 12:45

На выделенном:
"За ваши деньги любой каприз":)
Подкупает то, что Пайтон то и на виртуале стоит, а на вопрос: Почему Пайтона нет в списке поддерживаемых языков? Хостер ответил следующее.
Пайтон предустановлен на всех тарифных планах(и виртуальных тоже)
Но техническую поддержку по этому языку мы не оказываем ввиду отсутствия специальстов по этому языку в нашей компании:)

Jivel - 15 Июнь 2006 13:10

И еще пара вопросов.
Уж извините за назойливость :(
Посмотрел скринкасты работы в RadRails
Если я правильно понял, то Раилс это своеобразный набор приемов (если никого не обижу то - шаблонов) для решения определенных задач.
Тобиш, например, если мне в форме надо воткнуть еще одно поле ввода я создаю таблицу в базе с определенными характеристиками и Раилс мне автоматом выдает шаблон вывода и прослойку для валидации приходящих через это поле данных.
Так сказать избавляя меня от рутины.
Дальше.
Если надо регистрировать юзера он мне выдаст набор шаблонов и какую-то структуру для осуществления этой регистрации.
Ну и тд. и тп.
??

Jivel - 15 Июнь 2006 13:37

Нет, не извиним ;) Будем на вопросы твои лучше отвечать ;)

То, что ты заметил ("Раилс мне автоматом выдает шаблон вывода...") -- одно из удобств RubyOnRails. Называется это "scaffolding" ("подмостки"), и это часть фреймворка Rails. Скаффоkдинг генерирует Model и Controller из паттерна MVC (одна из сильных сторон Руби -- это то, что он реализует MVC чисто).

Дмитрий Сабанин перевел не русский неплохую статью Что такое Ruby on Rails 1.0? -- почитай, думаю там есть ответы на многие твои вопросы.

А еще есть мейл-лист ror2ru -- там могут ответить практически на любой вопрос (думаю, про обфускацию Руби-кода тоже).

Я пока только начинающий в Руби и не хочу ввести в заблуждление неточным ответом ;)

Рост - 15 Июнь 2006 13:57

2 Jivel: Я лично общался с Тоном Розендаалом (автором Blender) и я вас уверяю что Блендер не на пайтоне написан - он там в качестве скриптового движка. Ruby используется для скриптования например в трехмерке SketchUp. Скомпилить Ruby в байткод не нужно - Rails-приложения работают как персистентные демоны.

Julik - 16 Июнь 2006 2:15

Julik, спасибо! Разрулил ;)

Рост - 16 Июнь 2006 12:35

Обфускатор для Ruby сейчас доводят товарищи из ZenSpider, но пока его нету - и это очень хорошо. Почему - обьяснять не буду.

Julik - 16 Июнь 2006 19:59

Малеко заблудила эта фраза:
===========================================
To be able to build with the SCons build system you'll need Python (preferably
version 2.2.x) and SCons (http://www.scons.org) installed. After you're
sure these work properly you are ready to build with SCons.

Systems supported at the moment are:
* Linux (Michel_)
* Windows (jesterKing)
* Irix (Hos)
* Cygwin (Michel_)
* MacOS (sgefant)
============================================
Да действительно старый добрый Си
:)

Jivel - 17 Июнь 2006 19:29

Вот куда нада было меня отправить
http://ru.wikipedia.org/wiki/Руби

Jivel - 20 Июнь 2006 23:09

АГА, и там хорошо, и тут тоже, только объемнее:

http://ru.wikibooks.org/wiki/Ruby

Рост - 21 Июнь 2006 15:18



Это запись из категории 'Ruby'. 10 еще cвежих:

Архивы по категориям:

3D-18, Adobe AIR-30, Animation-1, Apache Ant-1, Architecture-1, ARP-1, Art-25, Articles-26, AS3-52, Books-7, Business-3, Cairngorm-2, CI-1, Classes-10, Coding-30, Community-113, Components-19, Contests-28, Cool-Job-5, Debug-18, Design-26, Development-84, EMO-1, Events-13, Extensions-2, FAQ-8, FDS-1, Flash and html-5, Flash Player-35, Flash Updates-8, Flash-scene-1, flash10-4, FlashLite-2, Flex-30, Flex 2-80, Flickr-1, FMS-1, FPUG-46, frameworks-1, Games-11, Good Job!-35, HaXe-14, Health-2, Humor-10, Ideas-13, JavaScript-1, Job-26, JSFL-8, Links-2, Linux-1, Maps-1, Math-8, Money-11, MXML-1, Open Source-15, Optimization-2, Patterns-2, Personalities-27, Politics-1, Preloading-3, Productivity-9, PureMVC-10, Pv3d-1, Rafpug-4, Red5-3, Remoting-11, Resources-21, Ruby-6, SAAS-1, Security-11, SEO-8, Silverlight-5, Sound-3, Strategy-120, Tamarin-1, Tools-113, Training-2, Trash-8, URAFPUG-13, Urgent-1, Usability-6, Video-6, VoIP-5, Wallop-1, Wishlist-2, Архив всех записей (большой)

За последние месяцы:

Июл 2008: Международная встреча разработчиков URAFPUG завершена, URAFPUG - трансляция студии Flex-фреймворка Mate, весь Июл

Июн 2008: Попытка предварительных выводов о встрече аниматоров, Онлайн трансляция встречи аниматоров в Донецке, весь Июн

Май 2008: Если 3D, то по-взрослому: официальный запрос в Adobe по поводу контроля над мип-маппингом. Нужна ваша поддержка!, В этом году «Russian Flash Awards» пройдет в «космическом стиле», весь Май

Апр 2008: Программирование под флэш платформу. Cтатья (местами спорная), Advanced Flash Components бесплатно раздает все свои AS2-компоненты, весь Апр

Мар 2008: Зарплаты программистов в 2007 году, FlashPhone как технология года? Технология года? В Рунете?, весь Мар

Фев 2008: ЙА ФПУГ — регистрация на первую встречу UAFPUG продолжается, Закулисы Flex и секрет успеха опенсорс-проекта, весь Фев





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)