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

Какая лучшая IDE для разработки C/Зачем использовать Emacs над IDE?

так, как в одном из моих предыдущих вопросов, я расчесываюсь на своих навыках C.

Мой вопрос: что люди используют для разработки C?

Многие люди используют Emacs и делали это в течение многих лет, но лучше изучить emacs, чем использовать IDE, например Geany или KDevelop?

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

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

EDIT:

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

Нужно ли учиться редактированию с помощью emacs/vim и компиляции/отладки с помощью gcc-toolchain, а не просто использовать IDE и почему?

Каковы причины, по которым люди не переходят на IDE?

Кто-нибудь перешел от терминальной разработки к разработке IDE и почему они двигались?

4b9b3361

Ответ 1

Я начал с использования IDE, Microsoft или нет. Затем, работая над QNX некоторое время назад, я был вынужден сделать с текстовым редактором + компилятор/компоновщик. Теперь я предпочитаю эту простую комбинацию - редактор подсветки синтаксиса + компилятор C и компоновщик cli + make - для любых IDE, даже если среда позволяет им.

Причины для меня:

  • всюду. Если вы программируете на C, у вас есть компилятор, и обычно вы можете получить себе редактор. Первое, что я делаю - я получаю себя nedit в Linux или Notepad ++ в Windows. Я бы пошел с vi, но редакторы GUI обеспечивают лучшие шрифты, и это важно, когда вы просматриваете код весь день

  • вы можете запрограммировать удаленно через ssh, когда вам нужно. И иногда это помогает много, чтобы быть в состоянии ssh в цель и делать некоторые быстрые вещи там

  • он держит меня близко к CLI, предпочтительно UNIX/Linux CLI. Итак, все команды на кончиках пальцев, и когда мне это нужно, мне не нужно читать справочник. И UNIX CLI может делать то, что IDE часто не может - потому что их разработчики не думали, что вам нужны они.

  • Самое главное, это очень похоже на просмотр Матрицы в сыром коде. Я управляю файлами, поэтому я вынужден держать их управляемыми. Я нахожу вещи в своем коде вручную, что заставляет меня держать его простым и организованным. Я управляю Config Management явно, поэтому я знаю, когда я синхронизируюсь и как. Я знаю своих Makefile, потому что я пишу их, и они делают только то, что я им говорю

    (если вы задаетесь вопросом, работает ли это в "действительно больших проектах" - это действительно работает, и чем больше проект, тем больше он меня привлекает)

  • когда люди просят меня посмотреть на их код, мне не нужно изучать IDE, которые они используют

Ответ 2

Я перешел из текстового редактора терминала и создала среду для Eclipse для большинства моих проектов. Spanning из C и С++, для Java и Python, чтобы назвать несколько языков, с которыми я сейчас работаю.

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

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

Обычно, когда вы работаете с инструментами командной строки, вам часто приходится решать множество проблем с шаблонами, которые не позволят вам быть продуктивными. Вам нужно будет подробно изучить инструменты, чтобы полностью использовать их потенциал. Кроме того, поддержка проекта потребует гораздо больших усилий. Рефакторинг приведет к обновлениям в make файлах и т.д.

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

Сделайте свой выбор соответствующим образом.

Ответ 3

Emacs - это IDE.

edit: Хорошо, я уточню. Что такое IDE?

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

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

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

Интегрированный означает, что все части среды каким-то образом находятся под однородной поверхностью. В среде IDE мы можем получить доступ и использовать разные подчасти с минимальным переключением; нам не нужно покидать нашу определенную среду. Эта интеграция позволяет различным компонентам взаимодействовать лучше. Например, редактор может узнать о том, на каком языке мы пишем, и дать нам автозаполнение символа, переход к определению, автоиндексацию, подсветку синтаксиса и т.д. Он может получать информацию от компилятора, автоматически переходить на ошибки и выделите их. В большинстве, если не во всех IDE, редактор, естественно, лежит в основе процесса разработки.

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

Counterexample: вы можете использовать что-то вроде "Блокнота", доступ к документации через Firefox и XPdf, а также управлять компилятором и отладчиком из оболочки. Это будет среда разработки, но она не будет интегрирована.

Ответ 4

Я успешно использовал Eclipse с подключением CDT.

Ответ 5

Emacs было бы лучше, если бы в нем был текстовый редактор...: -)

Ответ 6

Используйте Code:: Blocks. В нем есть все, что вам нужно, и очень чистый графический интерфейс.

Ответ 7

Netbeans имеет отличную поддержку C и С++. Некоторые люди жалуются, что это раздувается и замедляется, но я использую его почти исключительно для личных проектов и люблю его. Функция поддержки кода - одно из лучших, что я видел.

Ответ 8

Почему никто не упоминает Bloodshed DevС++? Havent использовал его через некоторое время, но я изучил c/С++ на нем. очень похож на MS Visual С++.

Ответ 9

Если вы ищете бесплатный, красивый, кросс-платформенный редактор, попробуйте Komodo Edit. Это не так сильно, как Komodo IDE, но это не бесплатно. Смотрите диаграмму функций .

Другой бесплатный, расширяемый редактор jEdit. Crossplatform, так как это 100% чистая Java. Не самая быстрая IDE на земле, но для Java на самом деле очень быстро, очень гибко, но не очень приятно.

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

Ответ 10

Если вы находитесь в Windows, то это абсолютно бесполезно: Get Visual С++ Express.