Подтвердить что ты не робот

Подстановка Groovy для Java Little By Little

Я немного проверял Groovy, и я чувствую, что понемногу перемещаю программу Java на Groovy - захватывая класс и делая его классом Groovy, а затем преобразовывая метод немного в сторону время - может быть относительно разумным способом использовать некоторые из функций языка Groovy. Я бы также сделал новые классы в Groovy.

Вопросы:

  • Это разумный способ конвертировать?
  • Могу ли я сохранить все мои общедоступные методы и поля в Java? Groovy "просто" надмножество, верно?
  • Что бы вы делали не в Groovy, но вместо этого предпочитаете Java?
4b9b3361

Ответ 1

Является ли это разумным способом преобразования?

Да

Можно ли сохранить все мои общедоступные методы и поля в Java? Groovy является "просто" надмножеством, правильно?

Почти надмножество, но не совсем. Например, == в Groovy вызывает метод .equals, но в Java он проверяет, ссылаются ли 2 ссылки на один и тот же объект. Другим примером является то, что Groovy не поддерживает этот синтаксис для построения массивов

Object[] objs = new Object[] { 1, 2, 4 }

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

Какие вещи вы бы не делали в Groovy, но вместо этого предпочитаете Java?

Я пишу все в Groovy, потому что я гораздо более продуктивен с Groovy, чем Java, и мне нравится программирование Groovy намного больше. Я бы использовал только Java, если бы была проблема с производительностью с некоторым кодом И, я мог бы продемонстрировать, что запись его в Java разрешила проблему. На практике это никогда не случалось со мной.

Могут также существовать социально-политические причины использования Java, например. некоторый код должен поддерживаться многими людьми, некоторые из которых не знают Groovy и не хотят его изучать.

Ответ 2

От Wikipedia:

Большинство Java-код также синтаксически действительный Groovy.

И

Некоторый код Groovy выглядит так, как будто на языке Java, но Groovyа не надмножество Java. Однако, за исключением несколько несовместимостей, можно обычно переименуйте файл .java в .groovy one и он будет работать. Groovy позволяет кодер, чтобы исключить некоторые элементы, которые требуются в Java, поэтому Groovy code может быть более компактным. Это делает Groovy кривая обучения для Java разработчики постепенно, поскольку они могут начните с синтаксиса Java и постепенно научитесь добавлять Groovy функции.

Что касается остальной части вашего вопроса, я думаю, что это кажется разумным способом прогресса. Я попытался бы сфокусироваться на смене связанных классов, чтобы использовать Groovy вместе, так что я легко знаю, какие классы используют этот язык при назначении задач разработчикам, которые могут не знать оба языка.