Проблемы OpenJDK или в очередной раз про идиотизм Orcale


Ну для начала лекция для тех кому интересно въехать в курс дела:

У меня к OpenJDK есть такие претензии:
1. Название, я поначалу подумал «ну вот ето JDK а мне на сервер достаточно только JRE» и искал OpenJRE 🙂
2. Сайт: посмотрите на сайт Mono http://www.mono-project.com/ — красивый, всё ясно куда нажимать. А теперь посмотрите на это уродство http://openjdk.java.net/ . Я не дизайнер, и неприхотливый но даже меня тошнит. А ведь это же маркетинг!
4. Почему IDEA упорно не дружит с ним? Это меня настораживает — вы говорите что OpenJDK на 99% соответсвует обычной OracleJDK, но идея пишет что будут проблемы с графикой. Это правда? В чём причина? Напишите JetBrains чтобы они убрали это сообщение.
5. Где версия под Windows?
6. Отправлять патчик по мылу это прошлый век — перенесите проект на GitHub!

До сих пор у всех осталось отношение к OpenJDK как к кастрированому форку православной сановской Явы.
Боюсь чтоы избавится от этого его прийдётся переименовать и впихнуть в него что-то модное чтобы пресса рассказала о нём как о прорыве.

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

Ruby, Ruby, Ruby, Ruby! And do ya, do ya, do ya, do ya!

Просто несколько вещей которые бесят постоянно. Можно расписывать их много, но тут я акцентирую внимание на том что уровень вхождения в Яву выходит большим из-за банального разгильдяйства Oracle. Неожиданно, но они совсем не учитывают что платформу нужно ПРОДАВАТЬ, и очень важен маркетинг. А ведь ещё «корпорацией бабла» называются 🙂

JDK, JRE — WTF?

JDK содержит в себе полную JRE + SDK (компилятор, декомпилятор, дебагер и.т.д). Тем не менее, вместо того чтобы ставить отдельно SDK, всегда приходится полностью выкачивать JDK содержащий JRE.
Самое интересное, что теперь у нас есть OpenJDK, и несмотря на JDK в названии он же и JRE. Я окончательно запутался.

Is Java open soure?

Принято считать, что Java открытая платформа. Что можно считать открытой платформой? Сам язык Java, насколько я в курсе это вполне проприетарная технология. Открытые исходные коды — это ещё не значит что это открытая платформа. Например разработка Android ведётся в строжайшем секрете и ты не знаешь чем тебя удивит Google в следующей версии. Но так-то исходники открывают, да.
Изначально SUN не хотела выкладывать исходники Java из-за того что те содержали какой-то патентированый код. Я не очень понимаю почему это было большой проблемой. Можно было выложить то, что можно, а запатентированный код либо переписать, либо выделить в отдельный модуль. В принципе так вроде и сделали в результате чего получилась OpenJDK. Но тут есть ключевой момент: OpenJDK — это отдельный проект. Его нужно отдельно расскручивать, у него отдельный сайт, своё сообщество и, что потенциально опасно, свой код который может начать отличатся от того что внутри оракловой JDK. И тут сразу возникает следующий вопрос…

OpenJDK == Oracle?

На конференциях парни из Oracle утверждают что OpenJDK это на 99.9% тоже что и Oracle JRE, и что они вообще билдятся из одних исходников. Тем не менее, IntelliJ упорно отказывается работать с OpenJDK и запугивают проблемами с производительностью. Наверное тут дело в криворукости JetBrains, но всё равно настораживает.
Тем не менее, все продолжают использовать именно OracleJDK

Oracle принципиально не делает дистрибутива для Debian, а только для своей Solaris.
А в Ubuntu выпилили этот пакет, в результате каждый раз установка джавы превращаются в пляску с бубном: нужно прописать сторонний PPA, в котором инсталятор Java, который за тебя выкачивает её из сайта Oracle и устанавливает. Естественно такой пакет из стороннего PPA нельзя использовать как зависимость в своём пакете.

  1. На сайте Оракла чёрт ногу сломит, всё страшное и некрасивое. Ещё и вымагают регистрацию. Никакой заботы о пользователях, никакого маркетинга.
  2. Почему-то инсталятор сам не прописывает переменную JAVA_HOME и JDK_HOME. Что ему, жалко что-ли? Вообще переменные окружения это большое зло, может уже пора искоренить их вовсе?
  3. Успех платформы во многом зависит от наличия пакетного менеджера в поставке с ней. В Ruby есть gem, в NodeJS — npm. В яве ничего.
  4. Туториалы на оф. сайте стары как мир, без подсветки синтаксиса и никакого интерактива.

Как так получилось что откровенно поганая платформа Ruby стала такой модной и популярной? Умелый маркетинг.
Посмотрите на сайт например Mono, он выглядит приятней и опрятней, пускай это аутсайдерский проект, но даже там пытаются хоть ка кто для людей сделать.
Я уже молчу про прямого конкурента Java — платформу .NET.
На сайте много всячины и сразу же баннер на Visual Studio.
А теперь гляньте на Web 1.0 сайт явы. Фу!
Кстати, тоже самое касается самого языка программирования.
Если MS в целях маркетинга впихнул всё нужное и ненужное в C#, то в Яве даже самые нужные фичи добавляют с огромным скрипом. Вот например, лямбд все ждут уже десятилетие, и вот уже наконец в восьмой Яве будут.
Конечно, Ява по философии консервативна и стремится быть минималистичной, но не до такой же степени чтобы ждать пятой версии для for each циклов.

Когда то ява была прорывом, и очень потенциальной технологией.
Но тянули до последнего с открытием исходников, забили на дистрибьюцию, забили на десктопы, оконные программы смотрятся ужасно, просрали рынок аплетов который теперь заполонил поганый Flash, поругались с MS, а теперь ещё и с Google.

Маркетинг господа. Если вы ещё не поняли, то в постиндустриальной эпохе это самое главное.

Реклама

4 comments

  1. maxbanton

    В чём принципиальная разница использования OpenJDK и JDK компании Oracle (кроме «кастрированому форку православной сановской Явы»)?

    • stokito

      Давным давно Sun октрыла исходники Явы в проект OpenJDK, но не из-за патентных ограничений не все. Некоторых хитрых чисто сановских нестандартных пакетов не хватало, а многие успели на них подвяхатся.
      Были проблемы с производительностью.
      Со временем всё допилили и сейчас оракловая ява собирается из тех же исходников что и OpenJDK только слегка подшаманено.
      Т.е. технически и принципиально разницы теперь фактически нет

  2. Аноним

    И, тем не менее, одни и те же визуальные классы в оракловской java выглядят великолепно, а в openjdk — программисту становится стыдно за использование такого уродства в своей программе

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s