为什么我应该使用集成开发环境(IDE)?

397
在另一个问题中,Mark 高度评价了IDE,说“有些人仍然不知道为什么要使用IDE…”。作为一个使用vim进行编程,并且在大多数/所有同事都使用vim或emacs进行所有工作的环境中工作的人,IDE有哪些优势?为什么我应该使用IDE?
我相信这对一些人来说是一个充满争议的问题,我不想引发争论,所以请只回复您认为基于IDE的方法更优越的原因。我不想听到为什么我不应该使用IDE;我已经不使用IDE。我有兴趣从“另一面”听取意见。
如果您认为IDE可能适用于某些类型的工作但不适用于其他类型的工作,我也很想听听您的看法。

1
感谢您通过我的博客联系我,这个网站真的应该有一个私人消息系统! - Mark
11
Emacs 是一个不好的例子。很难找到 Emacs 缺少的 IDE 功能。区别在于什么是开箱即用的,什么需要自定义。 - jfs
8
IDE(集成开发环境)是无用的,真正的程序员使用vim。 - user216441
30
因为评论的原因,你是否开始使用集成开发环境(IDE)了? - Aftershock
1
有时候你别无选择,只能使用一个集成开发环境(IDE):( - XY Li
不使用IDE进行编译语言开发的人通常是老手,他们不想改变自己的方式,或者说,他们是慢速程序员(相对于他们本来可以做到的)。没有IDE,你能达到的效率是有限的。但是,在IDE中重构方法/变量名称只需要3秒钟,而手动完成则让我不敢想象。例如NetBeans甚至内置了分析器 - 它在我运行应用程序时显示我正在执行的SQL查询! - trilogy
36个回答

1

在决定是否使用集成开发环境(IDE)时,只有一件事需要考虑,那就是它是否能提高你的生产力。

问题简短,答案也简短 :)


谢谢回复,但在我提出问题之前,有些人就认为这一点是显而易见的。我真的想知道你为什么认为这可能会让你更有生产力?它在某些情况下会让你更有生产力吗?还是只有在某些场景下有效呢? - Simon Howard

1
这高度取决于你在做什么以及你使用的编程语言。就我个人而言,我倾向于大部分工作不使用集成开发环境(或者“我的IDE包括三个窗口运行vim,一个运行数据库客户端,还有一个bash提示符或tail日志”,这取决于你如何广泛定义“IDE”),但是,如果我需要开发平台本地GUI,则会立即选择适合该编程语言的IDE —— 在我看来,IDE和图形化表单编辑显然是为彼此而生的。

1

一个集成开发环境(IDE)可以处理一些繁琐的工作,节省时间。

它可以将所有相关的项目文件放在一起,方便协作。

通常可以将源代码控制集成到IDE中,以节省更多的繁琐操作,并进一步增强协作功能。

如果具有自动完成功能,它可以帮助您探索所选语言并节省输入时间。

基本上,IDE减少了程序员的非编程工作。


基本上,一个集成开发环境可以减少程序员的非编程工作 - 我认为这是所有答案中给出的最好的理由之一。 - Zack Macomber

0
简单来说,IDE相比于简单的编辑器提供了更多节省时间的功能。

2
有哪些具体的功能?这根本没有回答我的问题。 - Simon Howard
1
问题是“为什么我应该使用集成开发环境(IDE)?”。答案是“它可以节省时间”。 - Brian Knoblauch
3
你认为哪些功能可以节省时间? - jfs
2
仅凭我目前丧失咖啡因的头脑,可以想到以下几点:代码补全、代码插入/构建、语法感知高亮、自动化构建。 - Brian Knoblauch
2
这取决于,像emacs和vim这样的文本编辑器有时也可以通过插件实现相同的功能。 - Yuan He
显示剩余2条评论

0

我更喜欢使用集成开发环境(IDE),因为它允许我将编辑、编译和调试集成在一起,并且可以通过单击跳转到生成错误的代码行。此外,它还允许多个信息窗格,使用操作系统标准界面来显示信息。简而言之,它提供了一个基于鼠标的输入界面和现代化的输出界面,而不是依赖于上世纪70年代的技术和界面。

当然,对于IDE有更复杂的用户和用途,我并不声称自己使用或者了解所有的功能。但是当我需要时,我会去学习它们。


无论是vim还是emacs都有这个功能。唯一可能有点棘手的是调试,因为大多数gdb/dbx包装器也是如此。 - Luc Hermitte
我甚至不想想象要花多少时间来让vim/emacs做那件事。这是我可以在Visual Studio上愉快地编码完成真正的工作的时间。 - Paul Nathan

-3
使用IDE的一个非常好的理由是它们是生产现代软件的公认方式。如果您不使用IDE,则可能使用像vi和emacs这样的“老式”工具。这可能会导致人们得出结论 - 可能是错误的 - 您固执己见,无法适应新的工作方式。在软件开发这样的行业中,想法可能在短短几个月内就过时了,这是一种危险的状态。它可能会严重损害您未来的就业前景...

4
有些道理,但我认为这取决于你工作的地方。当我进行现任工作的面试时,我被特别问到,“你用什么编辑器?”当我回答我使用vim时,回答是“很好!” - Simon Howard
5
是的,这听起来是非常微软式的观点。使用集成开发环境(没有编码能力)意味着您不知道正在发生什么,而使用vi/命令行接口则意味着您真正知道正在发生什么。 - Rich Bradshaw
@Rich,这太有趣了。哈哈哈。 - David Arno
7
我觉得很有趣,我使用vim(或带有vi绑定的Komodo)时被认为是“固执己见”,而事实上我只有20岁,两年前才开始进行严肃的编程,这种绑定也没有用了一年。是的,我选择在这个环境下开发一个相对较大的Java项目,而不是使用Eclipse或Netbeans。我还将所有Ant构建脚本改写成Rake,因为我认为Ant太古老且冗长;这不是拒绝新技术的表现吗? - Xiong Chiamiov
3
大多数使用集成开发环境(IDE)的人实际上对幕后发生的事情一无所知,而使用vim的人必须有清晰的认识。如果一家公司认为您因使用vim而“固执己见”,则您应认真考虑加入该公司。 - codingscientist

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接