在另一个问题中,Mark高度评价了ide,说“有些人仍然不知道”为什么“他们应该使用一个……”。作为一个使用vim进行编程的人,并且在大多数/所有同事都使用vim或emacs进行所有工作的环境中工作的人,ide的优势是什么?我为什么要用它?

我相信这对一些人来说是一个棘手的问题,我对开始一场论战不感兴趣,所以请只回复你认为基于ide的方法更好的原因。我对听到为什么我不应该使用IDE不感兴趣;我已经不用了。可以这么说,我感兴趣的是听取“栅栏的另一边”的意见。

如果您认为ide可能适合某些类型的工作,但不适合其他类型的工作,我也很想知道为什么。


当前回答

IDE可以让人更快更容易地工作……我注意到我花了很多时间在一个简单的文本编辑器中浏览代码……

在一个好的IDE中,如果IDE支持跳转到函数,跳转到之前的编辑位置,跳转到变量……此外,一个好的IDE可以减少试验不同语言特性和项目的时间,因为启动时间可以很短。

其他回答

至于我为什么使用IDE,简单的回答是懒惰。

我是一个懒惰的人,当有简单的方法时,我不喜欢用困难的方法来做事情。IDE使生活变得简单,因此吸引了我们懒人。

当我输入代码时,IDE会自动检查代码的有效性,我可以突出显示一个方法并点击F1以获得帮助,右键单击并选择“转到定义”以直接跳转到定义的位置。我按下一个按钮和应用程序,与调试器自动附加启动为我。这样的例子不胜枚举。开发人员每天所做的所有事情都集中在一个屋檐下。

不需要使用IDE。只是不这么做要难得多。

使用ide的一个很好的理由是,它们是生产现代软件的公认方式。如果您不使用,那么您可能会使用“老式”的东西,如vi和emacs。这可能会导致人们得出结论——可能是错误的——你被困在自己的方式中,无法适应新的工作方式。在软件开发这样的行业——创意可能在短短几个月内就会过时——这是一种危险的状态。这可能会严重损害你未来的工作前景。

不同的人可能有不同的原因。对我来说,这些都是优势。

为项目提供了一种完整的感觉。例如,我将有所有相关的项目文件在单一视图。 提供了更高的代码生产力,如 语法高亮显示 程序集引用 智能感知 数据库和相关UI文件的集中视图。 调试特性

最后,它帮助我更快地编写代码,而不是在记事本或写字板上。这是我更喜欢IDE的一个很好的理由。

这在很大程度上取决于你在做什么,以及你用什么语言来做。就我个人而言,我倾向于不使用IDE(或“我的IDE包含3 xterm vim运行,运行数据库客户端,和一个bash提示或尾矿日志”,这取决于你广泛的定义IDE)的大部分时间里我的工作,但是,如果我发现自己开发一个platform-native GUI,然后我会找一个瞬间看清IDE——国际海事组织、IDE和图形形式编辑显然是天生的一对。

对我来说,这只是我们在终端时代所做的一切的GUI版本。我一直认为IDE不是很优秀,因为它们隐藏了很多东西,特别是关于链接的东西,但在某些情况下,它们有一个显著的优势,例如与某些开发平台,如Qt。

有些IDE甚至可以在你输入代码时解析代码,并在你编译之前检测错误:从逻辑上看,似乎只有IDE可以与编译器紧密合作,立即检测类型化源代码中的问题。

我疯狂地回答IDE/命令行之争的存在只是因为C/ c++可执行的构建不是很好地处理从标准化的角度来看,不像D语言;每个平台都以自己的方式处理编译/链接等,所以为了不那么混乱,他们制作了一个IDE。

从你的角度来看,使用命令行可能会更简单,如果只有一个带有标准选项的编译器,那就很容易了,但事实是C/ c++是灵活的,所以最后,所有平台都用自己的方式来做,因此IDE不会浪费时间解释如何做。

如果您了解可执行文件如何与内核对话,或者如果您了解编译器设计,那么也许有一种方法可以使用合适的命令行,但我怀疑您没有。

微软或苹果,他们都是邪恶的,必须提出一种直接的方法来构建应用程序,而不需要进入细节,因为构建应用程序直接依赖于操作系统的架构,它很难像命令行那样是“标准的”。

把它放在简单、大而复杂的应用程序中,你不想深入研究它的功能——> IDE,小块软件或简单的系统软件设计——>命令行。当然,除了那些嵌入Makefile的漂亮的库,但那是另一个故事。

另外,我认为IDE是在应用程序与GUI或有接口或直接绑定到操作系统的东西有关时使用的,所以,它也适用于那些使用UI/GUI但不知道它如何工作的人,而那些编写系统程序的人不需要它。

IDE只是现代的垃圾,但我认为在100年内命令行还会存在。