LINUX.ORG.RU

Выпущена Google Collections Library 1.0 final

 , , , ,


1

0

30 декабря Google™, Inc объявил о выпуске финальной версии №1.0 собственной библиотеки коллекций GCL, расширяющей и дополняющей стандартный набор JCF

Видеоуроки по использованию библиотеки http://video.google.ru/videosearch?q=...

Ссылки на остальные известные библиотеки для работы с коллекциями: http://jaggregate.sourceforge.net/
http://commons.apache.org/collections
http://fastutil.dsi.unimi.it
http://pcj.sourceforge.net
http://javolution.org/doc/Javolution-...
http://trove4j.sourceforge.net
http://www.sosnoski.com/opensrc/tclib...
http://www.jezuk.co.uk/cgi-bin/view/m...

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

★★★★★

Проверено: Shaman007 ()

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

Да, я специально зашел тебе об этом сказать. Рад быть услышанным и спасибо.

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

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

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

Они мотивируют это так

«The biggest drawback to type-specific collections is that Java requires tailoring of the code to each type.» (с)

Хотя в чем-то я с Вами согласен. :)

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

>Сколько велосипедов :)

Как раз нет. Это чтобы такие велосипеды не писать самому. Или по крайней мере не делать иррационально.

lexius ★★ ()

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

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

>Это чтобы такие велосипеды не писать самому.

Фиг его знает. Иногда проще навернуть свое, чем подключать еще один фреймворк. Их и так тысячи.

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

>Фиг его знает. Иногда проще навернуть свое, чем подключать еще один фреймворк. Их и так тысячи.

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

Гугл хорошую штуку выпустил, многим пригодится.

lexius ★★ ()

> Видеоуроки по использованию библиотеки

Объясните пожалуйста, на кого расчитаны _видео_ уроки по использованию __программной библиотеки__? Что там вообще можно увидеть? Код в формате OGV? Его можно и в plain text читать.

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

>Объясните пожалуйста, на кого расчитаны _видео_ уроки по использованию __программной библиотеки__? Что там вообще можно увидеть? Код в формате OGV? Его можно и в plain text читать.

Влияние моды.

den2 ()

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

Я вот например исповедую принцип - только классы из соre JRE и ничего кроме. Ну если уже сильно припрет, то тогда можно и стороннюю либу заюзать.

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

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

Я вот чуток походил по ссылкам, и что я там прочел?

type-specific maps, sets, lists

set of collection classes for primitive data types

regular and primitive collections

Даже не смешно, это какой-то delphi/с++ - way: плодить миллионы одинаковых абстракций и реализаций.

«Это чтобы такие велосипеды не писать самому»

Т.е. все вышеупомянутые либы полностью совместимы между собой?

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

>Объясните пожалуйста, на кого расчитаны _видео_ уроки по использованию __программной библиотеки__? Что там вообще можно увидеть?

На заднем плане там гордо маячит ГуглоХроме.

Ваш К.О.

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

Я тебе больше скажу, Google выкладывает сотни уроков и лекций для программистов. А еще доклады с конференций разработчиков тоже выкладывают в инет. Это только в соцлагере считают что на паскале и вирте развитие программирования закончилось

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

Там же объясняли они. Их коллекции это двунаправленные мапы, списки короче дополняют стандартные JCF, а не дублируют. А понадобились они им в своих внутренних проектах, Hadoop, Guice и т.п.

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

>Кто нибудь может обьяснить и на кой оно надо? Это теперь такая мода у всех писать свои логгеры, коллекшинз фреймворки и заменители java.util.Calendar?

А вот согласен.

Я вот например исповедую принцип - только классы из соre JRE и ничего кроме. Ну если уже сильно припрет, то тогда можно и стороннюю либу заюзать.

А вот плюсую.

тупо

А вот минусую, ТУПОй анонимус.

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

>то нибудь может обьяснить и на кой оно надо? Это теперь такая мода у всех писать свои логгеры, коллекшинз фреймворки и заменители java.util.Calendar?

Все гугловские коллекции расширяют стандартные, но не заменяют.

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


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

Конечно же перед применением нужно хорошо подумать.

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

Why not?

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

Если у этого велосипеда действительно 21 скорость вместо 5-и то почему бы и нет?

keeper-andrew ()
Ответ на: комментарий от stave

Удачи

>>Это чтобы такие велосипеды не писать самому.

Фиг его знает. Иногда проще навернуть свое, чем подключать еще один фреймворк. Их и так тысячи.

И найдется идиот который заплатит за эти риски?

keeper-andrew ()
Ответ на: комментарий от Bioreactor

Хм вот странно, вроде ж какие-никакие generics к java прикрутили, видать, зело неоптимальные...

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

Например если нужно

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

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

Учи матчасть

>Даже не смешно, это какой-то delphi/с++ - way: плодить миллионы одинаковых абстракций и реализаций.

Как раз таки абстракции общие - Collection, List, Set, Map. А вот реализацию подбирай под задачу.

Т.е. все вышеупомянутые либы полностью совместимы между собой? Естественно. См. выше.

keeper-andrew ()
Ответ на: комментарий от impfp

Оставив обратную совместимость с 1.4 таким образом куча методов все также и принимает Object, а остальные тупо кастуются, совместимость моя своместимость, кодаж тя выкинуть то?

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

>Но это их проблемы

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

anonymous ()
Ответ на: Учи матчасть от keeper-andrew

Что-то мне подсказывает, что выполнить объединение jaggregate.Set<bool> и bak.pcj.set.BooleanDirectSet вовсе не так просто, как ты только что продекламировал.

impfp ()

За, интерфейс Function и класс Functions отдельный, лютый, бешеный респект.

Интерфейс Function будет совместим со Scala, ибо apply. И класс Functions поддерживает операции compose и identity. Кто там кричал, что монады не нужны?

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

> Если бы это были _их_ проблемы пускай бы они там хоть головы порасшибали о свой говнокод, мне до лампочки. Но часто после таких умников приходится дорабатывать и саппортить не один проект. И тогда вот хочется их всех взять и поубивать голыми руками.

Больше говнокода, больше зарплата:)

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

>вышеупомянутые либы полностью совместимы между собой?

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

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

Но часто после таких умников приходится дорабатывать и саппортить не один проект. И тогда вот хочется их всех взять и поубивать голыми руками


Что, так много до сих пор осталось программ на дельфи?

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

При чем тут Дельфи?

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

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

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

yet_another_anon ()

Жабобыдлокодеры такие жабобыдлокодеры... :-)

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

пишущих софт на Дельфи, неплохо зарабатывающих, между прочим.


Хм, странно. Пишут для немецких банков?

Karapuz ★★★★★ ()

> 30 декабря Google™, Inc объявил о выпуске финальной версии №1.0 собственной библиотеки коллекций GCL, расширяющей и дополняющей стандартный набор JCF

Штоэтоаааааа?!

anonymous ()

Ссылки на остальные известные библиотеки для работы с коллекциями

можно подумать на Java свет клином сошёлся. Ненавижу ООП в стиле C++

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

>можно подумать на Java свет клином сошёлся. Ненавижу ООП в стиле C++

А ООП в стиле чего ты навидишь? В стиле Обджект Паскаля?

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

> А ООП в стиле чего ты навидишь? В стиле Обджект Паскаля?

CLOS rules them all

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

Звучит как Лабораторная работа номер пять. Хотя может я и не прав.

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

1. В чем заключался проект
2. Почему именно CLOS.
3. Сколько людей учавствовали в проекте.
4. Как долго писался проект.
5. Как проектировался. Что положено в основу.
6. Технологии, используемые в проекте.
7. Особенности, приимущества по сравнению с той же Джавой.

Santad ()

Йааа только что видел на ЛОРе в баннере что сверх новости рекламу ВИНДОВЗ СЕВЕН!!!!!! Даже сделал скриншот и собирался запостить его в толксах, но у меня недостаточно скора!!! ОМГ!!!!

Santad ()
Ответ на: Удачи от keeper-andrew

>И найдется идиот который заплатит за эти риски?

Конечно :)

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

> Я тебе больше скажу, Google выкладывает сотни уроков и лекций для программистов

Это типа ответ на вопрос «зачем нужны _видео_ уроки по библиотекам»? И я могу тебе ещё больше сказать, Google выкладывает тысячи уроков и лекций для программистов.

А еще доклады с конференций разработчиков тоже выкладывают в инет

Ну молодцы, только каким это боком к вопросу?

Это только в соцлагере считают что на паскале и вирте развитие программирования закончилось

А это тут причём? Паскаль последний раз видел в школе.

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

>>>> Я вот например исповедую принцип - только классы из соre JRE и ничего кроме.

как же вы тогда ходите в базу данных? нежели на ваше счастье в JRE есть JDBC драйвер Oracle?

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

Он реверсит протокол и пишет его сам. В каждом проекте.

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