Какие инструменты использует Linux-программист для разработки программ? [закрыто]

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

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

Классическое использование:

with modified_environ(DEBUSSY="1"):
    call_my_function()

20
задан pupeno 10 November 2009 в 10:32
поделиться

23 ответа

Нет, это неправда. Люди просто используют то, что им больше всего нравится. Определение IDE также немного слабое. В Linux очень мощны многие текстовые редакторы, например Emacs. Возможно, вы уже могли бы назвать этот текстовый редактор IDE. Хотя, чтобы указать на разницу, Emacs (и другие текстовые редакторы) изначально были очень общими и могли писать с его помощью что угодно, а удобные инструменты / функции для разработки C / C ++ / чего угодно были добавлены позже. И их поддержка языков программирования в основном * охватывает только подсветку синтаксиса, не более того.

Такие приложения, как KDevelop или Eclipse, изначально разрабатывались как среда разработки, и большинство из них все еще имеют больше / улучшают функциональные возможности. Я называю эти IDE.

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

Кроме того, некоторые из них более раздуты, чем другие. Это одна из основных причин, по которой люди просто используют текстовый редактор, потому что он очень быстрый, очень стабильный и очень быстрый.

I ' Я перечислю некоторые IDE, которые, как мне кажется, являются лучшими с точки зрения функциональности, специфичной для этого языка (например, автозавершение кода и многие другие вещи).

Для C / C ++:

  1. KDevelop

    Насколько я знаю, нет IDE, которая лучше поддерживает C / C ++. Я не нашел другого инструмента, который обрабатывает C ++ таким образом, чтобы он действительно понимал STL, что важно, чтобы вы могли использовать автозаполнение для контейнеров STL и тому подобного. Он даже понимает макросы, поэтому автозаполнение работает даже в очень сложных случаях с множеством макротрюков. Я работаю над проектом C ++ с локальным размером ~ 250 тыс., И он понял весь код. (Чтобы использовать расширенную поддержку C / C ++, вы должны активировать ее в настройках проекта, она по умолчанию отключена. Кроме того, чтобы иметь полную поддержку STL, я подготовил заголовки STL и добавил их к поддержке C ++ в настройках проекта вручную. . Дон ' Не знаю, нужно ли это еще. Но я думаю, что это все еще не работает из коробки.)

    Кроме того, KDevelop очень шустрый и быстрый (разработан сам на C ++) по сравнению со многими другими IDE. Он загружается почти так же быстро, как и любой другой простой текстовый редактор, и кажется таким же быстрым. И это также не меняется для очень больших проектов. При этом я сам использую его только для редактирования / написания кода, а не для управления компиляцией проекта. У него есть поддержка automake, но я предпочитаю использовать CMake. Но KDevelop с этим отлично справляется: когда я нажимаю "компиляция" в KDevelop, он просто запускает make.

    Изначально KDevelop разрабатывался как инструмент разработки для приложений KDE, но он отлично работает для любого проекта C / C ++. На самом деле я никогда не делал с ним никаких проектов Qt / KDE. Кроме того, позже была добавлена ​​поддержка других языков, таких как Ада, но я этого не пробовал.

    Я не делаю ' Я не знаю других IDE, которые лучше поддерживают C ++. Прокомментируйте, пожалуйста, если я здесь ошибаюсь. Я больше не проверял многие другие IDE за последние год или два.

  2. Eclipse

    Вы, наверное, уже это знаете. Первоначально он был разработан на Java и для нее. Позже была добавлена ​​поддержка C / C ++.

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

    Поддержка C ++ хорошая, хотя и не идеальная; бывают случаи, когда автозаполнение не работает.

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

  3. Qt Creator

    Изначально для разработки Qt, но также подходит для любых других проектов C / C ++. Очень хорошая поддержка qmake.

    Поддержка C ++ хороша, только небольшие проблемы. Кроме того, IDE является быстрой и быстрой.

    В конце концов, я оказался слишком ограничен в этой среде IDE, а поддержка C ++ в KDevelop была все еще лучше, поэтому я продолжал использовать KDevelop для большинства проектов C ++. Но когда вы делаете проект Qt, Qt Creator великолепен, потому что он также поставляется с некоторыми хорошими конструкторами графического интерфейса для Qt и другими хорошими инструментами Qt.

  4. CLion

    (Коммерческая, но бесплатная версия.) Новичок от JetBrains. Очень многообещающе.

Для Java:

  1. Eclipse

    См. Мои комментарии выше.

    Для Java, я думаю, это самая распространенная IDE в Linux. Те же недостатки, что отмечены выше, применимы и здесь, но я не знаю лучшей IDE, поэтому я продолжаю использовать Eclipse при разработке на Java.

  2. NetBeans

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

    В прошлом я видел много огорчений по поводу NetBeans-vs-Eclipse. На самом деле не знаю о текущем состоянии.

Для C #:

  1. MonoDevelop

    Я сам не пробовал, только слышал, что это один из лучших инструментов для C #. Просто хотел отметить, что, поскольку вы упомянули Visual Studio и вас может заинтересовать C #.

Я хочу добавить несколько слов об использовании терминала:

Помимо такой IDE, очень часто используется используйте терминал параллельно с вашей IDE. Терминал и все его оболочки вместе со всеми инструментами Unix и другими инструментами очень мощные, и вы можете выполнять многие задачи очень простым способом. Как только вы получите хорошее представление обо всех инструментах Unix и о том, как их использовать, они могут сэкономить вам много работы.

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

Например, когда вы выполняете некоторую работу сервер-клиент и запускаете, возможно, 10 серверов и 100 клиентов на разных машинах, пусть все что-то делают; затем выполните команду grep для вывода некоторых регулярных выражений, соберите все это и выполните несколько тестов производительности в течение 10 секунд и повторите этот процесс несколько раз - все это тривиально, если вы управляете терминалом.

Вы обнаружите, что в конечном итоге у вас всего несколько написаны сценарии, которые сделают все это за вас. Написание таких сценариев в большинстве случаев несложно.

Возможно, это немного не по теме, но я просто хотел отметить это, потому что это распространенный и эффективный способ работы. Когда вы как разработчик перешли с Windows на Linux, вы должны взглянуть на все те дополнительные возможности, которые у вас есть сейчас. Это основная причина для меня (и многих других), почему я предпочитаю разработку на Linux / Unix, чем на любой другой системе.


(*) Еще раз несколько слов к Emacs: Emacs может быть расширен моими многочисленными инструментами и плагинами, которые делают его очень богатая система с той же функциональностью, что и IDE. Например, есть CEDET , который поставляется с реальной языковой поддержкой, то есть у вас также есть такие функции, как интеллектуальное завершение слов / IntelliSense , а также система управления проектами. Сам я не пробовал, но сделаю это в ближайшие недели.

Когда вы как разработчик перешли с Windows на Linux, вы должны взглянуть на все те дополнительные возможности, которые у вас есть сейчас. Это основная причина для меня (и многих других), почему я предпочитаю разработку на Linux / Unix, чем на любой другой системе.


(*) Еще раз несколько слов в адрес Emacs: Emacs может быть расширен моими многочисленными инструментами и плагинами, которые делают его очень богатая система с той же функциональностью, что и IDE. Например, существует CEDET , который поставляется с реальной языковой поддержкой, т.е. у вас также есть такие функции, как интеллектуальное завершение слов / IntelliSense , а также система управления проектами. Сам я не пробовал, но сделаю это в ближайшие недели.

Когда вы как разработчик перешли с Windows на Linux, вы должны взглянуть на все те дополнительные возможности, которые у вас есть сейчас. Это основная причина для меня (и многих других), почему я предпочитаю разработку на Linux / Unix, чем на любой другой системе.


(*) Еще раз несколько слов в адрес Emacs: Emacs может быть расширен моими многочисленными инструментами и плагинами, которые делают его очень богатая система с той же функциональностью, что и IDE. Например, существует CEDET , который поставляется с реальной языковой поддержкой, т.е. у вас также есть такие функции, как интеллектуальное завершение слов / IntelliSense , а также система управления проектами. Сам я не пробовал, но сделаю это в ближайшие недели.

Это основная причина для меня (и многих других), почему я предпочитаю разработку на Linux / Unix, чем на любой другой системе.


(*) Еще раз несколько слов к Emacs: Emacs может быть расширен моими многочисленными инструментами и плагинами, которые делают его очень богатая система с той же функциональностью, что и IDE. Например, есть CEDET , который поставляется с реальной языковой поддержкой, то есть у вас также есть такие функции, как интеллектуальное завершение слов / IntelliSense , а также система управления проектами. Сам я не пробовал, но сделаю это в ближайшие недели.

Это основная причина для меня (и многих других), почему я предпочитаю разработку на Linux / Unix, чем на любой другой системе.


(*) Еще раз несколько слов к Emacs: Emacs может быть расширен моими многочисленными инструментами и плагинами, которые делают его очень богатая система с той же функциональностью, что и IDE. Например, существует CEDET , который поставляется с реальной языковой поддержкой, т.е. у вас также есть такие функции, как интеллектуальное завершение слов / IntelliSense , а также система управления проектами. Сам я не пробовал, но сделаю это в ближайшие недели.

у вас также есть такие функции, как интеллектуальное завершение слов / IntelliSense , а также система управления проектами. Сам я не пробовал, но сделаю это в ближайшие недели.

у вас также есть такие функции, как интеллектуальное завершение слов / IntelliSense , а также система управления проектами. Сам я не пробовал, но сделаю это в ближайшие недели.

36
ответ дан 29 November 2019 в 22:25
поделиться

Если вы перейдете на Linux, вы должны быть готовы использовать больше консолей и меньше IDE.

Но я думаю, что у вас много IDE в предыдущих сообщениях

0
ответ дан 29 November 2019 в 22:25
поделиться

Quanta как редактор кода

0
ответ дан 29 November 2019 в 22:25
поделиться

Есть много IDE, которые работают на Linux, я разрабатываю с использованием Eclipse для Java и Python, иногда я использую более простой текстовый редактор без проверки кода и помощников. Netbeans - еще одна хорошая IDE.

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

0
ответ дан 29 November 2019 в 22:25
поделиться

Я использую emacs, vim и netbeans. Еще я использую Notepad ++. При работе в Windows я использую netbeans и notepad ++. Так что Linux означает для меня больше свободы, но с теми же базовыми инструментами.

0
ответ дан 29 November 2019 в 22:25
поделиться

Some do, but IDEs can be limiting compared to binutils, gdb, and an editor. Most use an editor like Emacs or Vim which can function as an IDE (build, jump to errors, debug, etc) using the underlying tools.

0
ответ дан 29 November 2019 в 22:25
поделиться

KDevelop , VIM (это не графический интерфейс, но мощный)

0
ответ дан 29 November 2019 в 22:25
поделиться

It is all down to personal preference really, I tend just to use a text editor for python, perl etc..

But you can use an IDE. Eclipse comes to mind.

There is also Monodevelop for .Net projects on Linux.

0
ответ дан 29 November 2019 в 22:25
поделиться

Я использую в основном gedit с множеством плагинов ... Но при программировании на Java я использую Eclipse. При программировании на C я использую Code :: Blocks. Но иногда я использую Geany. Но опять же, это именно то, что предпочитает человек.

1
ответ дан 29 November 2019 в 22:25
поделиться

Most known IDEs like Visual Studio for linux are Eclipse and NetBeans.

1
ответ дан 29 November 2019 в 22:25
поделиться

Есть программисты Linux которые используют IDE, а некоторые нет. Многие люди используют такие редакторы, как Emacs или Vim, а другие используют IDE, такие как Eclipse, NetBeans, Anjuta, KDevelop и т. Д.

1
ответ дан 29 November 2019 в 22:25
поделиться

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

Я, вероятно, также должен упомянуть, что я много использую python / django кодирование, и я делаю много этого вне офиса, например, не на машине, на которой живет мой код, по ssh. Не знаю, насколько хороша эта идея, но это то, к чему я привык, и, поскольку я в основном живу в Терминале, определенно предпочитаю vim.

2
ответ дан 29 November 2019 в 22:25
поделиться

Я использую gVim практически для всего, кодирования Perl, JavaScript, Java, HTML, CSS, XML и т. д. и загрузки кода, выполнения необходимых мне действий непосредственно из Vim, например, тестирования HTML в браузере.

Современный gVim немного больше GUi, чем vim.

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

Он очень гибкий, поэтому, если gVim не делает то, что вы хотите, вы можете улучшить его внешне ( напишите небольшую программу) или внутренне (напишите или используйте множество плагинов)

emacs предлагает аналогичный опыт.

  • не используйте vim, используйте gVim! vim предназначен для работы с консолью. - когда вам это понадобится, вы будете рады, что знаете gVim

Я регулярно пробовал другие IDE с графическим интерфейсом пользователя и до сих пор всегда возвращался к gVim.

gVim - это платформа X, поэтому вы можете повторно использовать свои навыки на Win32 и Mac платформы и очень старые твердые блоки Unix, в которых есть только vi.

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

Эта ссылка может помочь ...

Если вы не знакомы, я предлагаю использовать vimtutor для начала.

  • попробуйте vimtutor из командной строки
  • посмотрите справку -: h vimtutor
2
ответ дан 29 November 2019 в 22:25
поделиться

Я использую KATE, который поставляется с KDE. У него хорошая подсветка синтаксиса, отсутствие ненужных удобств, хорошая галерея фрагментов и отличное окно командной строки. Сессиями / проектами легко управлять и открывать.

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

Я один из тех бородатых парней (ну, я был, пока не побрился), которые были 5+ лет, чтобы присоединиться к остальному миру, даже ИСПОЛЬЗУЯ среду рабочего стола, не говоря уже о IDE. Я не буду называть KATE IDE, для этого и нужен KDevelop. КЕЙТ просто отличный редактор.

2
ответ дан 29 November 2019 в 22:25
поделиться

I use the GNU Compiler Collection (GCC), VIM, and Perl. The make utility is also something you'll become intimately involved with.

VIM has many plugins to help you with editing and language-specific features. GCC works for many different languages.

2
ответ дан 29 November 2019 в 22:25
поделиться

Я использую TextPad на WINE , но тогда я просто странный.

4
ответ дан 29 November 2019 в 22:25
поделиться

Обычно мы пишем машинный код напрямую.

Шутка.

Многие разработчики Linux используют одну из множества прекрасных IDE, доступных для платформы, например Anjuta, Eclipse, NetBeans, и т.д. Однако в Linux вы также более вероятно , чем в Windows, встретите разработчиков, которые программируют с использованием текстовых редакторов, таких как vi или emacs. Возможно, вы слышали об этом.

6
ответ дан 29 November 2019 в 22:25
поделиться

Существует большое количество IDE, работающих в Linux (и других системах Unix) ...

Вероятно, то, что вы слышали, связано с тем фактом, что вся система Unix представляет собой своего рода среды разработки. «Маленькие» программы, такие как id-utils , vi , vim и emacs , а также инструменты CLI, превращают всю систему в своего рода гибридная система разработки. Эта философия сильно отличается от стиля IDE, так что не ждите, что поймете ее сразу.

Я потратил несколько лет на разработку Java на Eclipse под Windows, что мне понравилось. Но до и после этого я использовал для разработки Unix, NetBSD и Linux. Я совершенно счастлив разрабатывать C, C ++, PHP или Ruby только с vi (1) и другими инструментами CLI. Я' Я никогда не пробовал серьезно заниматься разработкой Java под Unix. Это может вернуть меня к IDE, частично из-за необходимого количества шаблонов, а частично из-за того, что Java имеет довольно сложную поддержку IDE. Но чтобы получить маргинальную добавленную стоимость IDE для! Java просто не стоит усилий и не стоит отказываться от мгновенного включения vi (1) и Terminal и всех других элементов Unix, которые исчезают при запуске IDE.

Оказавшись внутри IDE, внешняя ОС больше не имеет значения. Я думаю, гм, поэтому мне понравилось использовать IDE в Win, а не в Unix. Unix гибок и увлекателен, и его не нужно заменять как среду.

Но чтобы получить маргинальную добавленную стоимость IDE для! Java просто не стоит усилий и не стоит отказываться от мгновенного включения vi (1) и Terminal и всех других элементов Unix, которые исчезают при запуске IDE.

Оказавшись внутри IDE, внешняя ОС больше не имеет значения. Я думаю, кхм, поэтому мне понравилось использовать IDE в Win, а не в Unix. Unix гибок и увлекателен, и его не нужно заменять как среду.

Но чтобы получить маргинальную добавленную стоимость IDE для! Java просто не стоит усилий и не стоит отказываться от мгновенного включения vi (1) и Terminal и всех других элементов Unix, которые исчезают при запуске IDE.

Оказавшись внутри IDE, внешняя ОС больше не имеет значения. Я думаю, кхм, поэтому мне понравилось использовать IDE в Win, а не в Unix. Unix гибок и интересен, и его не нужно заменять как среду.

14
ответ дан 29 November 2019 в 22:25
поделиться

Даже если некоторые настоящие мужчины с бородой могут сказать, что Emacs (или vi)> Eclipse> Netbeans> all, многие пользователи используют IDE . На самом деле, правдивость предыдущего утверждения не имеет особого значения, просто используйте инструмент, с которым вы продуктивны, и, в идеале, подходящий для работы. Вот список быстрого выбора:

  • Emacs , vi (m) : многоязычный, я уверен, что они все еще используются для разработки C / C ++
  • gedit : многоязычный, продвинутый текстовый редактор, очень хорошо для Rails (можно использовать для имитации Textmate)
  • Geany : еще один текстовый редактор, основанный на наборе инструментов GTK2
  • Eclipse , Netbeans , Intellij IDEA Ориентированная на Java, но с хорошей поддержкой C / C ++ (и PHP, Groovy, Grails, Rails)
  • MonoDevelop : для разработки .NET (т.е. поддержка множества языков )
  • QT Creator : для ... QT development
  • Anjuta , KDevelop : IDE C / C ++ для Gnome и KDE (соответственно)
  • Code :: Blocks : кроссплатформенная IDE C ++

Как видите, GNU / Linux не означает кодирование в оболочке из 80 столбцов (потенциально открывается через ssh). В Linux тоже есть отличные инструменты. Честно говоря, я считаю, что Linux - намного лучшая платформа для разработки, чем Windows: у него много хороших IDE, которые, по крайней мере, эквивалентны (за исключением, может быть, .NET, я не уверен, что MonoDevelop может конкурировать с Visual Studio), у него есть гораздо больше инструментов командной строки, больше возможностей написания сценариев, это дает лучший контроль ... Другими словами, я чувствую себя намного более мощным с Linux, чем с Windows.

t означает кодирование в оболочке из 80 столбцов (потенциально открывается через ssh). В Linux тоже есть отличные инструменты. Честно говоря, я считаю, что Linux - намного лучшая платформа разработки, чем Windows: у нее много хороших IDE, которые, по крайней мере, эквивалентны (за исключением, может быть, .NET, я не уверен, что MonoDevelop может конкурировать с Visual Studio), у нее есть гораздо больше инструментов командной строки, больше возможностей написания сценариев, это дает лучший контроль ... Другими словами, я чувствую себя намного более мощным с Linux, чем с Windows.

t означает кодирование в оболочке из 80 столбцов (потенциально открывается через ssh). В Linux тоже есть отличные инструменты. Честно говоря, я считаю, что Linux - намного лучшая платформа разработки, чем Windows: у нее много хороших IDE, которые, по крайней мере, эквивалентны (за исключением, может быть, .NET, я не уверен, что MonoDevelop может конкурировать с Visual Studio), у нее есть гораздо больше инструментов командной строки, больше возможностей написания сценариев, это дает лучший контроль ... Другими словами, я чувствую себя намного более мощным с Linux, чем с Windows.

39
ответ дан 29 November 2019 в 22:25
поделиться

В большинстве сред рабочего стола есть средства разработки и инструменты IDE. Например, gnome имеет это: http://library.gnome.org/devel/tools Eclipse и NetBeans - сложное программное обеспечение, которое требует времени для изучения и настройки.

0
ответ дан 29 November 2019 в 22:25
поделиться

Открытый исходный код Smalltalks (Squeak, Pharo) - это кроссплатформенная и работает нормально на Linux. Они находятся на изображении и имеют тонкую IDE.

0
ответ дан 29 November 2019 в 22:25
поделиться

Разработчик Linux использует Microsoft Visual Studio для разработки портативного кода в Windows. Затем он компилирует этот код в Linux с GCC и исправляет любые ошибки любым любым инструментом Linux, работающим (kdevelop, etc).

0
ответ дан 29 November 2019 в 22:25
поделиться

Сказать «Что используют программисты Linux», немного назад.

Некоторые используют массивные IDE с огромными функциями, другими, как мой экран GNU, VIM и стек снарядов, чтобы сделать их редактирование.

Я развиваю в Python, и Vim + Python - это все, что мне нужно.

0
ответ дан 29 November 2019 в 22:25
поделиться