Comments 16
Что выбрать для работы, если по тем или иным причинам (закрытый контур, корпоративные ограничения и т.п.) нет доступа не только к IntelliJ IDEA Ultimate, но даже к Community Edition?
VSCode, не? ;)
На данный момент, как база, IntelliJ Platform намного более функциональная, по крайней мере для Java/Kotlin.
Хотя, от тех же Go разработчиков, я слышал что-то подобное и про GoLand. Собственно, потому и не VsCode - интроспекция, хайлаты и все-все просто лучше в IDEA.
UPD: найти бы мем "У нас так не принято" про Java-разрабов которые ни на чем не пишут, кроме как IDEA-платформы)
Интроспекция это про что? А вообще звучит, будто у вас LSP нормального не было, но я и не джавист.
Если в кратце, в IntelliJ Platform очень продвинутый способ парса AST, его анализа и прочее. Что дает достаточно глубокую поддержку разных механизмов рефактора и подсвета ошибок и те. И замечу, что это касается только строго типизированных языков.
В свою очередь, многие плагины для VSCode делают все сами, не полагаясь на "базу" платформы на которой они находятся. Из-за этого есть кучи плагинов в вс коде, которые просто регексом все делают. Но, конечно, это не обо всех идет речь.
В общем, просто IDEA куда круче именно для написания всяких приколов именно под java тк дает кучу апи который за тебя уже все сделал.
которые просто регексом все делают
не видел такого примерно никогда. либо майковскимй IntelliSense делает свою магию, либо языковой сервер + tree sitter, которые за последние несколько лет заметно двинулись вперёд и существуют практически под любой язык. Может какая-нибудь Lua была, но и у той сейчас свой LSP продвинутый. Интеграция разве что не слишком плотная. А так многие LSP уже с TreeSitter, который позволяет как раз писать продвинутые трансформеры для AST.
Ну вот LSP это уже круто, да. Но все еще сложный апи для модернизации и написания своих плагинов. В будущем вероятно так в OpenIDE и в Giga будут поддерживаться и другие языки. Он те же LSP это лишь малая часть, там еще нужно всякие ран конфигурации, анализы экосистемы делать и те (да да, привет тому же c# с его прекрасными манифестами). В общем, lsp это круто, но он не решает всех проблем, все равно надо пилить плагины для поддержки связок язык + фреймворк.
Пожалуй, самый простой пример где все просто это Golang где lsp почти все решит. Но не везде так, так что lsp не панацея. А для статических языков IDEA как платформа имхо лучше, хоть и жрет много памяти.
В контексте С++ единственная фича которую я встречал только в IDEA это автоматическая генерация перегрузок для функции. Для написания билдеров наверное удобно. В Qt Creator в качестве рефакторинга ещё был перенос имплементации в cpp из заголовочника и вынос в отдельный файл. Но не сказать, чтобы это было чем-то исключительно необходимым, чтобы повысить продуктивность. В остальном clangd покрывает все остальные потребности , если осилил скормить ему команды для сборки.
А вот с референсами на одноименные функции в С++ кажется все IDE работают исключительно криво. Про другие языки особо ничего не могу сказать, ибо редко где используется механизм перегрузок.
там еще нужно всякие ран конфигурации
для тех же плюсов задача примерно неразрешимая, если нет интеграции со сборочными системами - cmake, make, autotools, meson, vsproj etc. Это обычно прикручивается плагинами. vscode пошла вариком проще - все раннеры и билд таски фигачатся в launch.json и tasks.json. Для языков с адекватными юнитами трансляции проблема решается запуском одной команды (а ля go build -run my_cool_app
или cargo run my_cool_app
) не сказать что rocket science. Сгенерировать таргеты на основе такого конфига не сильно сложно, хотя я вероятно каких-то нюансов манифестов (C#/Java) не знаю.
вроде бы в нашей стране конкурентная реклама была запрещена, не?
А где тут реклама? Просто обзор и мое мнение. Очевидно, что тут просто про приоритеты.
1. IDEA Ultimate самая приоритетная
2. IDEA CE тк обслуживание лучше, но тут уже кому как, особо плюшек кроме стабилити нету.
3. Уже выбор между Giga и Open. Имхо, разницы мало. Выбирал бы OpenIDE из за открытости и встроенного Amplicode если я бут разраб. Giga если у меня нету доступа к другим AI агентам и тут из коробки оно есть.
В целом, об этом вся статья.
в целом вся статья о том, что "опен лучше гиги" (про это написано во всех пунктах, кроме первого и последнего; да и то в последнем алтимейт/комьюнити упоминается вскользь).
поэтому не надо ля-ля..
Ну во многом, ИМХО, Open действительно более продуманная, нежели гига.
Однако, разницы мало. Я в статье написал, ждем их Ultimate версию, о которой заявлялось год назад.
Пока в гиге мало пользы(доп. фич в сравнении с CE) – из самого главного свой AI ассистент и чат, которые хоть и далеки от зарубежных аналогов, но по крайней мере внутри гиги бесплатные. Так что инструмент есть за что выбирать, но как я уже сказал - на этом, я больше достоинств не вижу.
Мне не хотелось в статье как то принижать гигу или что-то в этом роде. Я сказал все, что мне пришло на голову из плюсов и минусов о Giga (слабые отличия от CE). Если я пропустил какие-то плюсы(маловероятно) по сравнению c OpenIDE - пишите тут, если будет важно можно будет внести в UPD в статье.
UDP
На счет Giga AI – я написал, что он год назад был нуу так себе, но лучше чем ничего. Недавно был релиз новых версий, которые протестить не было времени, потому я в статье написал, что вероятно они стали намного лучше.
Но это не меняет факта, что если у меня есть JB AI (JB Assistant/Jb Junie) + ChatGPT - я ими буду пользоваться. Это факт. Но, если бы у меня не было таких возможностей, конечно же далее выбор пал бы на сберовские ai. Так что, опять все в приоритетах, 0 претензий к сберу, тут выбор идет только из конкурентности и доступности.
мне по большому счёту абсолютно всё равно на обе IDE, я пользуюсь Ultimate.
мой посыл был в том, что очень некрасиво в блоге Haulmont (который входит в консорциум же?) писать "вот у нас в OpenIDE лучше, чем у них в GigaIDE".
Ну это сравнение двух IDE. Если пытаться сделать нейтральное сравнение – это будет уже не сравнение. Я просто пробежался по фичам и сказал кейсы что использовать, что нет и в каких сценариях.
На счет некрасиво – лично у меня не вызывает никакой неприязни Giga, я не пытался выставить в не лучшем свете Giga. Тут объективная реальность и конкурентность.
Ребята из гиги, я уверен, почитают и добавят какие-то планы у себя, идеи какие-то (как это было с тем же закрытым скачиванием через SberID). Это рынок. Да и к тому же, я не скрывал ссылки на гигу, объективно сказал что из коробки увы нету у опен какого-либо ассистента и надо будет тащить свой. Так что относительно охвата - двусторонний пиар, если таковым вообще его можно называть.
Если бы еще в OpenIDE вернули возможность включать классический вид или запилили бы соответствубщий плагин, то цены бы не было.
интересно, java проект который Idea открывает несколько минут тут открылся за 30 сек. похвально. Жаль нет классического вида
Альтернативы IDEA CE для Jmix и Spring Boot разработчиков