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

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

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

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

Ответы [ 16 ]

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

Над какими проектами вы работаете?

Всех добрых ... vim мой главный "IDE" где угодно

Они большие?

Да ... Мой проект FOSS CppCMS написано почти на 100% в vim

Производство?

Да, большая часть производственного кода (не FOSS), который я пишу сегодня, использует vim.

Эти инструменты вы используете на работе?

Да.

Я бы объяснил несколько простых вещей:

  1. vim предоставляет почти все инструменты IDE: выделение, проверку орфографии, автозавершение, работу с несколькими буферами, сборку, контекстные "переходы" (decl, def) и многое другое
  2. Это очень портативный, я работаю с ним на Windows, Linux, OpenVMS, Solaris, FreeBSD.
  3. Это очень легкий по сравнению с раздутой IDE.

Есть только одна вещь, которую я сегодня использую в IDE: отладка серьезных ошибок.

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

Emacs / Vim может использоваться для проектов любого размера .

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

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

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

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

Я использую Emacs. Я бы порекомендовал Emacs. Я использовал emacs еще до того, как это был emacs: TECO, TV и макропакет e в Decsystem-20. Я могу использовать vim, если мне нужно, но то, что вы изучаете, в основном то, что под рукой, и вы попадаете в него. Да, выучить один или оба. И я бы сказал, если IDE подходит, носите его тоже.

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

Двадцать лет назад все мое программирование выполнялось в текстовых редакторах, в основном в emacs, но с годами технология совершенствовалась.

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

Это также проблема с некоторыми встроенными системами, где вы можете обновить код в интерактивном режиме через интерфейс командной строки на основе RS232 или USB.

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

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

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

Я не использовал его для каких-либо масштабных проектов (потому что я не писал никаких масштабных проектов), но если бы я собирался, я бы все равно использовал vim.

При изучении нового языка, я считаю, что лучше вообще не использовать IDE, а изучать «правильный» способ сделать это (например, для c ++, изучить переключатели командной строки и использовать make-файлы).

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

Хмм ... Ну, посмотри на это так:

Я открываю код в Emacs. Я редактирую это. Я использую завершение кода (и я даже играл с IntelliSense Emacs) ... Когда я готов к компиляции, я нажимаю CTRL + F7 ... Ключ, который я связал ... Он создается в маленьком всплывающем окне ... Если есть какие-либо ошибки, я могу перейти к ним в коде, нажав f8 (еще один связанный ключ) ... После того, как все это собирается, я нажимаю f5 ... (запускается небольшая программа, которую я написал, которая анализирует Makefile и определяет путь к исполняемому файлу) ... Это запускает отладчик в небольшом всплывающем окне ... Я могу нажать на строки кода, чтобы установить точки останова ... и т.д ... Я отлаживаю ... Я могу "дальше" через код с помощью F10 ... Я могу "шагнуть" по коду с помощью F11 (больше привязок клавиш) ... Когда все это сделано, я нажимаю Shift-F7, чтобы упаковать (.rpm) проект.

Итак, у меня есть IDE? Или я просто использую текстовый редактор?

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

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

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

1. Да. 2. Любой проект.


Нет ограничений на размер системы, которая может быть разработана в Vim / Emacs / Unix, на самом деле, ограничений меньше, чем в IDE. Давайте посмотрим на несколько вещей, которые я использую ...

SYSTEM          LINES OF CODE
Linux kernel       10,000,000
NetBSD              4,000,000
Ruby                  200,000

Это довольно большие системы.

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

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

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

Я создал системы, состоящие из нескольких взаимодействующих клиентов и серверов, распределенных по нескольким физическим машинам. В этих усилиях я использовал инструменты командной строки почти исключительно на стороне сервера. Я буду использовать DDD, когда смогу, но я также знаю базовый gdb. Если клиенты Windows, я буду использовать Visual Studio IDE, но если они UNIX, я воспользуюсь командной строкой.

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

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

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

Я использую vim для всего: от небольших одноразовых скриптов до более 1000 строк кода. Он настолько универсален, что работа в любой другой среде кажется напряженной. Если я являюсь частью проекта, для которого требуется стандартная среда (IDE), тогда я буду делать столько кода, сколько смогу в vim, а затем импортировать в ide.

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