Насколько безопасна разработка для платформы JDK7? - PullRequest
4 голосов
/ 30 октября 2010

У нас есть проект, который (предполагается) будет завершен через 1-2 года.К тому времени JDK7 (и, надеюсь, спецификация Java7 JCP) должна быть готова.

Но, мне интересно, насколько вероятна «опасность» того, что Oracle примет «глупое» решение, которое примет JDK7менее "привлекательной" платформой, чем существующая JDK6?

Более конкретно, я боюсь сценариев, таких как:

  • остановка разработки JDK7 до того, как он будет "выпущен"
  • изменение модели лицензирования на более жесткие, чем JDK6
  • ... существуют ли другие сценарии, о которых следует знать?

Каково ваше мнение по этому вопросу?

ПРИМЕЧАНИЕ. Мы будем использовать файловый API NIO2 и, возможно, другие функции только для JDK7, которые были приняты для «План B» (План A был отклонен, было предложенопродолжать разработку JDK7 гораздо дольше, вместо этого был принят План B: разработать JDK7 с меньшим количеством функций и отложить их для JDK8)

Ответы [ 2 ]

3 голосов
/ 30 октября 2010

Это зависит от того, сколько специфических функций Java 7 вы используете.

Если ваш код все еще может компилироваться на JDK 6, я бы сказал, что вы в полной безопасности.Вы можете работать на JDK 7, поскольку он имеет обратную совместимость, но если есть проблема, вы все равно можете развернуть ее на 6.

Если Oracle сделает что-то действительно глупое, у вас будет более серьезное решение: переписать ли яэто приложение на C #, Python или что-то еще?

Мне будет интересно посмотреть, насколько хорошо JDK с открытым исходным кодом позволит вам хеджировать свою ставку.

Мне также было бы интереснопосмотрите, какие функции JDK 7 вы уже используете: замыкания?

2 голосов
/ 30 октября 2010

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

В дополнение к отмеченным рискам, набор функций, запланированных для Java 7, постоянно меняется.

...