2009-07-12 3 views
1

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

EDIT: Как выбрать язык между всеми языками JVM?

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

(У меня был список вопросов, прежде чем, но мне сказали, что они уже в Википедии)

+0

Связанный: http://stackoverflow.com/questions/821105/functional-languages-erlang-f-haskell-scala –

ответ

5

Сначала нам нужно знать, в чем ваши потребности!

Потому что большинство вещей, о которых вы просите, уже ответили в ссылках из статьи в Википедии.

Edit: после переформулирование вопроса, я полагаю, что ваша главная цель состоит в том, чтобы весело провести время программирования с новым языком ...

Тогда я думаю, что динамический язык, как Groovy или Jython будет смешнее использовать, так как вы можете быстрее получить руки и увидеть результаты того, что вы делаете сразу в интерпретаторе. Лично я предпочитаю Jython, потому что он основан на Python (на самом деле это Python, но немного устарел), но я должен признать, что Groovy более тесно связан с JRE, он более синтаксически похож на Java и, следовательно, может быть лучше вариант.

Если вы хотите изменить немного свой образ мышления (если у вас есть процедурный/императив фон, как и большинство людей), то я рекомендую вам Scala, Clojure, SISC или Armed Bear CL (те два последних не входят в список Википедии).

Также я считаю, что стоит следить за Fortress, что может быть следующим «большим» языком для JVM ... Я не смотрел на него в течение длительного времени, но теперь кажется, что это уже готовый к загрузке, самостоятельно строить и тестировать. Если вы хотите получать удовольствие, возможно, этот вариант станет лучшим вариантом, потому что он имеет «действительно классные функции» (например, написание математических выражений в форматировании, подобном LaTeX, которые фактически разбираются компилятором и используются для точной печати документации) и вы будете постоянно поражены предстоящими изменениями, поскольку это язык активного развития.

+0

Спасибо за отзыв, отредактирован, надеюсь, это лучше. –

+0

Благодарим вас за очень информативный ответ. Крепость выглядит очень уникально. –

5

Как насчет Groovy

Каковы его сильные стороны?

  • динамическая типизация
  • укупорочные
  • ассоциативные массивы
  • безопасный навигатор оператор
  • вызовы Java изначально

В какие приложения он наиболее подходит для?

  • сценариев
  • контроль grails

Что его кривая обучения?

  • довольно легко узнать

Качество своей документации, поддержки и и размер его форум ответив фан-базу.

  • хорошо, имеет большой распространяемого

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

  • созревают

Что вам больше всего нравится, а что меньше ...

  • Мне нравится то, что они сделали с Граалей
+0

Спасибо, я знаю, что Groovy - один из лучших игроков, я блуждаю, как его сравнивают с Scala и другие игроки, я предполагаю, что основное отличие состоит в том, что Scala статически типизирована? –

2

Вы не говорите, почему ты если это язык JVM. Почему для вас время выполнения?

Предположим, что был язык, не являющийся JVM, который забил действительно высокий по всем вашим критериям, было бы интересно?

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

Обучение: не путайте сам язык и комплект окружной библиотеки. Мастерство библиотек - это то, что делает вас продуктивным. Вы увидите большой набор API-интерфейсов Java как нисходящий - так много, чтобы учиться! или вверх, там есть библиотека для чего-нибудь!

+0

Спасибо за ответ, я тоже доволен Java, но хотел попробовать некоторые из этих других языков. Я действительно думаю, что JVM может многое предложить с точки зрения переносимости, отладки, защиты от стековых атак и т. Д., Поэтому меня интересуют языки JVM. Также я считаю, что это текущая тенденция в программировании (возможно, из-за этого) :) Что касается обучения, я хотел бы знать, как трудно изучать сам язык, и я согласен с тем, что это библиотеки, которые делают большую часть производительности, но я понимаю, что большинство (все?) языков JVM могут использовать любую другую библиотеку на основе байт-кода. –

Смежные вопросы