Comments 49
Да, спасибо, исправил. Забыл про это.

P.S. Если бы роботов, последняя стадия делалась в таблице либроофиса (так показалось удобнее), а его мне было муторно учить русским падежам.
Ну, тут выборка по кол-ву звезд github'a, так получилось что другие игры не набрали 390 оценок и выше.
Не нашел в разделе 10. Логирование (logging) slf4j.
github.com/qos-ch/slf4j
По результатам анализа 2013 года это либа номер 1 в java-проектах на github (информация из wiki).
Да, но кол-во звезд 382, а в список из 350 проектов попали только проекты у которых от 390 звезд. Не знаю, почему тогда менее популярные проекты логирования оказались более оцененными.
У многих проектов, как slf4j, на гитхабе зеркало, которое могло появиться совсем недавно. То же самое насчет проектов, которые жили много лет на google code, которого не стало. Количество звезд это удобная, но не лучшая мерка.
Да, не лучшая, но к сожалению другие методы оценки или слишком субъективны (вроде собственного мнения о полезности проекта) или слишком сложны для реализации (вроде построения аналога page rank'a для github'a).
А есть то же самое, только отсортированное по количеству упоминаний в проектах?
Пока нет, для этого требуется более сложный анализ, чтобы определить основные пакеты классов проекта, а потом найти из в других проектах github'a.
Это метрика мало о чем говорит. Если библиотека заточена на использование в других библиотеках — это одно, а если на конечные приложения — зависимостей будет 0
Попробую во временем написать crawler для парсинга файлов maven и gradle и построения зависимостей в github'e, но это отдельная работа. Тем более что ряд Java проектов таким образом не найдешь (вроде примеров исходного кода, утилит для облегчения программирования на Java, IDE, реализаций ЯП на Java и т.п.)
У вас что-то guava делает во фреймворках, а в «Добавление новых возможностей в язык Java» откуда-то взялся Guice.
Интересно — у меня сложилось впечатление, что на java практически не пишутся приложения для конечного пользователя. Intellij Idea — приятное исключение. А всё остальное на 90% это — фреймворки, веб приложения, библиотеки и узкоспециализированные утилиты. Неужели swing настолько плох?
Ну, не совсем.
Во-первых, даже в этом списке есть 15 приложений для конечного пользователя (а, естественно, фреймворки и библиотеки оцениваются на github'е выше готовых приложений).
Во-вторых, на Java больше пишут приложений для бизнес пользователей.
В-третьих, это не совсем верно, например и в OpenOffice и в LibreOffice часть функционала написана на Java. И это не единственные примеры.

Неужели swing настолько плох?

Насколько я знаю, в мире Java мода не делать десктопных приложений, а делать вебприложения (если это возможно, конечно), даже если они будут запускаться на localhost:port (что делается в java буквально одной строчкой), так как очень удобно потом перейти на клиент-серверную архитектуру, намного легче разрабатывать, унифицировать и больше возможностей для дизайна. Ну и мода на бизнес и корпоративные приложения, взамен приложений для частных клиентов.
Во-первых, даже в этом списке есть 15 приложений для конечного пользователя (а, естественно, фреймворки и библиотеки оцениваются на github'е выше готовых приложений).

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

Насколько я знаю, в мире Java мода не делать десктопных приложений, а делать вебприложения (если это возможно, конечно), даже если они будут запускаться на localhost:port

А можно пример? Я как-то с таким не сталкивался — обычно вебприложения сами по себе, десктоп — сам по себе.
Ну, явный пример это Google Docs, где используется Java в бэке, насколько можно верить инету. Google Docs можно считать что «конкурирует» с дестктопными Офисами (правда там куда чаще симбиоз).

В принципе, существуют веб-IDE, веб-офисы, веб-бух.программы, пожалуй в вебе сложно сделать только полноценный фаервол, антивирус или утилиты по работе с жестким диском и т.п. вещи.

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

Кстати, меня давно интересует вопрос, откуда в Андроид-проектах эти дикие тыщи звездочек на каждый проект? У меня нет впечатления, что Андроид-разработчики это такие Гитхаб-опенсорс-хипстеры, скорее что заядлые велосипедисты. Или это не так? Откуда Андроид-разработчики узнают про новые проекты, прибегают туда и ставят звездочки? :)
Откуда Андроид-разработчики узнают про новые проекты, прибегают туда и ставят звездочки?

Ну, к примеру, android weekly. Но вообще, пожалуй, android-разработчики больше з опен-сорсом дружат, как по мне.
Возможно, хотя может быть дело в том что команды android-разработчиков как правило небольшие и все имеют право добавлять новые открытые библиотеки, поэтому большинство старается быть в курсе новых open-source проектов. А в Java команды могут состоять из сотен (и даже тысяч) разработчиков, в которых лишь десяток самых опытных принимают решения о использовании новых open-source библиотек и фреймворков, соответственно, все остальные менее мотивированы изучать новые open-source библиотек, раз ими все равно нельзя будет пользоваться.
Огромное спасибо за такую работу, неплохой способ расширить кругозор в современных направлениях.

А вы не хотели бы выложить результаты\парсер на тот же гитхаб? Было бы удобнее поддерживать и развивать, если потом возникнет такое желание.
Планирую выложить, но пока код парсера сырой, только для «внутреннего» использования. Выложу как только код можно будет показывать так чтобы за него не было мучительно стыдно. И результаты тоже.
Дополняю: totallylazy. Библиотека для работы с ленивыми структурами данных, в частности с последовательностями (map, filter, fold/reduce...), есть Option, Either и т.д.
Пример кода генерации тестовых данных для ListAdapter на Android:

final Iterable<ListItem> itemSource =
    iterate(increment, 1)
    .map(i -> (ListItem) new TestListItem()
            .withTitle(format("item %s", i))
            .withTags("item", valueOf(i), "test")
            .withSectionHeader(random.nextBoolean() ? some(format("section %s", i)) : none()))
    .take(20)
    .toList();
>> Vaadin это Java фреймворк для создания современных высокопроизводительных веб приложений
Это совсем плохое описание Vaadin, высокопроизводительные это не про них, больше подошло бы:

Vaadin — фреймворк для разработки веб-приложений с server-side моделью программирования и состоянием UI на сервере.
Привет, спасибо за классный сборник. Хочется порекламировать популярный тулбокс для удобного анализа и работы с индексами lucene / solr / elasticsearch: luke. github.com/DmitryKey/luke Проект уже используется в таких проектах, как Hibernate, Jackrabbit Oak.
А какой смысл добавлять древнюю, неподдерживаемую библиотеку, автор которой давно пилит netty.io?
Которая кстати, и быстрее и удобнее и больше функционала умеет.
На счет «неподдерживаемую» — не соглашусь, предлагаю перейти по указанной ссылке и убедиться в этом.
А на счет функциональности, скорости и удобства — стоит посмотреть/сравнить/попробовать.
Ваше право с чем-то не соглашаться, но есть факты.
Автор мина забил на нее и стал развивать свои идеи в проекте netty, после этого в mina только изредка правят баги. Никаких серьезных изменений в ней нет уже несколько лет. Достаточно перейти по указанному вами адресу и посмотреть на эту «поддержку», редкие багфиксы, минорные релизы раз в пару лет и никаких новых фишек.
Там есть и Java (86 классов), Rudy код (130 файлов) и С (67 файлов). Причем при поиске в github проект показывается как Java проект (вроде бы основной язык проекта в github устанавливает владелец). Будем считать что парсер написан и на Rudy и на Java и на С.
Действительно, есть, но в инструкции по установке о Java ни слова, только Ruby. Как можно использовать данный проект при java-разработке?
Only those users with full accounts are able to leave comments. Log in, please.