Поскольку мой вопрос уже подразумевает, что я хочу выучить новый язык и прочитал несколько статей об отличном и его больше прагматического синтаксиса. ТАКИМ ОБРАЗОМ, я выбрал Groovy в качестве языка моего выбора.
Что хороший путь состоит в том, чтобы выучить новый язык как Groovy, когда я уже знаю основные принципы Java. Когда я пойму правильно, что Groovy будет выполнять в виртуальной машине Java и позволяет мне всегда полагаться на то, что я знаю от Java, когда я не знаю, как решить проблему в Groovy.
Я ищу подсказки, как организовать дорожку изучения для изучения этого языка. Я нашел что страница, объяснив различия: http://groovy.codehaus.org/Differences+from+Java, Но что я ищу, является больше учебным руководством, где я могу пройти и представляться различиям.
Для этой конкретной цели написано несколько статей: «От Java до Groovy за несколько простых шагов», часть 1 и часть 2 . Их написал Гиллом Лафорж, один из вдохновителей Groovy. Статьи хорошо написаны, легко читаются и представляют собой хорошее введение для разработчиков Java. Кроме того, в официальной документации Groovy есть учебник для начинающих .
Освоив основы, легко перейти к интерактивной документации Groovy для конкретных задач .
Лично я считаю, что упоминание старого языка, который я знаю, для изучения нового языка - не лучшая идея. Причина, по которой я говорю это, заключается в том, что на новом языке вы хотите научиться выражать и использовать структуры данных, идиомы, стиль и т. Д. На ЭТОМ языке. Вы хотите, чтобы разработчики Groovy сказали, что код написан Groovy-разработчиком, а не Java-разработчиком.
Пример использования Groovy и Java: разработчики Java обычно используют цикл для коллекций, а в Groovy - замыкание. Они могут выглядеть одинаково, но это не так. В Java мы применяем данные к коду, тогда как в Groovy мы применяем код к данным. Изучение этой тонкой разницы важно для понимания остальной части Groovy API и поможет вам понять эту концепцию.
Также я думаю, что этот подход к изучению нового и старого языков может не работать так хорошо с другими стилями программирования, такими как функциональное.
Вы также можете взглянуть на эту статью Джеймса Страхана, автора Groovy:
http://macstrac.blogspot.com/2009/04/scala-as-long-term-replacement-for.html