Pull to refresh

Comments 26

Судя по трекеру они за 20 дней более 1000 тикетов закрыли. Как же тогда получается, что они несколько лет лямбды внедрить не могут.
Вместо того, чтобы ныть, Вы лучше бы взяли и пофиксили пару багов в JDK!
Не понял вашу агрессию на ровном месте. Я вообще задался вопросом как же так получилось и ваш ответ никак не пролил на него свет. И тот факт, что я бы пофиксил пару багов также никак не приблизил бы лямбды.
Зря его не хватит на то, чтобы изучить внутренности OpenJDK до того уровня, чтобы не написать туда ещё своих багов.
Но в одном вы правы, здесь время можно только потратить.
А Вы начните с P5, говорю же! там есть простые типа опечаток в API-ном javadoc. На таких багах можно отработать весь процесс интеграции изменений в OpenJDK. А потом можно простые баги начинать фиксить. Ну и когда почуствуете уверенность — тогда уже фиксить сложные баги!

Разве не круто иметь своё имя среди контрибьюторов OpenJDK? По-моему, это очень круто!
Уже несколько лет юзаю лямбды в Java. В чем проблема? ;)
Может я чего не знаю, тогда просветите меня. Самая популярная версия jdk, это jdk от Orcacle. Поддержка лямбд в ней появится только с версии 8. Версия 8 ещё не вышла. Кроме того не всегда можно заменить её на OpenJDK. Например при попытке под linux запустить InteliJ Idea на OpenJDK я получил сообщение о незакрытых багах и рекомендацию установить jdk от Oracle. В продакшене крупных проектов такое вообще не прокатит.
Следовательно большинство разработчиков пока не могут использовать лямбды.
Является ли это, на ваш взгляд, достаточно веской проблемой?
Здесь конечно вы можете сказать, что проблемы jdk от Oracle не касаются OpenJDK, но это ведь не так. OpenJDK основывает свои релизы как раз на версиях от Oracle. И стабильная версия OpenJDK 8 тоже ещё не вышла. Поэтому если это действительно готовое к продуктиву решение, то поделитесь опытом.
У Вас в голове каша))

1. Лямбды появятся как часть стандарта Java SE 8. OpenJDK и Oracle JDK — это две его реализации, при этом именно OpenJDK — каноническая реализация (Reference Implementation, RI). Кроме того, наверняка будут реализации от IBM, HP, Azul, Excelsior, Fujitsu и др.

2. Поэтому Oracle JDK построена из OpenJDK, а не наоборот.

3. Oracle JDK — это реализация от Oracle, исходный код которой на 99% совпадает с OpenJDK. Различия обусловлены, например, тем, что в OracleJDK может входить какой-нибудь не-OpenSource кодек видео, а в OpenJDK не может. Плюс есть возможность заключить контракт с Oracle на платную поддержку.

4. В продакшене крупных проектов, если у вас нет контракта с Oracle, лично я рекомендую использовать именно OpenJDK, потому что именно она является RI. Более того, например, проект IcedTea является, по сути, сборкой именно OpenJDK под RHEL.

5. На клиенте, наверное, OracleJDK может быть полезнее. Там наверняка используются крутые не-опенсорсные либы для картинок, видео, звука и т.п. Возможно, именно с этими эффектами и связано замечание JetBrains. Кроме того, как Вы справедливо заметили, почти все юзают именно Oracle JDK, а не OpenJDK. Полагаю, что именно поэтому ребята из JetBrains, в первую очередь, тестируют свою IntelliJ IDEA именно против Oracle JDK.

6. Причём тестируют против конкретной версии. Представьте, что в Oracle JDK 7u10 (с которой нынче бандлится IDEA) есть баг. Ребята из JetBrains, допустим, используют какой-то workaround. И тут бац, выходит OracleJDK 7u40, в которой баг пофикшен. Вопрос: вы уверены, что Workaround продолжит корректно работать?

7. То, что какие-то разработчики не могут использовать лямбды — это их проблемы. Таковы условия работы в коммерческих проектах. Я Вам больше скажу, я в мае выступал в Киеве на JEEConf и спросил у зала, кто какую Java использует. Так вот, Java 7 используют только процентов 10-15, а больше половины сидят на Java 6. Хотя с момента релиза прошло уже два года.

8. Я чувствую, что нужен пост в духе «Чем OpenJDK отличается от Oracle JDK».
8. Отличная идея, между прочим.
На самом деле спасибо за разъяснения. Т.к. я с момента появления OpenJDK так в деталях и не разбирался в отличиях от Oracle JDK. Для этого как раз и есть комментарии, чтобы в них делиться знаниями, т.к. всё знать не получается и бывает пропускаешь вот такие фундаментальные моменты.
Только вот на счет лябд. Получается, что использовать их можно только в бета-версии, что на мой взгляд всё-таки рискованно.
ps: Если вы напишите отдельный подробный пост с различиями, я думаю это точно не повредит. По крайней мере недопонимающих, какая JDK от какой пошла, станет меньше.
Проблема в том, что для отключения этого ворнинга нужно править скрипт запуска Идеи. Многим такое в голову не приходит, и ворнинг «поставьте другой jdk» давит на подсознание. Да и сам ворнинг там с незапамятных времен, когда еще предлагалось сразу после установки пройти в README.TXT и посмотреть, какими флагами убирать баги awt.
По сравнению с некоторыми другими современными мэйнстримными технологями типа node.js (с ее библиотечным окружением), имхо, java8 просто оплот стабильности.
ну да)) Сотни людей занимаются тестированием Java 8 и получают за это зарплату! Тысячи пользователей шлют свои фидбэки на предварительные сборки OpenJDK 8. Как ни крути, Java — самая популярная в мире платформа.
Вы уж извините, но не поёрничать я не мог.
Сначала все кричат, «ууу перенесли лямбды из 7-ки в 8», потом «уууу выход 8-ки перенесли год с 2013 на 2014» (на самом деле на полгода), «уууу да чего там за тормоза в Оракле не могут тут какие-то паршивые лямбды зафигачить».
А потом я начинаю спрашивать людей — «а вы какую Java то юзаете?». И вижу, что на 7-ку перешло 10-20%. 50% на 6-ке. куча на 5-ке, И!!! <барабанная дробь> всегда, на любой конференции находятся мыши кушающие 1.4 </барабанная дробь>
Ну зачем вам 8-ка? Поиграться? Для своих проектов? Так я свои проекты уже 2 года на 8-ке пишу.
А про «зафигачить Java с лямбдами и фичами» так не выйдет — если уж зафигачить по быстрому, то получится исключительно «Java c лямбдами и багами». Все такие супер разработчики, но почему-то про цикл тестирования никто не думает. А ведь именно тестирование на данный момент самая дорогая по времени и ресурсам часть разработки.
Витя Полищук в Киеве был единственным человеком, который поднял руку на все 4 озвученные тобой варианта Java :) А вообще данные моего Киевского опроса сильно совпадают с твоими. Так что можно довольно уверенно говорить, что ты имеем некий показательный срез.
Вот буквально пять минут назад искал! Спасибо!

Но
Everyone with OpenJDK Author status or above…

А как можно простому смертному вроде меня засабмитить пару свежих багов? Куда обращаться?
Извиняюсь, вроде уже сам нашёл.
Статусы Author, Commiter, Reviewer используются при создании чейнджсетов. Это отдельная тема, связанная с разделением прав в проектах и их репозиториях. Можно было бы написать отдельную статью о том, как, найдя баг и создав фикс для него, отправить свой патч в OpenJDK, а также стать частью такого крупного и важного проекта.
Questions and Comments
General questions about JBS can be sent to discuss@openjdk.java.net.
Feature requests for JBS itself can be sent to ops@openjdk.java.net.

Взято из JBS Overview

напишите им!
Sign up to leave a comment.