ценность для изучения отличный? [закрытый]

6
задан Chris Dail 11 January 2010 в 21:17
поделиться

9 ответов

Цитата:

так почему бы мне просто не придерживаться java. и быть хорошим в ОДНОМ языке вместо необходимость переключаться между 2 языками и их синтаксис.

Это похоже на более общий вопрос об изучении языков программирования, чем об изучении нового языка (Groovy), который работает поверх Java Virual Machine.

Вот вопрос:

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

Если бы вы собирались учить Груви, но не хотите забывать, как писать Java, то почему бы не продолжать использовать оба языка одновременно?

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

12
ответ дан 8 December 2019 в 02:00
поделиться

Почему вы тоже не пишете свои настольные приложения в Groovy? То, что Groovy - это выбор веб-фреймворка (grails), не означает, что вы не можете использовать его для настольных приложений.

Действительно, он отлично подходит и для настольных приложений. Это скорее вопрос динамических или статических языков ...

На мой взгляд, неплохо иметь под рукой подходящий язык для каждой задачи. Так что продолжайте и изучайте Groovy - в результате вы упустите возможности grovy, когда снова попытаетесь использовать java; -)

7
ответ дан 8 December 2019 в 02:00
поделиться

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

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

4
ответ дан 8 December 2019 в 02:00
поделиться

Во-первых, это очень субъективный вопрос.

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

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

2
ответ дан 8 December 2019 в 02:00
поделиться

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

Также -

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

1
ответ дан 8 December 2019 в 02:00
поделиться

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

Groovy - это динамический язык после попытки изучить любой функциональный язык (например, Scala). Благодаря этому опыту вы увидите Java с разных точек зрения. Некоторые задачи, которые были болезненными в Java, будут тривиальными в Groovy / Scala.

0
ответ дан 8 December 2019 в 02:00
поделиться

Перейти от Явы к Крутому не так уж и много работы. Нет места, где рядом с тем, что было бы необходимо, чтобы перейти на менее Javaish язык, как clojure.

Мне очень нравится клёвый язык для одноразовых приложений и для написания скриптов существующего java кода. Я использовал его для разбора данных из REST-вызовов и подачи данных в очередь JMS. Я использовал его для создания скремблированных тестовых данных для партнера из наших производственных данных. Для таких вещей это удивительно.

Если целью является изучение динамического языка для добавления в инструментарий, то и Python, и Ruby являются хорошим выбором. Они работают на JVM и имеют родные версии. Оба хорошо поддерживаются на большом количестве платформ.

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

Раньше я придерживался правила "выучить новый язык каждый год" из The Pragmatic Programmer, но это было до того, как у меня появились дети. Теперь я выучиваю новую игрушку каждые полгода.

3
ответ дан 8 December 2019 в 02:00
поделиться

Платформа Java медленно начинает изменять направление к тому, где JVM нацелена на множественные исходные языки (трюк .NET демонстрирует с 1 дня, но он принимает Java некоторое время догнать там). Формат Java7 Classfile даже добавляет новую инструкцию, чтобы сделать эти динамические языки работать быстрее.

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

Кроме того, Groovy (и Grails) теперь поддерживаются Спрингснгсом, поэтому его популярность будет только увеличить.

3
ответ дан 8 December 2019 в 02:00
поделиться

Groovy - хороший, скриптабельный и простой в использовании Java "подделка" - и я не имею в виду это умаление. в то время как Java - язык, который должен быть скомпилирован, развернут и (часто) запущен на серверах Enterprise, где производительность имеет значение, Groovy - это язык, где вы можете быстро создать программу, чтобы что-то сделать. Часто что-то достаточно простое, так что это час или день усилий по кодированию. Часто код запускается только один раз, а затем выбрасывается. Поскольку в Java больше шаблонов и формализма, то в Groovy вы можете делать такие программы быстрее и, следовательно, эффективнее.

Однако, чтобы дать вам некоторое представление, Груви - относительный новичок, топчущийся на газоне различных других, лучше устоявшихся скриптовых языков:

  • Perl - один из дедов скриптовых языков; редко удается установить Unix-сервер без Perl, а Perl-скрипты - это жизненная сила многих серверов. Тем не менее, Perl - это язык только для записи, который выглядит как шум линии для непосвященных. Существует не один способ сделать все, поэтому стили сильно расходятся. Кодирование на Perl имеет тенденцию быть немного запутанным.

  • Python - более свежий и чистый скриптовый язык, чем Perl, и в наши дни многие предпочитают его в качестве скриптового языка. Программировать на нем весело, он делает все возможное, и поскольку он существует уже несколько лет, многие люди знают его. Python находится за/внутри ряда системных утилит Linux.

  • Groovy оставляет Perl и Python в пыли, когда (a) окружение уже использует JVM и/или есть требование использовать существующий Java-код, включая библиотеки. Пока все хорошо. Groovy не молниеносно быстр, но быстрее Python. Будучи динамически набранным, это "весело" и "легко" программировать так, как это делает Java.

  • Но потом появилась Скала. Скала как Java на стероидах. Она статически набирается, так что программировать не так "весело", как Groovy, но у нее есть типовой вывод, так что часто можно оставить типы без внимания, и компилятор сможет их вычислить. Scala очень усердно работает, чтобы максимально использовать типы; он делает общие типы намного более бесшовно, чем Java. Он обходится без большого количества шаблонов Java, поэтому программы Scala, как правило, примерно на 30% короче, чем аналогичные программы Java. Scala работает на JVM и довольно хорошо взаимодействует с кодом Java. Она также работает примерно так же быстро, как Java, чего большинство других языков не делают.

  • Наконец, в историческом порядке существует Clojure. Clojure является производной языка Lisp, так что стиль программирования в нем очень отличается от языков, которые вы бы знали иначе, и он прожигает много скобок! Но Clojure работает на JVM, он очень совместим со всеми остальными языками Java, и набирается динамически. Вы можете использовать его как скриптовый язык или относиться к нему как к скомпилированному языку... это зависит от вас. Мне нравится программировать на нем, и тот факт, что это почти чистый функциональный язык, заставляет задуматься о программировании по-новому. Вначале это ранит твою голову, но если ты выживешь, то это очень полезное упражнение, потому что ты научишься некоторым техникам, которые станут более актуальными (я думаю) при программировании в будущем.

Подводя итог, можно сказать, что вам было бы неплохо (причесать волосы на груди, если бы я мог быть таким сексистом) выучить один или несколько из этих "альтернативных" / "скриптовых" языков. Вы можете найти их полезными. Обычно, когда есть что-то, что можно быстро взломать в моем проекте, я получаю работу, потому что все мои коллеги знают только Java, и к тому времени, как они закончат настройку своего классового фреймворка, я уже закончил.

40
ответ дан 8 December 2019 в 02:00
поделиться
Другие вопросы по тегам:

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