LINUX.ORG.RU

Российский центр компетенций по импортозамещению отказался инвестировать в два проекта на базе Java

 , ,


0

4

По информации из Центра компетенций по импортозамещению в сфере информационно-коммуникационных технологий (директор ЦКИТ — Илья Массух), из дорожной карты «Новое общесистемное ПО», работы по которой финансируются государством, исключены два проекта, связанных с языком Java:

  • Исключен проект «Доверенный репозитарий Java компонент», который компания «Бизнес коммуникации» должна была делать в интересах Центробанка. Стоимость проекта оценивается в 97 млн руб. В результате его реализации должна была появиться доверенная среда разработки и исполнения Java SE на базе проекта с открытым исходным кодом OpenJDK.
  • Исключен проект сервера приложений Java Libercat. Данный проект базируется на Apache Tomcat, поставляется в формате веб-сервера (TomCat) и сервера приложений в спецификации Jacarta EE (TomEE+). Его должна была реализовать компания «Белсофт» под торговой маркой AxiomJDK. Стоимость реализации проекта — 80 млн руб.

Причина исключения данных проектов из дорожной карты — отказ от бюджетного финансирования. По мнению экспертов, программные продукты для стека Java Enterprise Edition (Java EE) в настоящее время являются довольно устаревшей технологией. С другой стороны, эксперты соглашаются, что вышеперечисленные продукты имеет многомиллионную аудиторию в изначальных СПО-проектах. Для пользователей нет смысла переходить на новый продукт, к которому не сформировано доверие, особенно учитывая тот факт, что на рынке существует множество альтернативных СПО-решений.

Отказ от реализации обоих проектов на базе Java поможет сэкономить 177 млн руб.

>>> Подробности

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 3)

Ответ на: комментарий от rumgot

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

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

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

arkhnchul ★★
()
Ответ на: комментарий от no-such-file

Каждый пункт звучит как маркетинговый буллшит.

ну это намного лучше того, что толкают хайпожоры и это работает и не имеет реальных альтернатив

Чего всего?

можно поменять уровень логгирования не перезапуская серверы например, причем сделать это только для определенных классов/пакетов

Есть везде, на то они и «модули».

разные версии одних и тех же библиотек в одном рантайме мало кто совмещать умеет

Давай пример, что-ли.

практически любая джава технология это стандарт + несколько реализаций

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

вот этот отход и есть хайпожорство

Какое хайпожорство, дядя? Это всё было доступно ещё во времена царя Гороха на мэйнфреймах IBM360 и т.п. История просто вернулась на круги своя, после того как в 90-2000 все вдруг ломанулись всё делать на персоналках и серверах из персоналок.

no-such-file ★★★★★
()
Ответ на: комментарий от Syncro

Ну, вы лукавите. Краеугольный фундамент Java, её база, фундамент и модус операнди это переносимость (кроссплатформенность). И на алтарь этой переносимости в жертву принесено вообще все, от производительности до использования ресурсов. И это прекрасно работает, до первого человека осилившего курс формальной логики, который задаёт простой вопрос: зачем?

Зачем мне переносимость в веб проекте который будет работать только под линуксом? И ой, оказывается что в реальном, современном мире на Java имеет смысл писать только IDE и жёстко зарегулированные спецификациями системы где код это продолжение спецификации.

Я немного утрирую, у Java чуть шире область применения, но рассказывать что Х хорошо везде, а весь остальной алфавит дефективен это Лавсановщина.

Obezyan
()
Ответ на: комментарий от no-such-file

WordPress вообще большой, там переписывать – не переписать.

та по умолчанию большие параметры по умолчанию, пишу из танка чтобы за кэшировать килобайты резервируют гигобайты (этож сервер), уменьшаешь и скорость ответов взлетает.

s-warus ★★★
()
Ответ на: комментарий от no-such-file

Это позволило писать (микро)сервисы (те же бины, вид сбоку) на чем угодно

зачем писать серверы на чем угодно если все убогое? что-бы постоянно переписывать на очередной технологической поделке?

и гибко конфигурировать среду/кластер

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

В этом смысле жаба использует устаревший подход

устаревание подразумевает наличие полноценной альетративы, но «новые технологии» отстают по возможностям от джавы 20и летней давности. Хардкодить умели уже тогда и утопая в сложности процедурных говнокодов начали придумывать клиент-серверные архитектуры.

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

можно поменять уровень логгирования не перезапуская серверы например, причем сделать это только для определенных классов/пакетов

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

разные версии одних и тех же библиотек в одном рантайме мало кто совмещать умеет

Зачем их совмещать в одном рантайме? Наверное потому что жаба сервер приложений это один жирный рантайм? Сначала создали себе проблему, потом радостно победили.

практически любая джава технология это стандарт + несколько реализаций

Всё ещё маркетинговый буллшит.

no-such-file ★★★★★
()
Ответ на: комментарий от Obezyan

Зачем мне переносимость в веб проекте который будет работать только под линуксом? И ой, оказывается что в реальном, современном мире на Java имеет смысл писать только IDE и жёстко зарегулированные спецификациями системы где код это продолжение спецификации.

я тут уже упоминал, что все современные Java-фреймворки это производные JavaEE технологий, основные характеристики которых был определены лет 15-20 назад. Вот поэтому. Для сравнения любая альтернативная технология за это время пережила 2-3 революции влекущих за собой необходимость полного переписывания кодов.

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

какая переносимость, я как слово java встречаю от майкрафта до jira холодным потом покрываюсь, ищу чела который это поставит определённой версии под мой проц, зарегается на оракле, сане, ibm мне моих скилов времени только на код java хватает

s-warus ★★★
()
Ответ на: комментарий от Syncro

подразумевает наличие полноценной альетративы

ЛОЛ КЕК, на ладно, тогда Common Lisp это полноценная альтернатива. В плане устойчивости и возможностей обработки ошибок там даже намного лучше, чем в жабе. Стандарты, опять же, во все поля и т.д. Всё как ты любишь.

зачем писать серверы на чем угодно если все убогое

Зачем писать серверы на жабе если она убогая, что бы потом переделывать на чём-то технологически более совершенном?

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от s-warus

уменьшаешь и скорость ответов взлетает

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

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

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

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

Зачем их совмещать в одном рантайме?

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

Всё ещё маркетинговый буллшит.

ну например JPA в OpenJPA/Hibernate и производных как открытых, так и коммерческих, т.е. IBM может поставить своим кастомерам свою но совместимую версию этих библиотек и им не придется переписывать совсем все и привыкать к совершенно новым велосипедам, тоже самое может сделать SAP, RedHat ну и кто-угодно. При этом все юридические моменты важные для корпов будут соблюдены, а инженеры не будут завендорлочены на 100%.

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

Давайте ещё раз:

Вопрос #1: зачем мне писать веб проект на Java, если проект точно не будет запускаться на винде, на кофеварке и тд?

Вопрос #2: зачем мне писать на Java и не менять код 20 лет если срок жизни текущей реализации в среднем 4-5 лет?

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

Obezyan
()
Ответ на: комментарий от s-warus

именно так, Java просто перенесла проблему переносимости с уровня кода на уровень обвязки исполнения, виртуальную машину и тд.

Obezyan
()
Ответ на: комментарий от no-such-file

В плане устойчивости и возможностей обработки ошибок там даже намного лучше, чем в жабе.

звучит как маркетинговый булшит для альтернативно одаренных

Зачем писать серверы на жабе если она убогая

если жаба убогая, тогда про остальные и говорить не хочется, было бы прекрасно увидеть что-то более совершенное, но ничего нет

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

если срок жизни текущей реализации в среднем 4-5 лет?

а что вы собрались делать дальше? переписывать вротпрез на пипоне?

Syncro ★★★★★
()
Ответ на: комментарий от s-warus

ищу чела который это поставит определённой версии под мой проц, зарегается на оракле, сане, ibm

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

Syncro ★★★★★
()
Ответ на: комментарий от s-warus

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

жаба в отличии от многих «альтернатив» как раз позволяет настроить органичения по ресурсам так что-бы из них не вылазить. Например, у меня сборка проекта на нодежуес без этих лимитов сжирала 16гиг оперативки и заваливалась неуспешно и то в этих 16гиг зашейпиться помогли только контейнерные(читай аппаратные) ограничения, а так она выжирала вообще всю оперативку/ядра и все равно могла завалиться.

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

из дорожной карты «Новое общесистемное ПО», работы по которой финансируются государством, исключены два проекта

Причина исключения данных проектов из дорожной карты — отказ от бюджетного финансирования

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

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

в том что-бы собирать только те, которые вам нужны

Ну собирай только те, которые нужны. В чём проблема?

OpenJPA

Я придумал шутку…

А если серьёзно, то каким боком это относится к жабе как технологии? Это всё «юридические моменты». Где-то такие стандарты пытаются пилить (например в PHP, но конкретно до гибернации они пока не добрались), где-то есть решения которые стали стандартами де-факто. В целом, соглашусь, что это сильный аргумент в пользу жабы если смотреть шире. Это то, чего очень сильно не хватает на других «платформах». Но это вечный спор из серии «Собор или Базар». У всего есть обратная сторона.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 2)
Ответ на: комментарий от Syncro

а что вы собрались делать дальше? переписывать вротпрез на пипоне?

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

Пример из развивающихся: за 7 лет один из проектов над которым я работаю перешел от magento + MySQL на одном VDS к CommerceTools + Slim backend + Postgres + Amazon services. Сейчас часть функционала переносим на serverless (Amazon Lambda) что позволит ещё больше масштабировать горизонтально т. к. появилась потребность в разном масштабировании в разных регионах планеты.

На Java мы бы уткнулись в стену по функционалу и операционным затратам на инфраструктуру ещё года 3 назад.

Obezyan
()
Ответ на: комментарий от rumgot

JavaScript 3.1%

node.js только 3.1% ? даже я sass использую, да морду к управлению zerotier на node.js сейчас переделываю, подозреваю оно не всех учитывает если такие старики как я эту фигню осваивают

s-warus ★★★
()
Ответ на: комментарий от Obezyan

зачем мне писать веб проект на Java, если проект точно не будет запускаться на винде, на кофеварке и тд?

Чтобы получить хорошую производительность. Можно тоже самое получить на крестах, но на джаве писать и отлаживать проще. А значит ещё и выиграете по времени по выкатыванию проекта в прод.

зачем мне писать на Java и не менять код 20 лет если срок жизни текущей реализации в среднем 4-5 лет?

В такой ситуации вы просто обязаны писать на джаве. Ведь наверняка вы не весь код будете выкидывать? А на джаве очень просто делать рефакторинг и переиспользовать старый код. В отличии от скриптоты, где вы точно в такой ситуации весь код выкинете.

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

звучит как маркетинговый булшит для альтернативно одаренных

Там есть рестарты. Сильно лучше обычных исключений, т.к. обработка ошибки может происходить в контексте кода где ошибка случилась, а не там где её отловили.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Ну собирай только те, которые нужны. В чём проблема?

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

А если серьёзно, то каким боком это относится к жабе как технологии?

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

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 3)
Ответ на: комментарий от s-warus

node.js только 3.1%

Там видимо считаются только фуллстэк сайты. Если API на ноде, как ты это определишь?

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

Создание распределенной системы на языке заточенном на переносимость (Java) это попытка отстрелить себе ноги по яйца. Тоже самое с С++ из-за скорости добавления новых возможностей в систему и общей скорости разработки (ну молиться чтобы сборка мусора работала на такой системе без утечек).

В таких системах, если например написание какой-то части даст прирост скорости на 10мс, например, grpc на Go с protobuf, то выкидывается PHP и эта часть реализуется сервисом на Go.

А Java на проекте я использую - Apache Netbeans IDE с кастомными модулями :)

Obezyan
()
Ответ на: комментарий от no-such-file

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

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

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

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

У меня нету приложений на электроне или JavaScript на компьютере. GIMP нативный, Krita нативная, Audacity нативный, Google Chrome нативный, Firefox нативный, qBittorrent нативный, CudaText нативный, LibreOffice нативный, итд.

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

либра не вполне нативная с точки зрения GUI тулкита

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

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

кстати, сейчас код на джаве можно как скомпилировать в нативный бинарник с помощью graal, так и использовать в виде шелл-скрипта

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

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

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

дефективные технологии часто пытаются «продать» как узкоспециализированные, вообще универсальность или абстракция это основа науки проектирования качественного ПО

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

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

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

в цивилизованном ИТ вам никто посадить так себя на иглу не даст

Давай ты не будешь с дивана рассуждать про «кракозии» и прочие темы космического масштаба. Хотя бы потому что в таком масштабе все кейсы и решения уникальны. Жаба там используется, или не жаба решается в гораздо более широком контексте, и ни тебе ни мне детали не известны.

no-such-file ★★★★★
()
Ответ на: комментарий от Syncro

бывает что в контексте где случилась вы ничего сделать не можете

А бывает, что сможете. В любом случае в том контексте ты всегда сможешь гораздо больше, чем в контексте выше. Причём, для понимания (мне кажется ты не понял), обработчик задаётся отдельно, не внутри.

no-such-file ★★★★★
()
Ответ на: комментарий от Syncro

Вы в погоне за универсальностью абстрагировались от логики. Очередной Лавсан, только от мира Java. Это печально.

Obezyan
()
Ответ на: комментарий от no-such-file

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

такого нет практически нигде, даже просто вменяемых библиотек для логирования не много где есть

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 1)
Ответ на: комментарий от no-such-file

там где нет исключений, вам придется калечить интерфейсы в духе интовых кодов возврата у процедурных функций как в сишке уровня развития 30и летней давности

Syncro ★★★★★
()
Ответ на: комментарий от no-such-file

неймспейсы кроме колизий имён ещё и скорость увеличивают, грусно.

s-warus ★★★
()
Ответ на: комментарий от Syncro

там где нет исключений

Рестарты это и есть исключения, только с обработкой в месте ошибки.

Но вообще, это была ирония, если что. Я не предлагаю брать ЛИСП для замены жабы. Я говорю только, что жаба идейно находится на том же уровне, причём жаба ещё и хуже технологически.

no-such-file ★★★★★
()
Ответ на: комментарий от Obezyan

зачем мне писать веб проект на Java, если проект точно не будет запускаться на винде, на кофеварке и тд

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

arkhnchul ★★
()
Ответ на: комментарий от no-such-file

Рестарты это и есть исключения, только с обработкой в месте ошибки.

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

Syncro ★★★★★
()
Ответ на: комментарий от no-such-file

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

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

Самое развитое в Java это потребление памяти, а самое универсальное - это утечки этой самой памяти. Java может течь по памяти даже на кофеварке :)

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

Справедливости ради я видел системы на Java в финтехе (арбитраж биржи) которые держали много запросов и работали быстро, но там систему делали и обслуживали гении и чистой Java это назвать было сложно. Эта система не была распределенной, примеров с такими распределенными системами с современными нагрузкам по запросам (юзерам) я не знаю.

Obezyan
()
Ответ на: комментарий от Syncro

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

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