LINUX.ORG.RU
ФорумTalks

Авторы guava жгут или опенсорц Google-way


0

2

https://plus.google.com/u/0/113026104107031516488/posts/ZRdtjTL1MpM

Вольные пересказ для Ъ: Автор Guava просит не присылать патчи, потому что гугловцы считают их говном. Говном в коде, в документации и на уровне идеи. И проблем эти патчи не решают и им влом потом все это мержить и интегрировать в святые системы гугл. Guava - оперсорц только потому что Google хочет выглядеть good guys, но community они видали в гробу. Внутри Google куча legacy кода, который должен сразу поломаться от любой новой фичи в Guava. И только из-за того что Дартаньяны разработчики не принимают патчи, Guava такая прекрасная.

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

P.S. Guava - библиотека коллекций, хелперов и т.д. от Google

P.S.S. Что я хотел сказать? Опенсорц в гугле как он есть. Конечно они имеют на это полное право. Но мы то знаем что нифига они после этого не дартаньяны, которыми хотят казаться

★★★★★

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

Что такое Guava, почему оно нужно и почему эта драма должна кого-то волновать?

KDE41user
()

Что такое Guava?

Лорчую.

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

Я же сказал, что право то они имеют. Но хорошо заметил jsuereth, насколько я понял начинатель срача, что правильный опенсорц - 3rdparty для компании, которая его оперсорцнула.

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

Они хорошие :)

Например, есть такая проблема. Хотим пробежаться по коллекции и удалить несколько элементов из нее:

    //Делаем коллекцию
    Collection<String> l = new ArrayList<String>();

    //Заполняем ее данными
    for (int i=0; i < 10; ++i) {
    l.add("Java");
    l.add("Jesus");
    l.add("Mefisto");
    }

    //В цикле пытаемся удалить ненужное
    for (Integer i : l)
    {
        if (i.startsWith("J"))
            l.remove(i);
    }

    //Выводим результат
    System.out.println(l);

Естественно, это не сработает и вывалится с ошибкой:

Exception in thread "main" java.util.ConcurrentModificationException

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

Вместо этого можно заюзать Гуяву и обойтись одной строчкой:

final Collection<String> filteredStrings =  
           Collections2.filter(strings, Predicates.containsPattern("^J"));  

То же можно сказать и про сортировки. Вот так можно коротко и удобно отсортировать фрукты по имени:

//Создаем функцию, возвращающую ключ - имя фрукта
Function<Fruit, String> getNameFunction = new Function<Fruit, String>() {
    public String apply(Fruit from) {
        return from.getName();
    }
};

//Создаем сортировку
Ordering<Fruit> nameOrdering = Ordering.natural().onResultOf(getNameFunction);

//Сортируем фрукты, применяя на них только что созданную сортировку
ImmutableSortedSet<Fruit> sortedFruits = ImmutableSortedSet.orderedBy(
    nameOrdering).addAll(fruits).build();
stevejobs ★★★★☆
()

Почитали, наверное, это и решили пресечь такие события.

ZenitharChampion ★★★★★
()

1. Почему ты считаешь что принятие твоих патчей должно быть бесплатным?
2. Ты действительно можешь предложить гуглу сумму денег достаточную, для реализации твоих мечт? (вливания твоих патчей)
3. Если они такие гады, а ты такой дартаньян, то что мешает тебе форкнуть этот проект и всосать патчи со всего света?

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

>1. Почему ты считаешь что принятие твоих патчей должно быть бесплатным?

У вас копиразм головного мозга. Срочно проследуйте к специалисту.

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

Тут зависит от ситуации. Тот же Поттеринг должен платить :)

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

У вас копиразм головного мозга. Срочно проследуйте к специалисту.

То есть по сути вопроса тебе сказать нечего?

Manhunt ★★★★★
()

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

Scala где-то используется?

Но мы то знаем что нифига они после этого не дартаньяны, которыми хотят казаться

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

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

F457 ★★★★
()

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

Jetty ★★★★★
()

Опенсорс не подразумевает принятие чужого кода в апстрим.

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