LINUX.ORG.RU
ФорумTalks

PHP всё

 


0

2

Компания Rogue Wave, финансовая основа разработки PHP, решила забить на развитие PHP, сосредоточившись на одном конкретном продукте на его основе - Zend Server. Два года назад из нее ушел первый сооснователь Zend. Теперь же... Ядро команды, включая второго сооснователя Zend, уходит из компании. Они заранее написали в своих бложиках обращение с просьбой взять их под свое крыло для разработки ядра PHP 8.

Как-то это мрачновато звучит. Похоже, похапэ-капец настал.

Подробности по-русски на Хабре: https://habr.com/post/426809/

Пруфлинки в бложиках:

★★★★☆
Ответ на: комментарий от tailgunner

Там где написал JS
В нет декораторов.

grim ★☆☆☆
()
Ответ на: комментарий от Shadow

1+«1»
that = this
по сути заставляют думать как для особо низкоуровнего языка,
Трудозатраты сильно возрастают.

Трудозатраты резко падают так как не нужно явно писать String.valueOf(1) или 1.toString(), думать может нужно чуть больше, но работы заметно меньше.

то тут всё ещё должен следить сам за типом переменной

JS я написал по ошибке.
Если мы говорим о Typescript то это язык с сильной типизацией и можно даже включть –strictNullChecks и компилято будет ругаться на возможные места с неинициализированными значениями.

grim ★☆☆☆
()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от Shadow

Сорри, я опечатался и Тайлганер уже за мной гоняется с укоризной :(

grim ★☆☆☆
()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от foror

Не переживай ты так

Пфе. Обвинять других в собственных действиях - известный демагогический приём.

Но это не я бегаю по топику и всем рассказываю, что в php одно легаси, ничего нового и т.д, рассказываю про ноду и пайтон... И кто тут на вдохе?

Кстати, помнится n лет назад все фанатели по руби на рельсах. И где они теперь? Живые, конечно, вот только как часто их вспоминают?

atrus ★★★★★
()
Ответ на: комментарий от grim

Если ты предложишь что-то, что не понравится архитекторам Mircosoft, в C# это не возьмут. То же самое в Java - слово оракловых архитекторов - закон.

Дело не в том, можно или нет опакетить экспериментальную фичу. А в том, что энтерпрайзы пользуются либо мэйнлайном, либо в очень-очень редких случаях - созданную внутри их же компании фичу

Тот кто политически командует мэйнлайном - тот и король, все остальные в говне

Пару раз на ФБ был лютый замес на тему, существует ли сейчас какой-то язык, который развивается комьюнити полностью равных в правах разрабов, без компании-лидера, и в общем - ну может быть C++. В каком-то смысле, включая консорциум Khronos Group.

Может ты еще чего подскажешь. Но это точно не C#.

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от iZEN

Ну, это наверное разработчики FreeBSD должны портировать? У Оракла навряд ли много клиентов с фряхой, они не будут заморачиваться поддержкой

А что там сломалось? Просто пересобрать не получается?

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

Разнца - в Жабе практически отсутствует комьюнити которое её развивает и все делается за закрытыми дверями.

Ну и такое говно как Оракл в довесок.

В С# все обсуждается открыто можно поучаствовать привести свои аргументы и их могут принять.

Дело не в том, можно или нет опакетить экспериментальную фичу.

Мы ведь говорим о развитии.

Для развития возможность поставит пакет с экспериментальной фиче на попробовать - главное.

А также возможность поучаствовать в обсуждении и возможности выкаить свой вариант.

Или поправить что-то что по вашему мнению «не так».

А в том, что энтерпрайзы 

Хехе.
Разговор в сторону уводите ;)

энтерпрайзы пользуются либо мэйнлайном, либо в очень-очень редких случаях - созданную внутри их же компании фичу

Ну, что я могу вам сказать на уту попытку увести разговор в сторону.

В энтерпрайзе до сих пор на 8ю жабу не везде перешли.

Так что теперь мохом порастать?

Слабовато стараетесь ;)

grim ★☆☆☆
()
Ответ на: комментарий от grim

Трудозатраты резко падают так как не нужно явно писать String.valueOf(1) или 1.toString()

Чукча не читатель, Чукча — писатель. (c)

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 2)

На какой нибудь Elixir теперь модно переезжать.

XVilka ★★★★★
()
Ответ на: комментарий от steemandlinux

Скоро всё будет на node.js

И то верно. Я тоже считаю что этап «скоро всё будет на Ruby» полностью завершился и сейчас в разгаре новый этап эволюции PHP - «скоро всё будет на node.js».

Suntechnic ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Это какой-то ничтожный рынок не пойми для кого, это вообще можно опустить. Как тебе уже сказали выше, снимаешь VPS за пару баксов и разворачиваешь там себе любые нужные тебе сервисы. Проблема-то где?

Да нет проблем если твои задачи снимать VPS и разворачивать на них нужные сервисы. Но есть например люди и компании которым нужны сайты и чтобы они работали. И вот в этом узком специализированном сегменте PHP пока не заменим, пусть это даже какие-то жалкие 95% интернета.

Suntechnic ★★★★★
()
Ответ на: комментарий от uin

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

Ты не поверишь...

Suntechnic ★★★★★
()
Ответ на: комментарий от foror

Чукча не читатель, Чукча — писатель. (c)

Не знаю как вам, чукчам, но нам незагроможденный код читать легче.

grim ★☆☆☆
()
Ответ на: комментарий от Suntechnic

И вот в этом узком специализированном сегменте PHP пока не заменим, пусть это даже какие-то жалкие 95% интернета.

Я за этим узким сегментом не слежу, но разве на node.js до сих пор нет альтернативы? Сайт на node.js развернуть прямо из админ панели хостера?

foror ★★★★★
()
Ответ на: комментарий от foror

Можно конечно! Я же писал - если нужно разворачивать сайты, интегрировать решения, деплоить пакеты, администрировать CMS - это всё можно.

Но некоторым людям надо чтобы сайт работал и вот тут пока проблемы.

Suntechnic ★★★★★
()
Ответ на: комментарий от foror

Работал и небольшой. И что там со всем остальным кроме каталога? Как там с пользователями, фильтрами, корзинами, отложенными товарами, уведомлениям о поступлениях и скидочными программами?

Suntechnic ★★★★★
()
Ответ на: комментарий от grim

Разнца - в Жабе практически отсутствует комьюнити которое её развивает и все делается за закрытыми дверями.

Ты бредишь :) Java развивается с помощью Java Community Process, в котором участвует куча корпораций, плюс компании даже из России (Белсофт в этом году на 5 месте по коммитам в OpenJDK). Общение идет не на гитхабе, а в почтовой расылке (десятках почтовых рассылок), куда может написать каждый. Все совершенно открыто.

И точно так же как и в C#, фичи которые ты предлагаешь, на хер никому не нужны. Только в .NET их заворачивают архитекторы MS, а в Java - архитекторы Oracle

Распределение бабла в мире такое, что 10% компаний имеют 90% бабла. Все мажорные языки живут за счёт бабла. Чтобы тот же JS развивался, бабло туда вливается бесконечным потоком. Поэтому да - мнение ынтерпрайзов на первом месте, это те, кто вливает это бесконечный поток бабла

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

Общение идет не на гитхабе, а в почтовой расылке (десятках почтовых рассылок), куда может написать каждый.

Совсем как в 90е прошлого века.

Наверное поэтому жаба так стареет

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

Здесь у вас ошибочка.

Одну мою фичу С# приняли ;)

Чтобы тот же JS развивался, бабло туда вливается бесконечным потоком. 

Дану
Ну и кто вливает баббло сопоставимые с тем, что требуется для жабы?

JS и C# в основном пилит комьюнити и жс вытесняет жабу несмотря на жаба-пенсионеров.

Поэтому да - мнение ынтерпрайзов на первом месте, это те, кто вливает это бесконечный поток бабла

Да, мы все в курсе насчёт Кобол ;)

grim ★☆☆☆
()
Ответ на: комментарий от stevejobs

Отвечал вам той-же монтой.

Вы же зачем-то начали писать о ЖС и С# тролло-глупости

grim ★☆☆☆
()
Ответ на: комментарий от grim

Совсем как в 90е прошлого века.

А в линуксе по другому?

Ещё предложи зависимости на гитхаб подвязать, чтобы было модно и молодежно.

Ну и кто вливает баббло сопоставимые с тем, что требуется для жабы?

Не вливают туда бабло как для джавы, поэтому там мрак. Жить этой ноде до wasm2.0

жс вытесняет жабу несмотря на жаба-пенсионеров

Только в некомпетентных компаниях. У них ещё блокчейн во все поля. Посмотришь на этих блаженных и можешь потерять веру в человечество.

foror ★★★★★
()
Ответ на: комментарий от foror

А в линуксе по другому?

Вы ставите знак равно между кернел хакерами и оффисным планктоном вроде меня и прочих жаба/С#/node быдлокодерами?

Очевидно вы долго искали аргумент если только такое осталось ;)

Не вливают туда бабло как для джавы, поэтому там мрак. Жить этой ноде до wasm2.0

Для вас быстрое развитие с помощью комьюнити это мрак?
Пенсионер штоле?

Только в некомпетентных компаниях.

Лично видел и обсуждал серверную ноду в TSX, Bank of America, Citi, а Netflix по опубликованным статьям перевел все на ноду.
Вы причисляете их к некомпетентным.
Ок
Мне в такой тусовке не стыдно ;)

А вы можете назвать «компетентных» упёршихся рогом протав ноды?

У них ещё блокчейн во все поля. Посмотришь на этих блаженных и можешь потерять веру в человечество.

Банки активно блокчейном занимаются, хотя я не в теме, но я не думаю что есть банк(с хотя бы десятком тысяч айтиников), в котором ресёч не занимается исследованиями на эту тему.

Но вы страдайте за них.
Страдания возвышают, говорят.

grim ★☆☆☆
()
Ответ на: комментарий от grim

знак равно между кернел хакерами и оффисным планктоном вроде меня и прочих жаба/С#/node быдлокодерами?

Вы то тут, с остальным офисным планктоном, причём? Разработка JVM не менее сложная штука, если не более.

А всё, что проще обсуждается на гитхабе, как и всё прочее. Хотя конечно есть и древние проекты. Не удивительно, что вы на ноду переходите, если не осилили найти современную альтернативу для джавы на гитхабе.

Для вас быстрое развитие с помощью комьюнити это мрак?

Быстрое != качественное. Шапками тут не закидаешь, тут мозги нужны.

Лично видел и обсуждал серверную ноду в TSX, Bank of America, Citi, а Netflix по опубликованным статьям перевел все на ноду

Упоротых олимпиадников, китайцев и индусов там хватает. Не зря для них Гугл озаботился и изобрел ЯП попроще. Они потом на новую модную платформу всё перепишут, как нода станет не модной.

А вы можете назвать «компетентных» упёршихся рогом протав ноды?

Ноду что ли насильно внедряют, раз против неё упираться надо? Я думал нужно просто иметь трезвый ум, чтобы не покупаться на обрубок от хрома для запуска однопоточных скриптов на планшетах.

Банки активно блокчейном занимаются, хотя я не в теме, но я не думаю что есть банк(с хотя бы десятком тысяч айтиников), в котором ресёч не занимается исследованиями на эту тему.

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

Просто грустно видеть, когда взрослые дяди пытаются из блокчейна изобрести СУБД. Делают они, а стыдно мне. Они еще сайты на таких СУБД умудряются запускать... Открываются секунд по 30, но зато блокчейн, все дела!

А вообще, это полный идиотизм, блокчейн как раз и придумывался, чтобы избавиться от банков. Что они там могут ресёрчить? Как спилить сук на котором сидят?

foror ★★★★★
()
Ответ на: комментарий от stevejobs

Общение идет не на гитхабе, а в почтовой расылке (десятках почтовых рассылок), куда может написать каждый

Бгг, когда уже до пердов дойдет что это абсолютно неюзабельно?

ritsufag ★★★★★
()
Ответ на: комментарий от foror

Вы то тут, с остальным офисным планктоном, причём? Разработка JVM не менее сложная штука, если не более.

И как-же хорошо, что разработка C# и ноды доступна нам, оффисному планктону с нормальными тулзами и открытым сообществом.

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

Не удивительно что вы так тормозите ведь я писал, что нашёл и заменяю

Быстрое != качественное.

Вы это просто так написали или намекаете что качественное = медленное?

Упоротых олимпиадников, китайцев и индусов там хватает. Не зря для них Гугл озаботился и изобрел ЯП попроще.

Т.е. вы голосуете за язык для упоротых.
Ок.

А вы можете назвать «компетентных» упёршихся рогом протав ноды?

Ноду что ли насильно внедряют, раз против неё упираться надо? Я думал нужно просто иметь трезвый ум, чтобы не покупаться на обрубок от хрома для запуска однопоточных скриптов на планшетах.

Т.е. примеров таких компаний у вас нет.
Будете в одиночку в норке «иметь трезвый ум» ;)

Да пусть занимаются, там же скука смертная,

Вы крупном банке хоть раз работали(не эникейщиком) чтобы такое писать?
Или виноград зеленый?

Просто грустно видеть, когда взрослые дяди пытаются из блокчейна изобрести СУБД.

А поподробнее можете изложить как они так пытаются делать?
Я о таком интересном применении не слышал.
Обычно пилят https://en.wikipedia.org/wiki/Smart_contract

А вообще, это полный идиотизм,

Больше похоже что вы все чего не понимаете называете идиотизмом.

grim ★☆☆☆
()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от ritsufag

неюзабельно в каком смысле?

гитхаб - это некая закрытая проприетарная система с хранением всего на серверах майкрософт. Почта - это открытая свободная система для условно децентрализованного общения

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от grim

разработка джавы выглядит примерно так же как у дотнеткоре, сто раз уже писал. Кто угодно может засабмитить фичу, все репозитории открыты и свободны, и так далее.

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

Вот так, Стиви, подкрадывается старость.

А ведь интеренет форумы хоть и моложе почты лет на 30 но тоже уже третий десыток лет разменяли а вы все к ним никак не привыкнете ;)

Что интересно, жабабыдлокодеры в целом гораздо консервативнее других быдлокодеров.

grim ★☆☆☆
()
Ответ на: комментарий от stevejobs

Где?
https://www.google.com/search?q=submit new feature to java
Ничего не выдаёт на первых 5 страницах

https://www.google.com/search?q=submit new feature dotnet core
выдаёт на первой

Кроме того вы писали что она равивается корпорациями

Java развивается с помощью Java Community Process, в котором участвует куча корпораций, плюс компании даже из России (Белсофт в этом году на 5 месте по коммитам в OpenJDK).

grim ★☆☆☆
()
Ответ на: комментарий от grim

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

Ничего не выдаёт на первых 5 страницах

Потому что в джаве фичи называются жепами (JEP). Замени feature на jep и повтори запрос. В первой строчке у меня статья https://openjdk.java.net/contribute/ , там всё очень чётко расписано. Ну и совсем по делу там всё в багтрекере: https://bugs.openjdk.java.net

Совсем новые разработки в Java называются GraalVM а не Java, поэтому и вторая часть твоего запроса неправильная :) Можно ничего не гуглить, а сразу идти на гитхаб: https://github.com/oracle/graal

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

This page describes the sponsored-contribution process

Т.е. все не так уж открыто а совсе даже закрыто ;)

в багтрекере

Баги

Совсем новые разработки в Java называются GraalVM

Мне VM не интересно от слова вообще.

Все технологии сейчас развиваются именно корпорациями.

А кто писал:

разработка джавы выглядит примерно так же как у дотнеткоре, сто раз уже писал. Кто угодно может засабмитить фичу

Походу совсем не так как в dotnet core ;)

grim ★☆☆☆
()
Последнее исправление: grim (всего исправлений: 2)
Ответ на: комментарий от grim

В дотнеткоре всё тоже развивается корпорациями

Более того, все ядро линукса - тоже почти полностью сделано, поддерижвается, и будет развиваться только и исключительно корпорациями

Люди, которые что-то сами делают - это песчинки в море ченжей

в багтрекере - Баги

Еначале делается JEP, который описывает цель проекта. Потом для JEP создается проект, и вся дальнейшая активность ведется в багтрекере в ишшуях. Точно так же как в гитхабе - только в джире. Обсуждение ведется преимущественно в почтовых рассылках, для разных проектов есть разные рассылки.

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 2)
Ответ на: комментарий от stevejobs

В дотнеткоре всё тоже развивается корпорациями

Не только.
МС долго боролось с опнсорсом, но до них наконц дошло.

Но Оракл всегда бал в разы гаже и злобнее.

Не факт, что дойдёт вообще.
До сих пор требуют подписать Oracle contrubution agreement о передаче всех прав в эту помойку

которые что-то сами делают - это песчинки в море ченжей

;)
Песка в мире болше чем это ваше «море».

grim ★☆☆☆
()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от grim

Проблема в этом диалоге в том, что ты хочешь показать, какой майкрософт хороший и джава плохая, а я - нет. И Майкрософт и Оракл - мерзкое копирастическое говно, после которого нужно плакать и вытирать руки платочком. И есть ряд объективных показателей для выбора технологии для жизни и зарабатывания бабла. Например, данные сколько опенсорц разработчиков являются работниками корпораций, которые и точно показывают что опенсорц разарабатывается корпорациями. Кроме того есть понимание, что главная ценность - Свобода (подробнее см. у Столлмана). По всем этим характеристикам Майкрософт и Оракл выглядят как одна компания, разве что названия разные. У тебя же куча каких-то оценочных суждений. Я не буду в таком стиле общаться, сорян, это тупо пиздец.

stevejobs ★★★★☆
() автор топика
Последнее исправление: stevejobs (всего исправлений: 2)
Ответ на: комментарий от grim

И как-же хорошо, что разработка C# и ноды доступна нам, оффисному планктону с нормальными тулзами и открытым сообществом.

Молодцы. Джава, консервативнее и это ее плюс. Это делает мир разнообразнее. Вот это можно назвать конкуренцией между ЯП.

Вы это просто так написали или намекаете что качественное = медленное?

Необязательно медленное == качественное. Все зависит от людей, а точнее их мозгов.

Т.е. вы голосуете за язык для упоротых.

Индусы очень любят джаву, не спорю. Но Гугл посчитал, что для них нужно сделать ЯП ещё проще. Вот это я не поддерживаю.

Будете в одиночку в норке

Нас легион, я не против так быть «в одиночку в норке».

Вы крупном банке хоть раз работали

Я по Стиви вижу, если бы там было весело он бы не свалил.

Смартконтракты

Придумывались, чтобы избавиться от банков.

Больше похоже что вы все чего не понимаете называете идиотизмом.

В блокчейне, я более менее разобрался. Это децентрализованная система не требующая центра (банка). Поэтому я действительно могу не понимать, зачем они там делают ресерч в этом направлении.

Ресерч в этом направлении должно делать государство, а не банки.

foror ★★★★★
()
Ответ на: комментарий от stevejobs

ты хочешь показать, какой майкрософт хороший и джава плохая

Враки или приведите доказательства когда я писал что Жаба и Го переживет и многих других.

Но по ЛОРовский традициям вы их не приведете и будем считать это просто враньём когда у вас закончились аргументы ;)

Я хочу показать что открытый способ разработки лучше разработки за закрытыми дверями.

По всем этим характеристикам Майкрософт и Оракл выглядят как одна компания

Майкрософт не требует передачи прав в отличие от Оракла на код дотнета.
Никого не судит за C#.

Так что снова враки.

МС никогда не была таким говном как Оракл а с новой властью так и вовсе придраться стало мало к чему.

grim ★☆☆☆
()
Ответ на: комментарий от foror

Джава, консервативнее и это ее плюс.

И минус.

Необязательно медленное == качественное.

Ок.
Очевидно это значит что быстрое не обязательно плохое.

Но качественное и быстрое лучше чем качественное и медленное, не так ли? ;)

Нас легион

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

Я по Стиви вижу, если бы там было весело он бы не свалил.

Он работал на краю света в захолустном бранче в банке местного разлива.

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

Будь он в Москве и в головном центре Сбербанка, вполне возможно не сбужал бы а двигал вперед интересные проекты.

Придумывались, чтобы избавиться от банков.

;) Вот только применяются они в первую очередь банками ;)

В блокчейне, я более менее разобрался.

Но вы забыли рассказать как из блокчейна делают БД, а мне это очень интересно.

Вы, как разобравшийся, может просветите новичка?

grim ★☆☆☆
()
Ответ на: комментарий от ritsufag

Бгг, когда уже до пердов дойдет что это абсолютно неюзабельно?

а ты знаешь способ *свободного* не вендорлоченного общения лучше?

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от grim

И минус.

Но и отсутствие консервативности есть минус, когда в ЯП пихают что попало, превращая его в помойку.

Очевидно это значит что быстрое не обязательно плохое.

Быстрое в 95% случаев получается плохим.

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

1,881,020 users - https://github.com/search?q=language:java&type=Users Сойдёт за пруф? Я еще могу статистику Stackoverflow вмазать, там 45% будет из 9 000 000 регистрантов.

Вот только применяются они в первую очередь банками

В том то и весь идиотизм. В этом нет никакого профита, если ты централизован. Просто используй шифрование, мультиподписи и вот это всё. Хотя может они и называют это смартконтрактом, заливая pl/sql процедуры в Oracle и подписывая JAR-ик?

Я под смартконтрактом подразумеваю децентрализованную систему, когда миллионы узлов запускают код контракта и проверяют подлинность транзакции по выполнению этого кода.

Но вы забыли рассказать как из блокчейна делают БД, а мне это очень интересно.

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

Запись работает со скоростью черепахи, на каждой ноде хранишь полную копию БД. Если хочешь посмотреть актуальные данные, бегаешь по всему дереву блокчейна (сотни гигабайт) и пытаешься найти последнюю транзакцию. Хотя для последнего можно создать кеш и держать его в актуальности, но для этого нужно куча оперативки.

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

foror ★★★★★
()
Ответ на: комментарий от foror

Но и отсутствие консервативности есть минус, когда в ЯП пихают что попало, превращая его в помойку.

Приведите пример, обсудим ;)

Быстрое в 95% случаев получается плохим.

Ссылку на статистику или вы как всегда?

Сойдёт за пруф?

Конечно же нет.

Готхаб ноду вовсю использует.

банками

В том то и весь идиотизм. В этом нет никакого профита, 

Профита только у Citi, хватит на большую часть России.

Но вместо того чтобы попробовать понять, вы всех обзываетесь идиотами ;)

grim ★☆☆☆
()
12 декабря 2018 г.
Ответ на: комментарий от stevejobs

Например, если к весне допилят стандарт на switch expressions...

А зачем он нужен этот switch expressions? Почему действительно нужные вещи в Java не делают? Например дженерики без type erasure или модули с версиями для разрешения коллизий в транзитивных зависимостях?

Олсо, вот модуляризация-то как раз - это низкоуровневая фича. Нужная для разработчиков самого JDK и для других лоулевел вещей вроде Spring Framework.

Открою тебе страшную тайну: модуряризация Java 9+, реально, никому не нужна. Изначально, в далёком 2008 году, проект Jigsaw разрабатывал архитектурно правильный аналог OSGi. В процессе разработки они перемудрили с версионированием модулей и вместо того, чтобы сделать его по-человечески, просто выкинули на помойку. Теперь модуряризация - это лишь strong encapsulation, который, сам по себе, никому не нужен. Тот же Spring Framework не пошёл дальше прописывания Automatic-Module-Name в MANIFEST.MF (ну типи «шоб було») и ещё много лет не пойдёт дальше этого, если вообще.

bbk123 ★★★★★
()
Ответ на: комментарий от bbk123

Дженерики с type erasure теперь фича языка

модуряризация Java 9+, реально, никому не нужна

Она нужна, в первую очередь, разработчикам самого OpenJDK. Прикладникам, может быть, она и не нужна - ну и леший с ним.

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

Дженерики с type erasure теперь фича языка

Ага, криворукое подели объявили фичей. А потом аргумент метода Collection<E>::remove() всё равно Object и в итоге можно получить массу неочевидных багов уровня Java Puzzler.

Она нужна, в первую очередь, разработчикам самого OpenJDK. Прикладникам, может быть, она и не нужна - ну и леший с ним.

И им она тоже не нужна. Для разбиения rt.jar на «модули» и сборки своего кастомного JRE при помощи jlink модули были вовсе необязательными. Ещё раз, медленно, Jigsaw изначально - это попытка сделать архитектурно правильную замену OSGi. Неужели ты не слышал доклады Никиты Липского на jug.ru? Неужели ты не слышал страшные рассказы на ночь от Баруха Садогурского о транзитивных зависимостях и о том, как разные системы сборки по-разному разрешают конфликты в них?

bbk123 ★★★★★
()
Ответ на: комментарий от bbk123

у Липского и Баруха свои мнения, и я не чувствую себя в праве за глаза их комментировать.

могу сказать, как я это вижу

это тебе как пользователю нужна архитектурно правильная замена OSGi и разбиение с помощью jlink.

но есть другая точка зрения - о том, что наличие модулей в OpenJDK *жизненно важно* для этого проекта, потому что он легко может схлопнуться под грузом уже существующих фич. А теперь приток фич увеличивается в десятки раз с переходом на полугодовые релизы мажорных версий

поэтому спасать нужно вполне конкретный проект - OpenJDK, таким образом, какой наиболее удобен конкретно этому проекту. То есть, вполне конкретной легаси кодобазе говнокода возрастом в двадцать лет со вполне конкретными проблемами вида «отделы васи и пети последние 15 лет собачатся вот по этим техническим вопросам, это надо как-то прекратить». Так, чтобы эту кодобазу не сломать внутри, даже если это «не сломать» пойдет в ущерб и архитектуре, и всему остальному миру вместе взятому

пропихнуть свои решения в публичную плоскость - это интересный шаг, конечно. Но такой подход закрывает кучу своих же проблем - например, разделение между internal и external фичами требует огромных финансовых затрат. Плюс на internal фичи будет гораздо меньшая база бета-тестеров из опенсорса, а бесплатные бета-тестеры (которыми для модулей стал весь мир) - это очень выгодно

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от Deleted

Есть подозрение, что openPHP некому будет делать

Deleted
()
Ответ на: комментарий от stevejobs

Объясни мне без такого количества букв, что мешало разделить rt.jar на множество библиотек и поддерживать это в jlink без Jigsaw? Я тебе скажу - ничего не мешало. Следовательно дело вовсе не в мифическом спасении OpenJDK.

Что касается меня, то мне таки нужно нормальное решение, позволяющее избавиться от конфликтов в транзитивных зависимостях. Поддержка версий модулей именно таким решением и являлось бы, но его выпилили из-за того, что сами же с ним перемудрили. Модули без версий - это отстой, мало чем принципиально отличающийся от банального classpath. Strong encapsulation, сам по себе, никому не нужен. А это единственное чем модули отличаются от classpath. Неудивительно, что нет никакой заметной активности в продвижении модулей в реальных проектах или фреймворках.

bbk123 ★★★★★
()
Ответ на: комментарий от bbk123

Нужно крепко подумать, чтобы тут что-то ответить.

Решаемая проблема в том, что всё зависит от всего непонятным образом, и я уверен, что большинству разработчиков в целом насрать, лишь бы его кусок работал, неважно каким способом.

Я не разработчик OpenJDK, поэтому что-то из обычной жизни такое в пример привести...

Что тебе в обычной жизни мешает разделить проект на модули, чтобы поддерживать это в Maven? Разделить на микросервисы? То, что половина проекта (лиды других подразделений, равноправные тебе) пошлёт тебя куда подальше и продолжить коммитить в мегамодуль src/project, собирая это в мегаджар. Тру стори, у меня так было. Людям на это наплевать, а когда проект схлопнется - все просто уволятся и пойдут туда, где хорошо.

Единственный человек, который может тебе помочь - это отдел QA или SRE, которые не выложат на сайт сборку и не запустят сервисы на бою, пока все остальные не выполнят их требований. Если ты убедишь QA и SRE тебе помочь, конечно, что далеко не факт.

Поэтому неким узким кругом обычно городится какая-то система модулей, и потом в правильности этого решения убеждаются люди, ответственные за деливери. И всё, теперь продукт не собирается без твоей системы модулей.

Вообще, это рабочая схема не только для системы модулей, а для вообще чего угодно инфраструктурного. Например, на одной работе мы так всех поставили перед фактом необходимости писать развертывание подпроектов на Ansible. Ты можешь, конечно, написать развертывание на чем угодно, но оно происходит автоматически и ищет плейбуки Ansible в корне проекта, и если их нет - то сорян, твой подпроект не попадает в сборку, и начальство смешивает тебя с говном за то, что ты не смог попасть в релиз.

И всё, система хоть кривокостыльно, хоть с претензиями половины команд, но внедрена. Задолго до какого-то формального утверждения, которого бы в противном случае и не было. На ней уже написано много кода, назад поворачивать поздно, бизнес не поймет если кто-то скажет «этот код был написан неправильно, вертайте всё назад, на целый год разработки». Ты выиграл.

Не готов утверждать, что с модулями в джаве та же история. Но аналогия прямо напрашивается. И решаемая проблема, и видимые результаты внедрения совпадают :)

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

У тебя опять получилось много букв. Решения о разделении монолитных проектов на микросервисы и любые прочии разделения проектов принимаются архитектором, а не тимлидами и уж тем более не QA. И к Jigsaw это никакого отношения не имеет. Микросервисы прекрасно живут и без Jigsaw и ещё долго будут жить без него.

Но вот представь, что мне одновременно понадобились библиотекии A и B, которые зависят от библиотеки C, но разных версий. И что мне делать в таком случае? Оставить более новую версию и надеяться на обратную совместимость, которую никто не гарантирует? Запускать A и B в отдельных JVM, обмазанных кучей дополнительного говна для общения между ними? Закрутить всё в OSGi, который решая эту проблему принесёт массу новых?

Почему в Jigsaw не сделали возможность просто указать одну версию модуля зависимости? Никому ведь не надо разрешение версий на этапе поднятия приложения и никому не нужны диапазоны версий, тем более жёстко прибитые кувалдой в module-info.java (как это там было до отмены поддержки версий). Такое разрешение можно и нужно делать во время сборки. После сборки, внутри модуля или во внешнем файле с похожим именем можно прописать конкретные версии конкретных зависимостей и вуаля, никакой NP-полной задачи, а банальный граф. Ну а чтобы разные версии одних и тех же зависимостей не просачивались куда-то выше их туда выше просто не надо пускать. Вот именно и только для этого и необходим strong encapsulation.

Сделали бы как-то так, сейчас бы все за это ухватились. А так очередной ненужный долгострой.

bbk123 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.