2010-08-05 1 views
0

Недавно я столкнулся с http://monkeybars.rubyforge.org/ и Rawr. Достаточно создать Java-приложения.Вы используете код ruby ​​для создания приложений Java?

Вопрос в том, есть ли недостатки в выборе этого подхода? Jruby на Java? Повлияет ли мое приложение на потерю производительности по сравнению с написанием на Java? Для меня преимущество в том, что у меня нет перехода на Java, и я могу использовать рубин, который, как мне кажется, намного проще писать.

ответ

1

Конечно, вы потеряете некоторое представление. Ruby (например, Smalltalk и Python, среди прочих) по своей природе очень динамичны и высокоуровневы, а также динамически типизированы. Многие утверждают, что это позволяет программистам быть намного эффективнее (я склонен согласиться), но OTOH, вызовы должны быть отправлены, и решение должно быть принято во время выполнения, которое может и находится на статичном языке, таком как Java, решаться в compiletime. Так что да, будет некоторая потеря производительности.

Но: Это действительно имеет значение? Для 99% всего кода приложения GUI это не так. На современном домашнем компьютере, с точки зрения пользователя, средний рубиновый метод, похоже, занимает одно и то же время, что и средний метод Java: около нуля секунд. И на обоих языках, безусловно, самое время будет потрачено на ожидание ввода пользователя и в меньшей степени с помощью ввода-вывода на диске, а также с помощью инфраструктуры графического интерфейса, создающей новые материалы на экране.

Addendum: Возможный недостаток может быть таким мостом, как правило, хрупким - как, трудно интегрироваться с оригиналом (в данном случае Java) или ломаться с более новыми версиями. Но я не могу судить об этом ...