LINUX.ORG.RU

Линуксовых IDE тред

 , редактор. специалистам по всему


0

4

Привет, ЛОР!

А скажи мне, куда подевались всякие KDevelop, GNOME Builder, Anjuta и иже с ними? Я помню, когда я был гораздо более юн и наивен чем сейчас, они были достаточно популярны. Но ныне же про них вообще ничего не слышно.

Ради интереса, сейчас поискал как там дела обстоят с KDevelop, и выяснилось, что там до сих пор даже LSP прикрутить не могут. В GNOME Builder вроде он хотя бы есть, но в остальном тоже не фонтан.

Скажи, ЛОР, время IDE совсем кончилось? Из активно развиваемых для линупса только IntelliJ сотоварищи. И даже JetBrains в итоге решили запилить свой, правда, ни с чем не совместимый редактор. Большинство программистов же и так юзают редакторы с плагинами, в основном VSCode.

Я, конечно, рад, что в итоге к этому пришло, потому что IDE весьма жирны и убоги. Неужели всё это было зря и все эти тысячи человекочасов были напрасны?

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

костыль для программиста, который фундаментально не понимает, как исполняется его код.

А если это не его код?

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

Особенно прикольно подключиться к уже запущенному на серваке приложению и покопаться у него в кишках.

Дааа… я когда на энралге писал, часто такое использовал. Жаль в хачкеллах этого нет, потому как нету VM.

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

Или ты начинаешь проецировать? Забавно. :) Особенно в свете того что «личный пример» (особенно твоя «литота» про «раз в год») — вообще не аргумент, а спектр когнитивных искажений от «ошибки выжившего» начиная.

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

А если это не его код?

Ну это как раз использование по назначению — исследовать чужой код в новом незнакомом проекте. Как часто ты исследуешь новые проекты? Я редко.

Помню, работал в одной компании, там море С++ программистов было, и у меня душевная травма с тех пор — они все постоянно сидели разглядывали стектрейсы. Они пишут какой-то код, тут же запускают его под отладчиком и тыкают в менюшки, раскрывают стек, переменные, контейнеры, и выполняют свой код построчно.

Может это процесс разработки был так устроен, что программистов как тренированных обезьянок заставляли писать отдельные функции «по ТЗ», и они никогда не понимали, что вокруг них происходит…

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

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

А IDE тут причём? Какой-нибудь Лайнос Торовалтос, известный шведский быдлокодир, вообще в микроемаксе без подсветки синтаксиса свою недоос напрограммировал. Если он смог, неужели ты не можешь?

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

Или ты начинаешь проецировать?

Ой, а ты уже психологический портрет начал составлять!

Если ты чуть отмотаешь, то я просто задал вопрос, на который ты начал отвечать вопросами со смайликами :)))

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

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

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

Как часто ты исследуешь новые проекты?

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

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

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

Считай, что получил индульгенцию.

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

Как часто ты исследуешь новые проекты? Я редко

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

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

А IDE тут причём?

а IDE тут притом, что это для ЯП это такая же стадия роста, как школьный аттестат для индивидуума. сначала ЯП, потом компилятор ЯП на самом ЯП и прочий инструментарий, потом IDE для ЯП на самом ЯП.

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

другое дело, что при наличии всех средств разработчик предпочитает ed в качестве редактора и printf в качестве отладчика - аскетические упражнения могут вывести на новый уровень познания дзен.

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

а IDE тут притом, что это для ЯП это такая же стадия роста, как школьный аттестат для индивидуума. сначала ЯП, потом компилятор ЯП на самом ЯП и прочий инструментарий, потом IDE для ЯП на самом ЯП.

Значит ли это, что для C всё таки нет IDE? Потому что ни одна из них не может линуксовое ядро переварить нормально и превращается в просто тормозной редактор кода.

Без шуток. Попробуй как-нибудь в Clion код ведра открыть. У нас он выжрал 128 гигов и сдох. И то только потому что больше не было, так бы ещё выжрал.

P.S. на самом ЯП, то есть C, для C есть разве что GNOME Builder из актуального. Остальное либо на плюсах, либо прости хосподя, на жабе какой-то.

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

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

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

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

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

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

собсна линукс это и есть сишный IDE.

А линукс об этом знает? Или у тебя какое-то своё совершенно особенное определение IDE? Потому что точно так же линукс является IDE для вообще любого языка, если следовать твоей логике.

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

т.к. тестирование должно быть не для галочки :)

А для чего? Пихают как не в себя, а умеют в него пол калеки. Это раз. Про второе даже говорить не хочется.

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

Потому что точно так же линукс является IDE для вообще любого языка, если следовать твоей логике.

Где-то так, да.

Вообще вопрос куда подевались всякие KDevelop... остаётся открытым на сегодняшний день. Потому, что парное программирование, потому, что webedit, headless fu..king editor, CI и вот это вот фсё.

Ну и да, REPL - это отладчик.

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

линукс является IDE для вообще любого языка

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

а теперь попробуем вычесть си. вычли? ну и, собсна, на этом всё.

то есть вся экосистема линукса сосредоточена вокруг одного единственного языка, остальное - это артефакты его существования.

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

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

а теперь попробуем вычесть си. вычли? ну и, собсна, на этом всё.

А теперь давай уберём весь код на C++ и… ВНЕЗАПНО тебе больше твой C нечем компилировать, потому что оба линуксовых линуксовых компилятора C написаны на C++. И это помимо кучи другого тулинга на плюсцах, пистонах и прочих пердлах.

Короче, продолжай держать нас в курсе своих философских рассуждений и переименования терминов.

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

опщем-то да, но нет )

не так давно ядро можно было скомпилировать при помощи tcc, к примеру. и даже загрузить прямо из исходников )

https://bellard.org/tcc/tccboot.html - огонь, да?

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

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

ну то есть ОС без крестов - не апокалипсис, нет.

Как и ОС без C, которых довольно много. Но к IDE это всё не имеет вообще никакого отношения.

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

Вообще вопрос куда подевались всякие KDevelop… остаётся открытым на сегодняшний день.

Вопрос, на самом деле, немного глубже: а был ли в них вообще смысл как таковой?

Я пару раз в год ставлю себе всякие IDE в духе IntelliJ и пытаюсь использовать их для своих проектов и… они абсолютно бесполезны. То есть, ничем не лучше и часть даже хуже, чем emacs или vscode с плагинами. Особенно выбешивает эта идея «Один язык — одна IDE”.

Например, есть тут проект, в котором одновременно C, Haskell и Python. И что, какую IDE там использовать? Или сразу три разных? Как это вообще должно работать? Я до сих пор понять не могу.

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

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

что с чем и как должно быть интегрировано, чтобы это считалось IDE?

вопрос дискуссионный. возможно сама постановка вопроса неверна.

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

а shell - это IDE или нет? апачиму?

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

VSCode - это IDE?

Нет, это редактор кода.

а shell - это IDE или нет?

Нет, это командный интерпретатор.

что с чем и как должно быть интегрировано, чтобы это считалось IDE?

Посмотри в Википедии.

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

Нет, это редактор кода.

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

если ты вдруг все еще не согласен, то я еще разок вопрос задам - что еще нужно вкрячить в VSCode , чтобы он превратился в кошерную IDE? чего не хватает?

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

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

Нет. Если ты поставишь только голый vscode без плагинов, он будет примерно как Vim по функционалу. Разве что с гуем, со встроенным терминалом и с каталогом плагинов. Всё остальное, включая поддержку языков программирования и так далее, в нём реализовано плагинами.

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

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

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

я тебе даже больше скажу - и редактор в плагин можно вынести. и тогда это будет что за неведома мандула?

Это будет KDevelop. Там вместо редактора Kate, который средствами KDE встраивается куда угодно и который можно в теории заменить на что угодно ещё, если такой же API сделать. Я ещё видел попытки использовать vim не как сам редактор, а как такой плагин для редактирования/библиотеку для манипуляции текстом. Neovim это позволяет. Вот, держи интеграцию Neovim в VSCode.

Вот тебе и ответ что за мандула. Правда, так кроме случаев выше никто не делает.

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

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

очевидно нет.

если что-то выглядит как утка, крякает как утка и плавает как утка - то это и есть утка.

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

В инструкции будет написано, что это IDE. У IntelliJ это написано. У VSCode – нет.

Я не понимаю, почему так сложно осознать эту простую вещь. Ты уже второй чувак в этом треде.

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

На самом деле, я тут поясню это тупое разделение:

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

В редакторах кода этого всего нет, а плагины все сделаны сторонними разработчиками.

Сразу отвечу на твой вопрос, который ты хотел задать, но не смог сформулировать: можно ли обмазать редактор кода плагинами и сделать из него IDE? Да, можно. Но это уже будет производный продукт, чаще всего сделанный и настроенный под себя, которым другие разработчики пользоваться не смогут. Примерно как init.el уникален для каждого юзера имагза. Чтобы кто-то на базе редактора кода, обильно обмазав его плагинами, делал что-то похожее на IDE для других, я честно не встречал. Самое бликое тут – дистрибутивы для emacs типа Spacemacs или Doom Emacs, но это не совсем то, и даже с ними нужна отдельная настройка кучи всего и подборка сторонних компонентов. Они просто упрощают конфигурацию, но не более.

Второе отличие: IDE чаще всего заточены под один язык программирования или одну экосистему, как в случае с C/C++ или Java/Scala/прочие Groovy. Редакторы чаще всего универсальны, потому что плагины пилятся всеми подряд и смотри выше.

Третье отличие: IDE чаще всего являются коммерческими продуктами или копируют модель разработки коммерческого продукта (GNOME хахахаха). Редакторы кода, за исключением какого-нибудь Sublime, пилятся либо сообществом, либо для создания/захвата сообщества (VSCode).

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

Вопрос, на самом деле, немного глубже: а был ли в них вообще смысл как таковой?

Был, конечно. Ты бы вообще в историю копнул. А то такое ощущение, что отрыв происходит от контекста. Заодно узнаешь, откуда появилось выражение system requirement. Или не узнаешь

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

Был, конечно.

В контексте Linux, я имею ввиду. Понятно, что в однозадачном DOS нужен один монстр, а в Windows с её проблемами тоже часто иначе никак.

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

Вообще полезно смотреть всякий опенсорс периодически (даже безотносительно пиления нужных тебе фич и фикса багов), бывает, что наткнёшься на хороший код и чему-нибудь да научишься.

Раз ты такое советуешь, можно топ-5 вещей, которым ты научился из опенсорса?

filosofia
()

Тред не читал, только бегло смотрел, ничего конкретного по теме не увидел. Итак - чем тебя не устроил KDevelop?

Поддержка C, C++ там реализована лучше чем где. Python и PHP поддерживаются очень хорошо. Управление проектом - максимально адекватное. Подсветка и навигация по коду - лучше чем где.

Зачем там какой-то LSP ну вообще не понятно.

Возможно, только продукты JB сопоставимы. Они тоже есть под Linux, очевидно. Почему тогда мнение, что все кончилось? Все есть.

Если нужна всякая вебня то есть VS Code и его свободные сборки.

Ну и плюс специализированные IDE, типа андроид студии.

Итого, с IDE в линуксе более чем нормально.

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

который ты хотел

давненько меня телепаты не телепали )

ты хотел сказать, но не смог сформулировать (с), что разработчики IDE помимо плагинов дают тебе и другим некий преднастроенный дефолт, которым все из коробки пользуются и которого достаточно для нужд 99% .

итого вопрос решают:

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

да ты, батенька, нам тут деспотию по тихому пиаришь, на свободы покусился, щас тебя либералы сожрут )

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

да ты, батенька, нам тут деспотию по тихому пиаришь

Не, у меня emacs.

разработчики IDE помимо плагинов дают тебе и другим некий преднастроенный дефолт, которым все из коробки пользуются и которого достаточно для нужд 99%

Плагины не обязательны. Важен функционал из коробки. Более того, вместе с IDE в комплекте сразу идёт компилятор. Редакторы такого не делают.

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

Лично ты можешь сразу в прод писать, мне то что :)

Мы прям на сервере, прямо по живому.

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

Нету поддержки этого… как его… хруста, вот!

Так сразу и пиши, что нет поддержки ненужно )))

А то - в линуксе все плохо, все пропало.

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

можно топ-5 вещей, которым ты научился из опенсорса?

Никогда не сдаваться, верить в себя, не бояться трудностей, любить свою семью, близких ☝️

Я имел в виду то, что в хорошем опенсурс-коде можно подсмотреть какие-нибудь интересные/неоднозначные подходы и приёмы (в том числе и по организации кода), часто не являющиеся в строгом смысле идиоматическими с точки зрения данного ЯП, но которые могут при этом оказаться полезными (иногда даже при использовании в других ЯП!). При этом такие вещи редко найдешь в доках/обучающей литературе ЯП, вряд ли увидишь в коде своих коллег, и не факт, что сам до такого додумаешься.

Конкретные примеры из моего опыта, которые я навскидку могу вспомнить: модули можно на самом деле наследовать и создавать в рантайме, чтобы получать динамические миксины; для ETS-таблицы можно создавать владельца в виде генсервера (и наследника, которому можно будет передать владение таблицей в случае краша оригинального владельца).

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

Python поддерживается очень хорошо. Управление проектом - максимально адекватное. Подсветка и навигация по коду - лучше чем где.

Не знал, ща заценю по отношению к пичарму как только оно соберётся

upcFrost ★★★★★
()

IDE эффективны больше всего там, где решаются типовые задачи для конкретной системы или платформы. Например, десктопный софт с GUI для Windows. Чем больше ограничен набор используемых инструментов, и чем больше у разработчика IDE контроля над этими инструментами (в идеале делает одна и та же контора), тем лучше эти инструменты можно друг с другом интегрировать.

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

IDE никуда не исчезли - та же Android Studio.

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

Ну да. В линуксовых IDE нет поддержки одного из самых популярных языков нынче, который вон даже в само линуксовое ядро впиливают. Только полупроприетарная поделка от одной чешской быдлоконторки, разве что. Ну и emacs/vim/vscode.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.