Изучение Ruby on Rails польза для Grails?

Когда вы объявляете ссылочную переменную (т. е. объект), вы действительно создаете указатель на объект. Рассмотрим следующий код, в котором вы объявляете переменную примитивного типа int:

int x;
x = 10;

В этом примере переменная x является int, и Java инициализирует ее для 0. Когда вы назначаете его 10 во второй строке, ваше значение 10 записывается в ячейку памяти, на которую указывает x.

Но когда вы пытаетесь объявить ссылочный тип, произойдет что-то другое. Возьмите следующий код:

Integer num;
num = new Integer(10);

Первая строка объявляет переменную с именем num, но она не содержит примитивного значения. Вместо этого он содержит указатель (потому что тип Integer является ссылочным типом). Поскольку вы еще не указали, что указать на Java, он устанавливает значение null, что означает «Я ничего не указываю».

Во второй строке ключевое слово new используется для создания экземпляра (или создания ) объекту типа Integer и переменной указателя num присваивается этот объект. Теперь вы можете ссылаться на объект, используя оператор разыменования . (точка).

Exception, о котором вы просили, возникает, когда вы объявляете переменную, но не создавали объект. Если вы попытаетесь разыменовать num. Перед созданием объекта вы получите NullPointerException. В самых тривиальных случаях компилятор поймает проблему и сообщит вам, что «num не может быть инициализирован», но иногда вы пишете код, который непосредственно не создает объект.

Например, вы можете имеют следующий метод:

public void doSomething(SomeObject obj) {
   //do something to obj
}

В этом случае вы не создаете объект obj, скорее предполагая, что он был создан до вызова метода doSomething. К сожалению, этот метод можно вызвать следующим образом:

doSomething(null);

В этом случае obj имеет значение null. Если метод предназначен для того, чтобы что-то сделать для переданного объекта, целесообразно бросить NullPointerException, потому что это ошибка программиста, и программисту понадобится эта информация для целей отладки.

Альтернативно, там могут быть случаи, когда цель метода заключается не только в том, чтобы работать с переданным в объекте, и поэтому нулевой параметр может быть приемлемым. В этом случае вам нужно будет проверить нулевой параметр и вести себя по-другому. Вы также должны объяснить это в документации. Например, doSomething может быть записано как:

/**
  * @param obj An optional foo for ____. May be null, in which case 
  *  the result will be ____.
  */
public void doSomething(SomeObject obj) {
    if(obj != null) {
       //do something
    } else {
       //do something else
    }
}

Наконец, Как определить исключение & amp; причина использования Трассировки стека

21
задан Sourav Ghosh 17 January 2015 в 10:21
поделиться

14 ответов

Ммм, я не знаю, как это сказать. Некоторые люди могут меня за это вышибить.

Язык (Groovy и Ruby)

Я считаю, что Ruby более фанковый по сравнению с Groovy. Groovy существует только для того, чтобы облегчить Java-программисту, поскольку вам не нужно изучать слишком много нового синтаксиса. Но в целом я считаю, что он не такой классный, как Ruby. Groovy не был бы языком JVM, который стоит изучить на основе голосования участников на JavaOne в этом году, но вместо этого Scala - это то, что нужно. Кроме того, изначальный создатель Groovy вообще не верит в язык, который он создал сам .

Сообщество и вакансии

Что касается сообщества, сообщество Grails не такое большое, как Rails, хотя с момента приобретения Spring все больше и больше людей используют его в серьезных приложениях. В Rails больше вакансий на рынке по сравнению с Grails (если вы хотите вложить деньги в поиск новой работы).

Фреймворк (Grails и Rails)

Но как фреймворк, если вы действительно заботитесь о ремонтопригодности и вам нужен доступ к фреймворку Java и устаревшей системе Java, Grails - это то, что вам нужно, поскольку он обеспечивает более чистый доступ к Java. Сам Grails построен на нескольких популярных фреймворках Java (Spring и Hibernate). Сам Rails, IMHO, напуган, как и сам Ruby, но его напуганность стоит вам ремонтопригодности. Сам Мац предпочитает Merb Rails 2 , потому что Rails создает DSL поверх Ruby, что на самом деле противоречит философии Ruby. И я считаю, потому что сам Rails является общепринятым, что, в свою очередь, если у вас нет того же мнения, что и у создателя, оно может не соответствовать вашим потребностям.

Заключение

Итак, в вашем случае, изучите Grails, поскольку это консенсус компании (вы должны уважать консенсус) и если вы все еще хотите обеспечить свою работу. Но потратьте некоторое время на изучение Rails и Ruby, если вы хотите получить шанс получить новую работу в будущем.

17
ответ дан 29 November 2019 в 20:39
поделиться

Я сказал бы "нет", я изучаю Grails также, и я рассмотрел это также, но просто изучение Grails является довольно большим плюс изучение Groovy (который предоставил, легко, но все еще должен изучить его правильный?) и все, чем... настолько учащиеся направляющие были бы просто слишком много.

0
ответ дан hendrixski 29 November 2019 в 20:39
поделиться

На первый взгляд Вы думали бы, что они - абсолютно различные истории, так как они основаны на чрезвычайно различных языках (Ruby и Groovy).

Затем после чтения нескольких учебных руководств, Вы поймете, что они совместно используют те же принципы, леса, утиный ввод.. и наконец та же цель: делающий гибкий программирующий выполнимый .

, Если Вы уже чувствуете себя довольными условиями как МОК и MVC, Вы найдете любую из этих опций легкой и захватывающей учиться.

0
ответ дан Ivan Arrizabalaga 29 November 2019 в 20:39
поделиться

Я предпочитаю Grails, а не Rails, но изучение Rails даст вам более сбалансированную перспективу и фактически откроет вам глаза на пропущенные вещи, которые возможны в Grails.

1
ответ дан mbrevoort 29 November 2019 в 20:39
поделиться

Перейдите прямо в Grails. Я уверен, что Ruby/направляющие хорош, но так в Groovy/Grails. Я рекомендую эту книгу.

http://beginninggroovyandgrails.com

Помнит, что опечатки онлайн. В книге существует несколько ошибок.

http://beginninggroovyandgrails.com/site/content/errata

кроме того, проверьте 3-минутное и 30 вторых демонстраций создания Вашего первого приложения Grails.

http://grails.org/Grails+Screencasts

Это учебное руководство покажет Вам основы.

http://grails.org/Quick+Start

1
ответ дан 29 November 2019 в 20:39
поделиться

Да, Grails - это путь. RoR хорош, но он связывает вас с экосистемой Ruby. Частью усилий по изучению новой среды или языка является изучение библиотек классов, а также синтаксиса языка. Если ваши сотрудники все типы Java, вы будете гораздо лучше получать помощь и поддержку, поскольку все они будут говорить на одном языке с вами.

Другое преимущество изучения Groovy и Java - это то, что веб-фреймворки, такие как GWT, откроются перед вами. У Grails есть плагин GWT, и как разработчик внешнего интерфейса вы по достоинству оцените простоту использования и совместимость с различными браузерами.

Также существует по крайней мере одна хостинговая компания, предлагающая бесплатный хостинг приложений Grails ( http://www.mor.ph/ ), что означает, что вы можете создавать прототипы сайтов на небольших объемах данных, прежде чем платить.

1
ответ дан Peter Kelley 29 November 2019 в 20:39
поделиться

@Levi Figueira

, С одной стороны, Grails намного более гибок, чем направляющие. Направляющие трудно использовать с DB прежней версии, потому что ActiveRecord имеет слишком много конструктивных ограничений, за которыми многие DBS прежней версии не следовали. Grails, oth, может использовать стандарт, в спящем режиме отображения, которые могут разместить намного более широкий диапазон проектов DB.

1
ответ дан Hank Gay 29 November 2019 в 20:39
поделиться

Вы должны просто пропустить RoR и сосредоточиться на изучении Grails, который вам понадобится для работы.

1
ответ дан CodingWithoutComments 29 November 2019 в 20:39
поделиться

Просто пропустите RoR. Существует действительно не много подобных вещей (помимо имени)

, я, конечно, полагаю, что быть достаточно знакомым с Java, плюс некоторое программирование опыта с динамическим языком состоит более чем достаточно в том, если Вы планируете сделать серьезную разработку с Grails.

Сравнение просто только просматривает (taglibs в Grails, RHTML в RoR), и материал персистентности (GORM по сравнению с ActiveRecord) просто слишком отличается в ядре, для инвестирования времени, изучая вшивые песчаные детали RoR. Просто погружение в Grails, Вы не будете сожалеть.

Редактирование: исправленная опечатка.

2
ответ дан Camilo Díaz Repka 29 November 2019 в 20:39
поделиться

Я изучал RoR и Grails, и последний гораздо легче выучить.

Обе структуры используют одни и те же принципы (гибкая, целующаяся, сухая, утиная печать и т. Д.), Но синтаксис Groovy ... ну просто великолепен, его можно изучить и использовать в мгновение ока.

Я действительно чувствую, что у Grails светлое будущее, чем у RoR.

П.Д .: На тот случай, если вы сочтете это полезным, мой колледж работает с Grails и ведет блог с некоторыми советами:

http://dahernan.net/search/ метка / Grails

3
ответ дан Ivan Arrizabalaga 29 November 2019 в 20:39
поделиться

Я изучил бы обоих. Они и и ближайшие технологии. Изучение УСПОКОИТЕЛЬНОГО кодирования является реальной выгодой на любом языке.

я использую Grails на работе и RoR для параллельных проектов. Я могу сказать, что сообщество RoR является намного более многочисленным (я говорю о RoR по сравнению с Grails не RoR по сравнению с Java), и очень полезный.

Короткий Ответ: Они подобны...., что это могло повредить?

4
ответ дан Kevin Kaske 29 November 2019 в 20:39
поделиться

Просто вопрос, является ли причина, по которой они выбирают Grails, потому что Groovy по синтаксису ближе к Java, чем Ruby, или потому что им нужен доступ к Java?

Если это первое, то я сказал бы попытаться сосредоточиться на Grails, так как это то, что вы будете использовать. Если это последнее, вы можете посмотреть, готова ли команда разработчиков к использованию JRuby.

Я никогда раньше не использовал Grails или Rails, но раньше я использовал Groovy и Ruby, и как язык я считаю, что Ruby намного чище и последовательнее, и команда может получать больше удовольствия от производства. Как платформа, Rails существует дольше и уделяет много внимания, поэтому я думаю, что это более стабильная платформа для использования с более детализированными функциями.

JRuby имеет полный доступ к классам, написанным на Java, поэтому я бы сказал, что стоит попробовать Rails. Если уже слишком поздно принимать решение об этом, я думаю, вы можете просто проигнорировать этот пост.

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

8
ответ дан Mike Stone 29 November 2019 в 20:39
поделиться

Сообщество направляющих было очень красноречиво в проповедовании христианства RoR, так что в итоге большие надежды были установлены и не всегда оправдывались (производительность программиста хороша, но обеспечение хорошей производительности, однажды развернутой, не так легко).

Grails был разработан как преемник в виде сценария Java, тогда как интеграция Java Ruby, используемая в JRuby на направляющих, например, должна была быть модифицирована.

я предложил бы, чтобы Вы придерживались Grails; это не может иметь того же блеска как RoR, но это - прагматический выбор; Вы получаете улучшенную производительность и повторное использование существующих библиотек Java.

1
ответ дан Andrew Whitehouse 29 November 2019 в 20:39
поделиться

Да, если мы сравним grails и rails, я бы выбрал grails (я разработал несколько приложений для интрасети в grails).

Но Django превосходит оба - так как python - это, хм, идеальный выбор.

0
ответ дан 29 November 2019 в 20:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: