2009-10-11 3 views
3

В настоящее время я решил использовать альтернативный язык JVM для подключения существующего рабочего стола Swing, написанного на Java 6. Учитывая, что JavaFX специально предназначен для такого типа приложений, кажется, что мой лучший вариант: JavaFX Script.Что может стать сильным альтернативным языком JVM: Scala, Clojure, Fan, Script JavaFX или другим?

Однако, как насчет других видов приложений и библиотек? Будет ли JavaFX Script лучшим выбором для второго языка JVM?

В настоящее время, похоже, что Scala - наиболее обсуждаемый альтернатива языку Java. В этом месяце (октябрь 2009 года) он находится в позиции 34 в TIOBE index, тогда как JavaFX Script находится в позиции 44, а Clojure, Fan и Groovy находятся в положениях ниже 50.

Итак, каковы ваши впечатления? На каком языке вы бы потратили свое время на изучение и использование (и почему), если вы можете свободно выбирать язык для данного проекта для запуска в JVM?

ответ

1

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

+0

Некоторое время назад Солнце, похоже, заинтересовало толкание JRuby. Теперь кажется, что фокус (и деньги) переместился в JavaFX. Было бы интересно узнать, действительно ли это так. –

+0

Ну, разработчик JRuby перешел с Sun на Engine Yard. Очевидно, что Ruby преуспевает, и я ожидаю, что и JRuby, и Ruby останутся здесь. Вы знаете, JRuby запускает Rails, и это кислотный тест для функций Ruby. (The * Rails Singularity *.) Есть и другие проекты Ruby, которые до сих пор не могут этого сделать – DigitalRoss

+0

Я согласен с тем, что Sun, err, Oracle, явно инвестирует в JavaFX. Но я также полагаю, что нам все равно, поддерживает ли Intel данную вещь, которая запускается на их ЦП. Возможно, поддержка Sun для данного компилятора JVM не такая уж большая проблема? Я понимаю ваши проблемы, но после цитирования индекса Tiobe вы отвергаете язык в первой десятке в пользу тех, кто был убит, и я говорю это как поклонник Scala и Clojure. :-) – DigitalRoss

2

Лучший альтернативный язык и лучший язык в целом, IMO - это то, что лучше всего позволяет вам написать программу в лучшей модели для вас.

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

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

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

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

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

+1

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

+0

Просто имейте в виду. Например, если вы не знаете lisp, тогда игнорируйте Clojure. Если вам не понадобится FP, пропустите Scala. Если Java SE/ME/EE делает все, что вам нужно, но вам не хватает одной или двух функций, просто найдите язык, который поможет в этом, и узнайте об этом. –

3

Мой главный вопрос: почему вы портируете существующее приложение? Ответ на этот вопрос может дать вам некоторое представление о том, куда вы хотите пойти.

Некоторые быстрые перспективы основных вариантов:

  • Scala, на мой взгляд, лучше, чем Java Java. Если вы хотите, чтобы язык, который берет лучшие бит Java, но добавляет много новых нововведений и функций, то это может быть для вас.
  • Clojure - это изумительно хорошо разработанный язык, особенно если вы верите в будущее очень сложных параллельных приложений. Это также очень продуктивно - я могу, вероятно, создать больше ценности/час в Clojure, чем любой другой язык. Однако, если вы уже не знаете Lisp, это покажется очень незнакомым. Если вы хотите жить на передовой, чтобы получить эти преимущества, Clojure вполне может быть для вас.
  • Сценарий JavaFX - имеет некоторые очень приятные функции для GUI-дизайна и явно имеет поддержку Sun/Oracle. С другой стороны, я не вижу, что у него массивная тяга вне этого домена. Я бы предложил дать ему пробег, чтобы посмотреть, соответствует ли он вашим потребностям.
  • Java - все еще должно быть в вашем списке! Если причина, по которой вы портируете, состоит в том, что код становится трудно поддерживать, то, возможно, целенаправленная фаза повторного факторинга, оставаясь на Java, может принести вам преимущества, которые вы хотите. В Java можно писать совершенно хорошие графические приложения.
  • Groovy - очень хороший язык сценариев на JVM. Особенно хорошо, если вы хотите встроить функции сценариев в существующее приложение Java/JVM. Не уверен, что я бы выбрал его для (пере) написания полного приложения.
  • JRuby/Jython - Я не видел это сам, но слышал хорошие вещи. Наверное, наиболее подходящим, если у вас есть навыки Ruby/Python в команде, но также вы хотите получить преимущества платформы JVM.

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

  • Нет связанных вопросов^_^