В ходе повторного голосования исполнительный комитет JCP (Java Community Process) одобрил (https://jcp.org/en/jsr/results?id=6016) принятие спецификации JSR 376 (https://www.jcp.org/en/jsr/detail?id=376) (Java Platform Module System), в рамках которой развивалось ключевое улучшение платформы Java 9. JSR 376 отражает изменения, подготовленные в рамках проекта Jigsaw, и предлагает принципиально новые для Java средства разбиения программ и JDK на модули.
После корректировки (https://www.opennet.ru/opennews/art.shtml?num=46634) графика подготовки Java 9 и переноса релиза на с 27 июля на 21 сентября, 24 участника комитета высказались за принятие JSR 376. Таким образом теперь больше ничего не мешает осенью выпустить Java 9. Компания Red Hat, которая выступала (https://www.opennet.ru/opennews/art.shtml?num=46519) против модульной архитектуры Jigsaw, полагая, что она может привести к нарушению работы уже существующих приложений, расколу экосистемы и фрагментации сообщества, воздержалась при голосовании.URL: https://twitter.com/java/status/879715121903185920
Новость: https://www.opennet.ru/opennews/art.shtml?num=46802
Переходите на Golang и все будет ОК!
Как у вас все просто...
как только generic и нормальное ООП осилите :)
> genericНужно.
> нормальное ООП
Ненужно.
миллионы жаба-кодеров бесконечно благодарны анониму, что он объяснил им, что им нужно, а что нет
>> generic
>
> Нужно.нет. генерики нужны..
а если генерики не нужны, то тогда и вообще статическая типизпция не нужна. нафига нужна статическая типизация без генериков? проще уж тогда в рантайме всё проверять без ваших дурацких статически-прописанных типов.
>> нормальное ООП
>
> Ненужно.действительно ОПП не нужно.
кой какие элементы из ООП можно использовать -- но *вся* идеология ООП (со принципами наследования и иерархии классов) разумеется этот бред не нужен.
> миллионы жаба-кодеров бесконечно благодарны анониму, что он объяснил им, что им нужно, а что нет
которые как правило не блещут особым умом. и знают не более 1~2 языков (например Java и чуть-чуть от C-lang).. а знай они чуть-больше -- просто не стали бы писать на Java
нет. джава разработчики появляются не от того чот на джаве комфортнее писать, а от того что на джаве нужно писать.
Какого размера проекты пишете? Сколько лет поддерживаете в активной разработке, когда требования бизнеса постоянно меняются?
Я думаю вы не услышите ответа
И шаблоны, как в c++ *trollface*
> И шаблоны, как в c++ *trollface*и даже лучше - Dlang
В контексте сравнения с Java ваша фраза выглядит странно...
>>Переходите на Golang и все будет ОК!
>ОК!ОК, Google, какой сейчас лучший компилятор Си++?
Ну вот разве что такое "Ок"...
Чтобы совсем без модулей, да?
Нет человека - нет проблемы.
Не знаю даже почему, но ужасно рад за джаву и ее сообщество. На джаве не пишу.
Есть где хорошее описание, чем лучше мавена?
Гугл в помощь - но оно для гранулярности меньше чем jar
Какбэ, вещи практически ортогональные
Чем Java лучше мавена?
Оно не лучше, а хуже, и не maven, а OSGI. :)
> Есть где хорошее описание, чем лучше мавена?Java?
не могут запилить целиком, уже 3 года, вот и решили хоть кусочек выкинуть в мир. Когда Oracle купила Sun - джава была впридачу, и на ней поставили точку. Но быстро не умрет, энтерпрайз живет размеренно.
Ну, знаете ли, альтернативы жаве пока не видно.
> Ну, знаете ли, альтернативы жаве пока не видно.Си шарп, например, он теперь опенсорсный же. По-моему он как раз и есть Жаба 2.0
Да и Пайтон чем вам не альтернатива?
> ПайтонПисать на современном бейсике с никакущей типизацией, низкой производительностью, странноватым синтаксисом и не менее никакущей стандартизацией крупное энтерпрайзное приложение? Нет уж, спасибо.
>Си шарп, По-моему он как раз и есть Жаба 2.0Эксперты опеннета, такие эксперты. И где у маздая аналоги java EE? Кучи опенсорсных серверов приложений, в том числе от приличных вендоров навроде RedHat? Стабильные спецификации, проверенные хотя бы одним десятилетием?
А кому сегодня нужно это java EE хотя бы среди самих джавистов?
> А кому сегодня нужно это java EE хотя бы среди самих джавистов?Клиент-серверная архитектура приложений? Не, не слышал?
архитектура !== java EE
Java EE - это реализация клиент-серверной архитектуры. В гетерогенной среде обычно всё сводится к банальному RPC (сюрпрайз). Или ты о телепатии межпроцессного кода?
Как ни крути, а джава это стабильность.На этом этапе развития языка тут главное не навредить.
В 9-ой жабе TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 осилили?
Или так и будет: Server sent fatal alert: handshake_failure
https://www.ssllabs.com/ssltest/analyze.html?d=ilya.pp.ua
ты ещё про GOST спроси
Купи программера или сам запили и продавай. Никто тебе ничего не должен осиливать.Так-то я рад, что ява загибается, раскалывается и т.п. Видел за всю жизнь _два_ приложения, которые были четко написаны, а все остальное шлак-шлаком. И даже PHP лучше, ибо поставляется обычно в исходниках, в которых разберется даже школьник.
Простите за дилетантский вопрос (не жабовод, каюсь): а что, дёрнуть внешнюю либу, допустим, на сях - это проблема?
В Java - проблема.
Нет, не проблема. В самом ждк есть утилиты генерирующие С интерфейсы
Эта технология называется JNI. Ничего ужасного нет, пользовался сам, подключал к программе сканер через TWAIN.
А в чём там суть? Только в том, что теперь можно будет явно указать, какие пакеты на экспорт?Это ж неинтересно вообще совсем)
Я думал там что-то либо про нормальный пакетный менеджер (не мавен-помойка где XML и всё вместе, и собираемое, и скачиваемое), либо про разделяемые jar'ы / кэширование jit кода (чтобы можно было андроид на jvm без зиготы запускать).
А там ещё один слой обёртки над пакетами? Чот это дурь немного
Может оно и к лучшему, нет такого маразма как в NPM с морем непроверенных "однострочных" модулей.
Вкратце, добавлено:
- барьеры для reflection и dependency injection (прощай, например, Spring);
- для OSGI приложений будет два механизма модульности один поверх другого (у Eclipse видать проблем и так мало было);
- принцип reliable configuration (не может быть двух версий одной библиотеки) - значит контейнеры под это не переделаешь (всяким Tomcat,WebSphere,Weblogic ... придется пытаться работать по старинке с ограничениями).
А что там с шарпом?
> А что там с шарпом?Сдает позиции. Поигравшись с нескучным шарпом, все снова возвращаются на Java (TM).
> А что там с шарпом?Из моего опыта с сишарпом как юзера:
ставишь прожку, в системе стоит net 4.5, прожка пишет "не, поставь мне net 2.0".
ставишь другую прожку, в системе стоит net 4.5.1, прожка пишет "нееее, поставь мне 4.5.2"закaпывай!
Как прогер тоже с этим гуном работал, всё примерно так же. Сделать прогу чтобы они работала от ХР до win10 - "ты чо, это фантастика сыног!!!"
закaпывай!
Руки прямые надо иметь, вот и будет под любыми виндами работать.
Основные версии .NET идут вместе с виндами: https://blogs.msdn.microsoft.com/astebner/2007/03/14/mailbag.../
К тому же начиная то ли с семерки, то ли с восьмерки, оно само предлагает установить .NET нужной версии, если его нет в системе.Кстати, эту вашу джаву надо устанавливать вообще везде - по умолчанию ее нет нигде, кроме андроида.
> надо поставить ср@ный зоопарк из net2.0+net3.0+net3.5+net4.0+net4.5пофиксил...
хотя, когда выйдет кульпрожка с требованием net4.5.3, даже зоопарк опять не поможет.> Основные версии .NET идут вместе с виндами:
ну и какая NET есть из коробки в от XP до WIN10? Правильно никакая.
> Кстати, эту вашу джаву надо устанавливать вообще вездеЖаба из нормального мира, ставится одной командой
yum -y install java-1.8.0-openjdk-headlessА вот что что в маздайном мире надо нехило приседать для установки виндового "убийцы жабы" это странновасто. Поставить жабу в винде намного проще, чем поставить правильную версию NET чтобы не пришлось повторять через 3 месяца.
Первая винда, в которой из коробки появился дотнет, это Windows Server 2003.
.NET 2.0 работает на всех виндах от 98 (с ограничениями, правда) до 10. Да, требуется установка. В случае со старыми ОС надо скачать установочный пакет, запустить его и протыкать по кнопкам - как и любую другую программу. В новых - система сама предложит установить что нужно, одно нажатие на кнопку.
Для сравнения, последняя версия Windows 98 вышла в 1999 году, Red Hat 6 и Slackware 7 - тоже в 1999, Debian 2.2 - в 2000. OpenJDK появилась в 2007 году. Установите на них джаву шестую хотя бы, да ;)
> Первая винда, в которой из коробки появился дотнет, это Windows Server 2003.Не свисти, было ее там из коробки.
https://en.wikipedia.org/wiki/.NET_Framework#Release_history
Поставить, 4.7 а в конфиге приложения прописать:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.0"/>
</startup>
</configuration>А с Java интереснее, обновил JRE, но не JDK пути в Эклипсе куда-то улетели, и Gradle проект не собирает, фиксится реимпортом проекта.
Для еклипсла лучше локальные версии JDK иметь. И подключать их по необходимости.
Так ты сможешь собрать любой проект любой версии Java.
Jre мне всегда хватало того, что идет вместе с JDK.
еклипс тоже лучше качать в директорию /opt
Как бы проблема эклипса, не джавы
> Из моего опыта с сишарпом как юзера:Это не "опыт", сынок - это дол6036изм! Ты кушаешь битой спагетти и мечтаешь использовать для этого тенисный мяч. Ну кто ты после этого? :))
.NET - он давно уже шагнул за порог 4.0; Если где-то в камышах ты нашёл непотребство под 2.0 - зак0nай обратно и не свисти. Для всех нужд у .NET есть современные библиотеки (если ВДРУГ(!) не хватило родного фрэймворка). Это говорю тебе я, чел 12 лет работающий в .NET;
PS
У админа что, совсем крыша поехала - кондрачит на слово "з а : к * о % п № а ть"??????
>Это говорю тебе я, чел 12 лет работающий в .NET;... чел 12 лет кушающий оно ... я думал вымерли уже, а ты поди ка! 8-о
А KVM 5-летней давности под жрёй 8 не пробовали никогда? Из-за разнородного оборудования пришлось выпилить 8 и вернуть назад 7. Вот и "работает от XP до 10". Только под дырявой версией из эпохи того мамонта.
У шарпа всё хорошо, а кто интересуется? :).NET - в нём надо отличать хипстерские поделки типа .NET Core и стабильную, проверенную среду ".NET for Windows". Последняя (уже в версии 4.7) прекрасно работает, всё запускает и глупости вроде "хочу НЕТ2.0" не появляются вообще - откуда вы их взяли, клоуны?
Ну а про VS и говорить не приходится - это лучшее из всего худшего, что вы видели. А "лучшего" нет вообще - не написали ишшо.
Vs 2015 на крупных проектах вешается, отчасти из-за отсутствия 64 битной версии, отчасти из-за того, что не даёт отключить рослин, такое ощущение, что все процессы выполняются блокируя графический интерфейс. Отзывчивость нулевая. Vs 2017 не решает проблему никак. Пробую Jet brains rider. Очень доволен, но ещё сыровата. Не умеет запускать mstest, не хватает typewryter. Не собирает silverlight. Но если нужно просто писать код - работает на ура.
И эти люди жаловались на NetBeans... Он проекты и файлы любых размеров переваривает. Фоновая индексация чуть подольше поработает. На GUI не сказывается никак.Открытие 20 мегабайтного XML конечно подтормаживает, но большинство редакторов на этом же файле просто падают.
ну наконец-то.. лет 10 как уже джигсов пилится..
> ну наконец-то.. лет 10 как уже джигсов пилится..хммм... какой забавный каламбур - jigsaw пилится...
Вот что им с самого начала мешало взять OSGI для модульности?Теперь в кровавом энтерпрайзе модульность двойная. Был JAR hell, будет classloader hell.
> Вот что им с самого начала мешало взять OSGI для модульности?
> Теперь в кровавом энтерпрайзе модульность двойная. Был JAR hell, будет classloader hell.Surprise! В кровавом ынтырпрайзе osgi не нужен. Или у вас какой-то неправильный ынтырпрайз на жабе SE? :)
OSGi seems like an idea to keep selling new books and training, while the functional needs have been covered for eons by the JAR/EAR packaging & deployment in JEE. Those who buy into it simply never got to understand how they're being manipulated. There's also a question of trends and fashion. I.e. non-engineering considerations that are a shame to this industry.
Reinventing the wheel is profitable because there are tons of fools out there. Unfortunately, there are tons of management-type simpletons who want to be on the "bleeding edge of technology" who will gladly fund their employees' courses, absorb the learning curve, and then pay through their nose in "re-engineering" of things that had nothing wrong with them to begin with.
> Вот что им с самого начала мешало взять OSGI для модульности?OSGi, как и стандартный класслоадер, не может позволить загрузить в одну и ту же JVM одноименные классы разных версий.
> Теперь в кровавом энтерпрайзе модульность двойная. Был JAR hell, будет classloader hell.
Не было никакого JAR-hell'а. Она была только в голове безумных разработчиков, которые сували одноимённые классы разных версий в разные JAR с надеждой их задействовать "по месту упаковки". Как водится, получали то, что всегда: класслоадер загружал только тот класс, который первый затребован, остальные (недо- или пере-) клоны посылал нафик.