Используете ли вы VIM / Emacs / Terminals для разработки C / C ++? Для каких проектов это практично? - PullRequest
8 голосов
/ 15 ноября 2009

Для тех, кто использует vim / emacs / Terminal и т. Д. (Т. Е. Не IDE), над какими проектами вы работаете? Они большие? Производство? Эти инструменты вы используете на работе? Или в основном для мелких вещей ... или больших вещей, разбитых на маленькие? Извините ... достаточно вопросов.

Я спрашиваю, потому что я сейчас изучаю информатику, и я очень взволнован этим. Недавно у меня была стажировка по программированию J2ME для правительственного агентства, и это были Netbeans и затмение все время. Так что у меня было всего несколько лет "младшей лиги" в бизнесе.

Короче говоря, что практично для инструментов типа CL, по сравнению с IDE, такими как 'beans и VS. Мне нужно многому научиться, и инструменты CL, вероятно, научат меня, а не защитят меня, как мог бы на IDE.

Ответы [ 16 ]

3 голосов
/ 15 ноября 2009

Я использую Emacs для разработки коммерческого программного обеспечения с размером нескольких миллионов LoC, массового использования шаблонов и т. Д. Я использую CEDET + gnu global как вспомогательные пакеты + yasnippet и т. Д.

3 голосов
/ 15 ноября 2009

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

Это облегчает понимание концепций. И это облегчает переход с платформы на платформу.

Итак, изучите vi, make, gdb, некоторую систему контроля версий (git, svn).

Но для производства я бы сказал, что знакомство со "стандартной IDE" среды является обязательным (Visual Studio для Windows, XCode для Mac OS, Eclipse для Java и т. Д.)

Независимо от того, что говорят другие, освоение IDE повысит вашу производительность. Если вы использовали vi / emacs в течение 10 лет и пробовали Eclipse или Visual Studio в течение нескольких дней, вы скажете, что они раздуты и ничего не предлагают взамен. Это БС. Чем больше ты открыт, тем лучше будешь.

1 голос
/ 16 ноября 2009

ну ... я должен сказать, что я виммер. Используя IDE, мне наплевать на многие вещи, например, когда вы используете редактор, такой как vim / emacs. Но когда вы сделаете немного больше, вы обнаружите, что IDE, которую вы используете, больше мешает, чем помогает в процессе разработки вашей программы. увы ... если вы настаиваете на использовании vim / emacs в качестве редактора, вы столкнетесь с «кривой глубокого обучения», вы потратите столько времени, даже чтобы достичь столь тривиальной функции в вашем редакторе, вы будете в отчаянии, когда будете если вы будете просто следить за своим расписанием, если вы просто заберете его ... вам нужно успокоиться и начать опираться, а также поиграть с редакторами, и через пару дней вы обнаружите, что уже добились большего, чем когда-либо могли ожидать! * +1001 *

0 голосов
/ 20 ноября 2009

Мы могли бы подвести итог, сказав, что редакторы, такие как emacs / vi, реализуют некоторые функциональные возможности IDE с помощью инструментов CL (или библиотек, лежащих за инструментами CL).

Ваша основная проблема в использовании редакторакак IDE будет:

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

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

Преимущества в том, что инструменты CL иногда более распространены, чем IDE.Кроме того, освоение CL открывает дверь для создания сценариев вашей сборки («сделать сборку одной командой», а не «сделать сборку одним щелчком мыши»), что открывает двери для автоматических ночных сборок, непрерывной интеграции и т. Д ... всекоторые сложнее настроить, если ваше понимание сборки останавливается при нажатии F6 или чего-то еще.

0 голосов
/ 15 ноября 2009

Emacs - отличный инструмент (как и Vim) для программирования, и я использую их для разработки своего кода для физических исследований. Как дополнительная выгода (для меня) Emacs прекрасно обрабатывает удаленные файлы через Tramp, так что для меня это большой бум, поскольку мне очень часто приходится посещать удаленные серверы.

С учетом вышесказанного, каждый раз, когда мне нужно написать приложение с графическим интерфейсом и в рамках большого фреймворка (например, c # с .NET или фреймворка Android), мне всегда трудно разрабатывать только с помощью emacs. В средах разработки (Visual Studio, Eclipse) просто есть все, включая автозаполнение и поиск с соответствующим содержимым из инфраструктуры, и отладку, даже несмотря на то, что часть написания кода всегда неудовлетворительна (я всегда заканчиваю тем, что устанавливаю какой-то плагин emacs для IDE, который всегда не хватает Emacs собственно!).

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

0 голосов
/ 15 ноября 2009

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

Практически единственный раз, когда я увидел реальную выгоду от использования IDE, это когда я работал над приложениями с графическим интерфейсом на платформе, где они значительно упрощают создание форм и подключение их элементов управления. Но я не делал такую ​​работу более десяти лет - последняя, ​​которую я делал, была в Депли, когда Борланд еще владел ею; Я думаю, что версия 4 только вышла, хотя это могло быть 3.

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