2010-01-14 4 views
7

Я разработчик java, и я хочу знать, Какова основная польза от изучения такого языка, как Scala или Groovy?Зачем разработчику Java изучать дополнительный язык JVM?

+1

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

ответ

10

Вы можете получить такую ​​же выгоду от изучения другого языка JVM, изучая любой новый язык. Это повышает понимание программирования в целом и, что более важно, это добавляет еще один инструмент для вашего инструментария.

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

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

+0

+1. Именно то, что я думал. Инструменты хороши. И хотя это может быть забавно сбить все с помощью молотка, это не идеально :-) – Joey

0

Преимущества языка сценариев внутри jvm. Бесшовное взаимодействие с скомпилированным кодом Java.

1

из http://groovy.codehaus.org/:

«Groovy подобен супер версии Java может использовать возможности Enterprise Java, но также имеет интересные функции производительности как закрытия, строителей и динамической типизации Если вы разработчик, тестер или сценарий.. гуру, ты должен любить Грового.

Так что во многих случаях имеет смысл использовать Groovy над Java; Например, в модульных тестах Java!

1

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

0

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

2

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

Языки, такие как Scala и Clojure, работают на JVM и демонстрируют отличную производительность в многоядерных системах без введения требований синхронизации.

И, конечно, вы все еще можете использовать все богатство библиотек, доступных для Java.

3

Другие ответы здесь имеют очень хорошие моменты, но есть одна вещь, которую мне не хватает.
Хороший кодер редко идентифицирует себя как «разработчика Java», «разработчика Python» или любого «разработчика». Изучение другого языка (будь то язык JVM или нет) заставит вас понять, что в мире гораздо больше возможностей учиться.

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

Вот почему Прагматические программисты поощряют каждого программиста изучать язык в год.

+0

+1 Это единственный ответ, который решает проблему. Я согласен, что мы не должны помечать теги, такие как «Java Developer», «Python Developer »или« Любой разработчик ». – aProgrammer

0

К сожалению больше вопросов, чем ответов ..

  • Что бы вы проводите свое время, если вы не в изучении нового языка?
  • Почему вы ограничиваете себя языками JVM?
  • Было бы более полезно узнать, что происходит при тестировании?
  • Что касается изучения стандартных патентов на дизайн?
  • Что вы пытаетесь достичь с вашими инвестициями времени?

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

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

5

Некоторые хорошие причины, которые приходят на ум:

  • Они имеют особенности, которые Java не имеют и которые могут оказаться полезными при определенных обстоятельствах.
  • Они используют разные парадигмы программирования, разные способы мышления.
  • Изучение других языков открывает ваш разум.
  • Изучающие языки заставляют вас осознавать свои сильные и слабые стороны.
  • Они все больше и больше внимания уделяют поддержке JVM (с Java 7).

На самом деле, может быть, задать себе обратный вопрос:

  • Почему бы не узнать об addiitional язык виртуальной машины Java?