Давайте сделаем Комитет передовой IT-компанией.
Языки со строгой статической типизацией, такие как Java, имеют один большой минус: они очень многословны. А это означает, чтобы сделать простейшие действия, например, запрос к апи или десериализацию данных, потребуется написать ну очень большое количество рутинного кода. Чтобы показать разницу, посмотрим, как сделать один и тот же запрос на Python (динамическая типизация) и Java.
Запрос на Python:
Три строчки! Неплохо. Теперь попробуем сделать то же самое на Java:
Разница очевидна.
Разумеется, для Java есть библиотеки, которые сильно упрощают жизнь при создании подобных http-запросов, но всё ещё остаётся много работы, которую придётся делать самому: написание DTO-классов, обработка ошибок, парсинг Json-ответов...
Вот я и сделал небольшую библиотечку, которую легко использовать, чтобы ддосить наш любимый комитет. Например, попробуем достать статью с TJ:
Две строчки кода, чтобы сделать запрос и получить всю информацию по статье. Круто, да?
Но есть одно но: я ******** [устал] делать библиотеку один. Поэтому в SDK пока что сделано около 90% методов, в первую очередь, самые главные. И мне нужна ваша, Java-программисты, помощь. Буду рад вашим pull-реквестам, а также помощи с тестированием, поиском багов, предложениям и т. д.
И еще: я прошу официального разрешения и помощи программистов с Комитета. Я бы очень хотел, чтобы библиотека жила и была доступна Java-девелоперам со всего мира, а для этого её нужно запушить в Maven-репозиторий. Я знаю, как это сделать, но без вашей помощи не смогу. Если вам это интересно — пишите в комментариях.
Тут нужна картинка с петухами
Именно она, спасибо
Комментарий недоступен
Джавой ещё кто-то, кроме андроид-разработчиков, пользуется?
Комментарий недоступен
Ладно-ладно. Разработчикам для бизнеса (забыл, каким словом они обзываются) тоже можно
Энтерпрайз
Точно! Я с утра плохо выражаю свои мысли.
Java несколько лет подряд держится на первом месте в рейтингах по популярности.
Был удивлен, решил найти пруфы, не нашел. На первом месте в среднем богомерзский JS и чуть менее богомерзкий питон. Ява где-то на 3-5 месте возле ПХП, Шарпа, и плюсов
Ну разные источники говорят разное, дальше 3 места не видел java. Да и вопрос вообще о том, что "java никто не пользуется". Но она очень популярна, даже если сейчас она и не занимает 1-ое место. Часто вижу как ссылаются на эту хрень https://www.tiobe.com/tiobe-index/
Я больше доверяю гитхабу, он говорит про второе место. И связывает это с тем что ява очень многословна и используется в огромных комерческих проектах. А по количеству проектов на уровне с питоном 2-3 место
Тут вопрос дискуссионный, что считать метрикой популярности. Питон и жс куда больше располагают к тому, чтобы выливать результаты на гитхаб. Жаба дерижтся за счет разнообразности, и мобилки и десктоп и прости Гошподи жаба-апплеты, вряд ли можно назвать прогера, который хоть где-нить с ней не сталкивался. А еще океан энтерпрайз-говна, которое на гитхаб грузить особо никто не будет.
Среди кого и по каким критериям?
Среди других языков, по популярности
Думаю, по запросам в гугле на территории бывшего СССР более популярен 1С
https://www.tiobe.com/tiobe-index/
Стоит отметить, что этот рейтинг ни в коем случае нельзя использовать для анализа качества языка. Он лишь представляет собой приблизительную оценку популярности и востребованности конкретных языков программирования во всем мире.
По сути, если в языке мало чего понятно, и люди генерируют кучу курсов и вопросов в stackoverflow, то индекс будет высоким.
Ну это уже холивар. Про какой-нибудь Python можно сказать что его популярность выше из-за низкого порога входа. Поэтому огромное количество гуглений "Python Hello World" выбивает его в некоторых рейтингах на первое место. Спорить нет смысла, но я уверен в одном - java очень популярна.
Еще доля java в разработке будет падать (и падает уже), из-за того, что есть Groovy & Kotlin, которые по сути своей та же java, только с большим количеством сахара (и оба этих языка совместимы в обе стороны с java)
Настолько смешно, что аж нет
что странно, так как у них теперь есть Котлин.
Комментарий недоступен
я к этому готов
А вообще круто, что ты этим занялся. Обязательно на неделе посмотрю. Респект всем, кто опенсорсит.
Комментарий недоступен
Kotlin не таблетка от всех болячек.
Особенно когда дело касается поддержки новых версий Java, которые сейчас чуть ли ни каждые полгода выходят.
Берем https://cmtt-ru.github.io/osnova-api/api.yaml
Берем https://github.com/swagger-api/swagger-codegen
Генерим клиента
...
Profit
Спасибо, буду знать об этой штуке.
Сгенерил проект на java, на kotlin не смог (хотя написано, что поддерживается). Качество кода плохое) Но наверное так со многими генераторами чего-либо
качество всегда плохое, но это не так важно.
я обычно убираю в отдельную сборку сгенерированный клиент и оборачиваю своим интерфейсом, а в генерированный код не лезу. он не нуждается в поддержке, потому что любое изменение со стороны сервера - новая генерация
Комментарий недоступен
А какая помощь нужна от нас? Там платная публикация?
Нет, не платная. Т.к. я буду выкладывать артифакт (собранный SDK) под ru.cmtt, то меня попросят подтвердить, что ru.cmtt согласен с публикацией. Для этого они скорее всего временно попросят вас добавить какую-нибудь dns запись или что-то в этом роде
Предлагаю поменять название пакета, так как он не официальный. Думаю, мы не рискнём сторонний SDK под своим именем публиковать.
Да, это без проблем
Не android java разработчики, а у вас не принято на любой чих, связанный с rest, использовать retrofit?
Да и в обычной java есть какой-нибудь Unirest (кстати под капотом юзаю как раз эту либу). Но, как я и писал выше в статье, все равно остается много возни и рутинного кода.
Первое, на что обратил внимание - нехватка информации о том, что же всё-таки за 10%, которые не сделаны.
Ну это да. Я если честно не очень умею вести open source проекты)