LINUX.ORG.RU

Что использовать для разработки на Java вместо Idea Ultimate

 , ,


1

7

Сейчас достаточно сложно с легальной покупкой Idea Ultimate на территории России, поэтому возникает справедливый вопрос: что использовать вместо Idea для разработки типового ынтырпрайз-приложения на Spring? Рассматривал разные варианты, начиная от Idea Community и заканчивая VS Code. Все они имеют свои плюсы и минусы. Хотелось бы услышать у опытных ЛОР-овцев что выбирают они.

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

Господи! Я посмотрел на эти чудовищные синтаксические сопли, от хачкелля там вообще ничего нет.

Ты не туда смотришь. Наконец пацаны пошли по нормальному OOП, ибо нефиг!

ККккомбо! запилили выражения и композицию, переделав методы под выполнение одного дела, иммутабельность во все поля, pattern matching… Это другой язык, другое ООП. Другой концепт, который внедрили из мира FP.

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

Эффекты сейчас вообще в моде (только жабакодерам не говори). Они даже в OCaml попали. Да что уж там говорить, я видел реализацию эффектов для JS. До сих пор не представляю, нахрена это в JS, но кто-то сделал и реально использует!

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

ответов в гугле про Nix просто до жопы

150 способов сделать одно и тоже

многие чуваки на NixOS пересаживаются, скоро по популярности как рач будет

пациент теряет связь с реальностью

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

ну конечно! Почему в шарпее (не забываем, что синтаксические конструкции там появляются от MS Research, которую заполонили хаскелисты) с 9 версии всё завертелось так, что теперь SOLID и настоящие принципы OOP впиливают в синтаксис? Например - primary constructor? Зачем? Что это и какие плюсы?

Мне кажется ты не понимаешь как это должно работать, ты выписываешь то что я написал, и объясняешь где я что то не так понимаю, где я ошибся, где я сделал неправильный вывод, а ниже приводишь доказательство, того что твое мнение по этой теме верно, а мое нет.

В которой мы тут демагогию развели.

Назвать не можешь, я понял.

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

Мне кажется ты не понимаешь как это должно работать

тебе уже три страницы кажется. стало нееинтересно, короче. А тупому что-то заряжать совсем не моя позиция. Пока-пока-покедова. Иди с умным видом таким же клоунам рассказывай о смысле жизни. их тут полный форум.

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

И, наконец, самое главное: если у тебя проект на нескольких языках сразу, то тебе придётся несколько IDE запускать. Сишка + пистон? А покупай-ка ты сразу и CLion и PyCharm лол!

Ну clion все-таки содержит в себе плагин pycharm community edition, его вполне хватает обычно. Вот rust они да взяли и выпили из clion, при этом rustrover до сих пор в бете.

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

Нет, там подписка с разным сроком: месяц, три, шесть и год.

Годовая тебе дает так называемую «perpetual fallback license» то есть если год подряд продлевал короткие или сразу взял годовую то получишь бессрочную лицензию на начало периода (то есть без обновлений).

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

А скажи пожалуйста, на местах еще Java 7 используют или надо новые учить?

В яве не копенгаген, но для многих языков годовой давности лицензия более чем пригодна и можно будет пользоваться еще долго, как пример у меня такой прошлогодний clion, все равно самый используемый С++ это 17, и он еще судя по неспешности компиляторостроителей надолго. Но вообще согласен с отписавшимися выше что vscode (возможно не для явы) перспективней, для многих языков он уже лучше чем аналоги от jetbrains, например для rust code плагин уже давно обогнал тот который был в clion, а теперь в rustrover.

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

Родная раскладка емакса расчитана на Space Cadet с совершенно другим расположением клавиш

Чёрт побери! Я прям смотрю на неё и понимаю, насколько удобнее на такой было бы код писать. И 2 кнопки выделенные переключения раскладок и куча дополнительных кнопок, которые можно было бы под комбинации задействовать. Жаль что клавиатуры свернули туда, куда свернули.

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

Когда весь софт заточен на IBM клавиатуры - нет смысла. Я то представил ситуацию как можно было бы круто на такой клавиатуре код писать, если бы все эти 40 лет мы с такими и жили и весь софт был бы под такую раскладку заточен.

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

Я больше имел ввиду, что _не_заточен_ под такую клавиатуру, под все эти Hyper, Abort, Line. Тупо ничего не знает про них. Можно конечно взять WM и себе лично всё настроить(в том числе горячие клавиши во всём рабочем софте) и привыкнуть к этому, но тогда при работе с любой клавиатурой вне дома, будешь жутко страдать.

PS: Я даже от отсутствия своего конфга вима начинаю жутко страдать, потому как у меня, как минимум F2 - сохранение и F12 - выход(да, я знаю что дурак и надо было на F10, но уже привык).

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от Ygor

Это лишь расширение для обычных future из 1.5

https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/Future.html

Которые в свою очередь просто обертка для локов из, наверное, первой версии

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

Это лишь расширение для обычных future из 1.5

https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/Future.html

Которые в свою очередь просто обертка для локов из, наверное, первой версии

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

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

А ты многопоточку не писал на джаве, да? Так вот, информирую, что CF это просто обёртка, которую можешь написать и сам, используя локи, треды и тредпул. Всё это было и до, просто добавили в стандартную библиотеку.

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

Кстати, Callable<V> по определению используется для чего-то возвращающее результат, иначе можно просто Runnable. Ну и на CF ты так же можешь сделать блокирующий get() и ждать результата. CF скорее используется чтобы навешать thenCompose и thenApply и отпустить это всё исполняться самостоятельно в отдельном потоке на экзекьюторе.

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

Ммм это обертка которая позволяет в один future обернуть то что раньше ты бы оборачивал несколькими, которые бегали по очереди

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

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

Ну, это ты зря. Фиче так-то сто лет в обед, у Гоетца давно описаны. И довод достаточно простой: пока ты будешь ворочать вейты-нотифаи через мьютексы вручную - соберёшь 100500 гонок и взаимных блокировок. Чтобы не заморачиваться, Гоетц как один из разработчиков Java наделали высокоуровневых примитивов многопоточности, чтобы писать этот код было быстрее и безопаснее. Если вдруг какой-то странный затык в производительности выявил профайлер – можно вручную обвязать нитками, но в реальности надобности как раз в этом я не видел почти.

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

пока ты будешь ворочать вейты-нотифаи через мьютексы вручную

Ну вот что бы не бояться в вейты и стоит их освоить - по сути future это обертка которая автоматом дергает релиз перед выходом из runnable и ты получаешь переменную как результат (runnable превращается в callable) - это полностью аналогично делается через wait, однако (с) как только тебе потребуется результат одного прохода callable в двух разных потоках тебе придется синхронизировать уже их, и в случае с completable это уже может оказаться более сложным чем серия голых локов

Т.е. смысл от future в целом понятен но в реальности не то чтоб был сильно нужен, особенно учитывая что они реально простенько реализуются самостоятельно при нужде - все что нужно для многопотока в явушке есть со старта 👌

rukez ★★★★
()
Последнее исправление: rukez (всего исправлений: 1)