LINUX.ORG.RU

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

c поддержкой(эти козлобараны удалили у меня вочти все версии Java пару дней назад при апгрейде а мне проект в продакшн отправлять)

Что значит «удалили версии Java»?

с безопасностью(Java давно стала основным средством расспространения малвари)

Это касается вебстарта, а в EE всё окей.

с ценой(бесплатная и платная Java)

Платная не так популярна как ты думаешь. Даже на openjdk большинство кода работает.

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

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

Это предположение, потому что я с твоих слово вообще нифига не понял.

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

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

Да.
Причем сетап удалил 64 битную вообще.

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

Я так понимаю, их установщик действует по принципу «оно всё совместимо, так что одной джавы хватит всем, и мы удаляем всё кроме актуальной версии». Проблему я тут вижу только в том, что он не предупреждает о наличии затираемой версии, как всё нормальные установщики.

Впрочем, это исключительно вендопроблемы, которые нормальных людей не касаются :3

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

Простой пример: Нужно написать программу сравнивающую два ~150mb XML файла

На правах оффтопа - в чём заключается суть сравнения? Хочу попробовать наваять решение на разных языках.

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

На правах оффтопа - в чём заключается суть сравнения? Хочу попробовать наваять решение на разных языках.

XML схема для обоих документов одинаковая.
Ноды не упорядочены, как и атрибуты как и дочерние ноды.
Id есть у всех нод дочерних к Root node

Нужно выдать ноды отсутсвующих в первом, втором документе, ноды одинаковыми Id но с любыми отличиями на любом уровне вложенности.
Точно не помню, но по моему у node с ID могут быть дочерние с атрибутами но глубже вложенность не идет.

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

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

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

Это песец какой-то.
И это человек поливает говном C# и хвалит Java.

В Java нет nullanble и не было.

Вы можете также как в Java сделать боксинг и хранить инт в объекте если нужно именно null

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

На C# получение списка элементов с различающимися атрибутами будет выглядеть примерно так:

 var xDoc1 = XDocument.Load("doc1.xml");
 var xDoc2 = XDocument.Load("doc2.xml");

 var y = from x1 in xDoc1.Root.Elements()
         join x2 in xDoc2.Root.Elements() on x1.Attribute("Id").Value equals x2.Attribute("Id").Value
         where !haveEqualAttributes(x1, x2)
         select new { X1 = x1, X2 = x2 };
haveEqualAttributes нужно написать или вставить в linq выражение

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

И это человек поливает говном C#

Не шарп а его авторов, которые вместо фикса косяков жавы решили наделать своих.

Вы можете также как в Java сделать боксинг и хранить инт в объекте если нужно именно null

А что делать когда у меня из одного апи торчат List<int> а из другого List<int?>? Вместо того что б загнать результат вызова одного метода в другой надо на каждый чих конвертить одно в другое, вместо одного утилитного метода с параметром List<int?> приходиться добавлять ещё один для List<int>. И для чего было так делать, кто мешал разрешить запихивать null в простые типы? Ответ null-фобия.

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

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

from x1 in xDoc1.Root.Elements()

таки Elements(), или всё же Descendants()?

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

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

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

Elements Только у них есть ID да и решение упрощается. Вот один из элементов:

 <Object IdString="00160800" prefix="category">
   <Name>Boat Transporting</Name>
   <Multiplier tier="1">1.0</Multiplier>
   <Multiplier tier="all">5.0</Multiplier>
   <AugTerms>
      <Aug src="2ndLangSyn" forceRelevance="1" characteristic="positive">transport de bateaux</Aug>
      <Aug src="synonym" forceRelevance="1" characteristic="positive">boat transportation</Aug>
      <Aug src="synonym" forceRelevance="1" characteristic="positive">boat transport</Aug>
      <Aug src="synonym" forceRelevance="1" characteristic="positive">boat transporting</Aug>
      <Aug src="2ndLangSyn" forceRelevance="1" characteristic="positive">bateaux-transport</Aug>
      <Aug src="synonym" forceRelevance="1" characteristic="positive">watercraft transport</Aug>
      <Aug src="synonym" forceRelevance="1" characteristic="positive">boat hauling</Aug>
   </AugTerms>
</Object>
Похоже я ошибся об одинарной вложенности, извиняюсь.

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

Код на C# приведенный выше только пример. Все приложение было около 200 строк с разбором командных параметров.

Особо приятно на linq параметры забирать после того как в паралленом проекте на Java параметры разбираются c помощью Apache PosixParser и Options

private const string ignoreTagParam = "--ignoretag=", ignorecaseParam = "--ignorecase", consoleParam = "--CON", trimParam = "--trim";
[...]
IsCaseSensitive = !args.Contains(ignorecaseParam);
            var ignoreTag = args.Where(x => x.StartsWith(ignoreTagParam)).FirstOrDefault();
            if (!string.IsNullOrEmpty(ignoreTag)) Tag2Ignore = ignoreTag.Substring(ignoreTagParam.Length);

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

считаются ли ноды различными, если у них отличаются дочерние ноды,

Да

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

В жаве есть божественный jcommander, который сам тебе занесёт параметры в аннотированный класс, вот так https://raw.githubusercontent.com/TERRANZ/seawar/master/src/main/java/ru/mars...

TERRANZ ★★★★
()
Последнее исправление: TERRANZ (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.