online - eclipse c++




什么是C开发的最佳IDE/为什么在IDE上使用Emacs? (7)

Emacs 一个IDE。

编辑 :好的,我会详细说明。 什么是IDE?

作为一个起点,让我们扩展首字母缩略词:Integrated Development Environment。 为了分析这一点,我从头开始。

一般而言, 环境是围绕着观点的世界的一部分。 在这种情况下,它是我们在显示器上看到的(可能是从我们的扬声器听到)并通过我们的键盘(也许是鼠标)进行操作。

如果您愿意, 开发就是我们想要在这种环境中实现的目标。 我们使用环境来开发软件。 这定义了我们需要的子部分:编辑器,REPL的接口,resp。 编译器,调试器的接口以及对在线文档的访问(此列表可能并非详尽无遗)。

集成意味着环境的所有部分都以某种方式在均匀的表面下。 在IDE中,我们可以以最少的切换访问和使用不同的子部分; 我们不必离开我们定义的环境。 这种集成使不同的子部分更好地交互。 例如,编辑器可以知道我们写的语言,并给我们符号自动完成,跳转到定义,自动缩进,语法高亮等。它可以从编译器获取信息,自动跳转到错误,以及突出他们。 在大多数(如果不是全部)IDE中,编辑器自然是开发过程的核心。

Emacs完成了所有这些工作,它使用各种语言和任务来完成它,并且它具有卓越性,因为无论用户何时错过任何东西,它都可以无缝扩展。

反例:您可以使用记事本,通过Firefox和XPdf访问文档,以及从shell引导编译器和调试器。 这将是一个开发环境,但它不会被集成

根据我以前的一个问题,我正在刷新我的C技能。

我的问题是,人们用什么来开发C?

很多人使用Emacs,并且已经这么做了多年,但学习emacs比使用像Geany或KDevelop这样的IDE更好吗?

还有兴趣听听那些仍在使用emacs的人 ,以及为什么他们将其用于其他应用程序?

请注意,我只对免费的IDE /编辑感兴趣。

编辑:

感谢您发布回答我的一些问题的链接,但我想我真正想知道的是:

是否学习使用emacs / vim进行编辑以及使用gcc-toolchain进行编译/调试是否值得,而不仅仅是使用IDE,为什么?

人们不迁移到IDE的原因是什么?

有没有人从以终端为中心的开发转向IDE开发,为什么他们会移动?


Netbeans具有出色的C和C ++支持 。 有些人抱怨它臃肿而缓慢,但我几乎专门用于个人项目,并喜欢它。 代码辅助功能是我见过的最好的功能之一。


如果它有一个文本编辑器,Emacs会更好...... :-)


如果您使用的是Windows,那么完全可以轻松:获取Visual C ++ Express。


对于我的大多数项目,我已经从终端文本编辑器+ make环境转移到了Eclipse。 从C和C ++扩展到Java和Python,我所使用的语言很少。

原因只是生产力。 随着其他事情变得更加重要,我无法花费时间和精力将所有项目“保持在我的脑海中”。

使用“硬核”方法(终端)有一些好处 - 比如你自己和代码之间有一层薄得多的层,这样当你在项目内“所有”内部时,你的工作效率会更高一些。在你的头顶。 但是,当你在其他地方需要你的思想时,我认为不可能仅仅为了它本身而捍卫这种工作方式。

通常,当您使用命令行工具时,您将经常需要解决许多样板问题,这些问题会使您无法提高工作效率。 您需要详细了解这些工具才能充分发挥其潜力。 维护项目也需要付出更多努力。 重构将导致make文件等的更新。

总结一下:如果您只处理一个或两个项目,最好是全职,而不会有太多干扰,“基于终端的编码”可以比完整的IDE更高效。 但是,如果您需要将精力投入到更重要的事情上,那么IDE绝对是保持生产力的方法。

做出相应的选择。


怎么没有人提到Bloodshed Devc ++? 有一段时间没有使用它,但我学习了c / c ++。 与MS Visual c ++非常相似。


我开始使用IDE,微软与否。 然后,在很久以前使用QNX时,我被迫使用文本编辑器+编译器/链接器。 现在我更喜欢这种简单的组合 - 语法高亮编辑器+ C编译器和链接器cli + make - 任何IDE,即使环境允许它们。

原因是,对我来说:

  1. 它无处不在。 如果你用C编程,你就有了编译器,通常你可以自己编辑。 我做的第一件事 - 我在Windows上使用Linux或Notepad ++。 我会使用vi,但GUI编辑器提供了更好的字体,这对于整天查看代码非常重要

  2. 您可以在需要时通过ssh远程编程。 而且它有时能帮助我们进入目标并在那里做一些快速的事情

  3. 它使我接近CLI,最好是UNIX / Linux CLI。 因此,所有命令都在我的指尖,当我需要它们时,我不必去阅读参考书。 UNIX CLI可以做IDE经常无法做到的事情 - 因为他们的开发人员并不认为你需要它们

  4. 最重要的是,它非常像在原始代码中查看Matrix。 我操作文件,所以我不得不让它们易于管理。 我手动在代码中找到了东西,这使我保持简单和有条理。 我明确地进行了Config Management,所以我知道我何时同步以及如何同步。 我知道我的Makefiles因为我写了它们,而且它们只做我告诉他们的事情

    (如果你想知道它是否适用于“真正的大项目” - 它确实有效,项目越大,它就越有利于我)

  5. 当人们让我看他们的代码时,我不必学习他们使用的IDE







ide