Зачем разработчику Java изучать дополнительный язык JVM? - PullRequest
7 голосов
/ 14 января 2010

Я разработчик Java, и я хочу знать, В чем основное преимущество изучения языка, такого как Scala или Groovy?

Ответы [ 9 ]

10 голосов
/ 14 января 2010

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

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

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

5 голосов
/ 14 января 2010

Несколько веских причин, которые приходят на ум:

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

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

  • Почему бы не выучить дополнительный язык JVM?
3 голосов
/ 14 января 2010

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

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

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

2 голосов
/ 14 января 2010

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

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

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

1 голос
/ 14 января 2010

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

1 голос
/ 14 января 2010

от http://groovy.codehaus.org/:

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

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

0 голосов
/ 14 января 2010

Извините, больше вопросов, чем ответов ..

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

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

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

0 голосов
/ 14 января 2010

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

0 голосов
/ 14 января 2010

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

...