Подтвердить что ты не робот

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

Я перешел из Windows и слышал, что программисты Linux не используют IDE для разработки программ, например Visual Studio. Это правда? Могут ли программисты Linux использовать среду IDE для планирования развития?

Спасибо.

4b9b3361

Ответ 1

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

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

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

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

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

Для C/С++:

  • KDevelop

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

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

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

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

  • Eclipse,

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

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

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

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

  • Qt Creator

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

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

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

  • CLion

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

Для Java:

  • Eclipse,

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

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

  • NetBeans

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

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

Для С#:

  • MonoDevelop

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

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

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

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

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

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

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


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

Ответ 2

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

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

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

Ответ 3

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

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

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

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

Ответ 4

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

Joke.

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

Ответ 5

JetBrains Продукты самые лучшие. JetBrains

Продукт JetBrains

Ответ 6

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

Ответ 7

Я использую сборник компиляторов GNU (GCC), VIM и Perl. Утилита make также является тем, с чем вы будете тесно связаны.

В VIM есть много плагинов, которые помогут вам в редактировании и настройках языка. GCC работает на разных языках.

Ответ 8

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

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

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

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

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

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

Я регулярно пробовал другие GUI IDE и до сих пор всегда возвращаюсь к gVim.

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

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

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

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

  • попробуйте vimtutor из командной строки
  • посмотрите на помощь -: h vimtutor

Ответ 9

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

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

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

Ответ 10

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

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

Ответ 11

Наиболее известные IDE, такие как Visual Studio для linux, Eclipse и NetBeans.

Ответ 12

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

Ответ 13

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

Ответ 14

На самом деле все зависит от личных предпочтений, я просто использую текстовый редактор для python, perl и т.д.

Но вы можете использовать IDE. Eclipse приходит на ум.

Существует также Monodevelop для проектов .Net в Linux.

Ответ 15

KDevelop, VIM (это не GUI, но мощный)

Ответ 16

Некоторые из них, но IDE могут быть ограничены по сравнению с binutils, gdb и редактором. Большинство используют такой редактор, как Emacs или Vim, который может работать как IDE (сборка, переход к ошибкам, отладка и т.д.) С использованием основных инструментов.

Ответ 17

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

Ответ 18

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

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

Ответ 19

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

Ответ 20

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

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

Ответ 21

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

Ответ 22

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

Ответ 23

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

Ответ 24

Говорить, что используют программисты Linux, немного отстает.

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

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

Ответ 25

Бесшовные со всеми функциями, я не нашел для этого никакой конкуренции: Sublime Text 2

Ответ 26

Ubuntu имеет отличный пакет дополнений, называемый "быстро", который в значительной степени создает ваш проект для вас и дает вам хорошую отправную точку, а также простые в использовании инструменты, такие как графический/оконный ресурс графического интерфейса и редактор исходного кода. В качестве визуальной студии для ветеринаров я искал что-то в Linux, которое так же просто в использовании, eclipse слишком раздуто, а кодовые блоки не устанавливают все, что вам нужно (дополнительные библиотеки и т.д.), Но быстро убеждаются, что у вас есть ВСЕ (все gtk devel libs и больше устанавливаются прямо вместе с ним, если у вас их уже нет). Впервые программисты Linux я настоятельно рекомендую использовать его, даже если вы не знакомы с python (я не был, я был С++/С#), это не сложно узнать... во многих случаях проще. Ознакомьтесь с этим: "Как быстро создать веб-браузер менее чем за 5 минут": http://developer.ubuntu.com/get-started/http://developer.ubuntu.com/get-started/

PS: Я прочитал другие ответы, и я должен сказать, так как многие программисты спорят о нехватке хорошей IDE для Linux, почему никто из вас не делает один? Очевидно, что это огромная потребность, и для Linux слишком много кросс-платформенных IDE, я думаю, вы знаете, что я получаю правильно? (подсказка подсказки.. С++:)) Это тоже должно быть слишком сложно, просто упростите процесс создания проектов с несколькими скелетами, у которых есть живые *** t, прокомментированные из них, и хороший редактор (или встроенный существующий?)... там я это сказал.