你什么时候使用IDE?

时间:2008-10-03 18:40:28

标签: language-agnostic ide

我知道有些人发誓不使用特定于语言的IDE(vim / emacs或die!type stuff),并且有些人对终端中的编码/编译感到非常不舒服,所以我的问题有以下几点:部分。

  • 何时从一个切换到另一个
  • 是否有必要同时了解两者?如果没有,你应该知道哪一个?
  • 轻量级或重量级IDE? (只是代码突出显示或您可以想象的每个功能)
  • 您一般推荐什么IDE?为什么?

随意回答所有,部分或全部。


到目前为止的简短摘要:

的IDE

  • 大项目
  • 的GUI
  • 简易版本控制集成?

文字编辑

  • 快速/小型项目
  • 更轻松地适应其他语言
  • 开销减少

21 个答案:

答案 0 :(得分:5)

IDE的使用对个人意见非常主观。有了这个免责声明,这是我的。

了解您的工具并了解您的平台。开发软件是你的领域,所以要擅长。

你什么时候换?当你的知识告诉你的直觉时,用其他工具会更容易。

你们两个都知道吗?我认为你应该知道有关使用你的平台的一切。低级知识使更高级别的应用程序更容易理解。

轻量级或重量级取决于手头的任务。两者都是合适的。

我不推荐任何一个IDE,它取决于您的应用程序的平台以及您,开发人员所熟悉的内容。如果你正在使用.NET,Windows上的Visual Studio可能是最好的,但这并不意味着你可以扔掉记事本。对于Linux上的Java,Eclipse很棒,但不要丢弃vim。

嘿,Front Page可能是适合某些人工作的合适工具(哎呀,是的,我说过。/我是鸭子)。

答案 1 :(得分:3)

正如其他几位人士所说,您使用的IDE或者您使用的IDE在很大程度上取决于您所开发的语言,项目的规模以及您所使用的平台。虽然我从来没有安排Vi或者Emacs的人,但我在大致这种语言分解中使用了许多其他的编辑工具:

C#,或其他任何.Net:Visual Studio。没有严重的竞争,CLR语言要求语法突出显示,重构和高级文件管理。值得庆幸的是,微软得到了这一点,Express版本的价值令人难以置信。

C ++:我有一段时间没有触及它,但我通常会在Visual Studio中查看代码,但是通过批处理文件进行编译,这与我正在处理的特定嵌入式平台的怪癖有很大关系

Python:如果你需要花花公子和口哨的东西,我推荐Stani's Python Editor,但Python在结构上是如此直接,我通常最终只使用Scite。它可以在Python编辑器中完成您真正需要的所有工作。

SQL:Notepad++或者,如果您的工作繁重,任何支持的编辑器+ SQL Prompt

Java:我听说过关于Eclipse的好东西,但Java是邪恶的,所以我不碰它。

PHP,Perl,Javascript,BASH或大多数其他语言:Windows上的Notepad ++,Linux上的Scite。

虽然在所有这些IDE之间切换可能会很麻烦,特别是当您喜欢的功能在另一个功能中丢失时,可以在使用最佳平衡工具来完成您的工作。我随着需求的变化一直在切换IDE,我也会鼓励其他人。在特定平台上进行了有限数量的有限数量的项目,我几乎不知道所有的用例,我确信还有很多其他情况和代码编辑器以独特和奇妙的功能方式配对。 / p>

答案 2 :(得分:2)

就个人而言,我几乎从不使用IDE。我几乎完全使用vim / make。这有很多好处:

  • 完全与语言无关。一旦记住了一些命令和快捷方式,它们就可以与我的所有项目一起使用
  • 零件易于更换。如果我想切换编译器,我在makefile中更改变量。
  • “配置不可知”。无论设置如何,我都可以发展。没有GUI?没问题。不同的桌面环境?没问题。 Windows甚至还有vim的端口。我在本地机器上开发,当我以相同的方式进入服务器时。

还有一些缺点:

  • Vim很难学。我甚至不会为此撒谎。获得一些力量需要时间。
  • 主要限于* NIX。是的,有像cygwin这样的东西。是的,有Vim到Windows的端口。它在某种程度上并不完全相同。
  • 如果我学会了一种专注于特定语言的IDE,它可能会有一些非常强大的功能。

答案 3 :(得分:1)

根据我的经验,如果项目涉及构建GUI,那么IDE是一个非常宝贵的工具。

如果它很小,“直觉级”或网络服务,我会专门用文本编辑器。

答案 4 :(得分:1)

使用命令行进行编译/链接的唯一时间是在没有安装GUI的纯Linux服务器上工作时 - 在这种情况下,您的ONLY REAL OPTION是emacs。 (使用其他任何东西都是纯粹的受虐狂)。

在其他任何时候都不会使用成熟的IDE 纯粹的愚蠢

您的问题:

何时从一个切换到另一个

(上面回答)

是否有必要同时了解两者?如果没有,你应该知道哪一个?

这将取决于您作为一名程序员的热情,以及作为系统管理员。后者被要求支持前者并实施任何必要的措施以保持所有系统顺利运行。要知道两者都不会有害,但如果你坚持只是一个程序员,那么了解你选择的平台的特定IDE的必要性是显而易见的。

轻量级或重量级IDE? (只是代码突出显示或您可以想象的每个功能)

我认为这里的选择仅指程序员:毫无疑问,您的编程工具/环境可以为您提供更多的帮助,并且您可以获得的支持越多,您就可以专注于实现您的程序规范。更好。所以是的:HEAVYWEIGHT是唯一明智的选择。

您一般推荐什么IDE?为什么?

在Windows平台上,这个问题没有实际意义:无论Mictrosoft推荐什么(如果你有$$$)。在Linux上你有几个选择:基于GTK(Gnome&公司),基于QT(KDE&公司),(如果你是一个惩罚的傻瓜,你可以选择纯X,然后你更多 - 或 - 在一段有趣的时间里,Gnome和KDE都可以使用IDE。第三方IDE,如eclipse,可用;它们都使您能够开发GUI应用程序,这些应用程序将以用户选择的GUI环境运行。其中一些IDE甚至允许多种编程语言(这是Linux和FOSS的荣耀:你有选择;你没有被固定到“地理”,没有导致屠杀,......)。

我个人选择的IDE(仅限C ++)是Ultimate++。它与Windows和Linux兼容。 IDE正在接近丰富的成熟度,它提供了其他C ++ - IDE所渴望的“所有东西”。 (我知道这是一个插件,但我有充分的理由:试一试。)

HTH

答案 5 :(得分:1)

我发现C和Python的IDE不会给你带来太多,至少是那些可用于Linux的IDE。所以,当我编写C和Python代码时,我通常会使用GVIM + Ctags +独立调试器+ make。

然而,在Java的情况下,Eclipse提供了一个Java程序员,以至于很难不使用它,并且在一段时间之后变得被破坏,以至于回到在VIM中编写Java代码太痛苦了。

奇怪的是,我在使用Visual Studio for C项目时没有相同的经验(即使我发现它的调试器是必不可少的)。其中一个原因是我更喜欢自己管理构建脚本。即使使用Eclipse,我仍然会使用ant,因此我确切地知道每次构建期间发生了什么。不可否认,您当然可以在Visual Studio和Eclipse中查看构建配置,但这并不像查看使用的确切命令那样直接。话虽这么说,我仍然被迫使用Visual Studio进行构建主要是因为常规,因为有其他人在这些项目上工作,但我仍然会在GVIM中编辑代码(在ctags的帮助下)。

答案 6 :(得分:1)

对我来说,分解是靠技术。

我在LAMP堆栈中使用Notepad ++或vim - 我从来没有在这些技术的IDE中找到任何特别有用的东西(除非你能将MySQL客户端工具作为IDE使用,我能够使用它)

另一方面,当在WISC(Windows,IIS,SQL Server,C#)堆栈中工作时,我使用IDE - Visual Studio产品之一,具体取决于我正在处理的项目。

这很可能与我工作的各种项目有关。我在LAMP堆栈中使用PHP工作,所以我不必像我使用perl那样处理一堆外部库,而我在LAMP上开发的项目通常比我的Windows开发更简单。另一方面,在.Net中,如果没有IDE,导航库可能会非常困难,并且调试可以(我发现)更复杂。此外,在使用SOAP开发Web服务时,如果没有Microsoft提供的工具,我甚至不想考虑这样做。

答案 7 :(得分:1)

虽然我使用VIM和非IDE类型的工具,但我不得不承认Visual Studio(特别是2005/2008)可能是有史以来最好的程序之一。智能和调试工具在黄金方面非常重要。我发现自己能够非常快速地编写代码。它在您使用框架(例如.NET)的情况下特别有用,并且需要一些额外的指南来告诉您对象可用的功能,而无需参考帮助文档。很难打败自动代码格式化,书签,沉浸式调试,重构,源代码控制集成和插件支持。

对于其他一切,我使用VIM。我不得不承认我还在学习如何使用VIM,但我已经知道它很强大。这真的是为工作选择合适的工具。

编辑:我要提到的一件事是你选择一两个工具并且很好地学习非常。成为它的专家。了解ins / OUT并探索编辑器/ IDE可以执行的细节秘密。你做的越多,它就越不重要了。

答案 8 :(得分:1)

我的经验法则是,如果语言和IDE绑在一起,那么使用IDE(使用MS项目文件查看任何内容)。否则任何编辑都会这样做。我个人喜欢视觉Slickedit,或者记事本++,如果该公司不打算用于slickedit。在linux方面,我使用Emacs,您可以将其视为重量级编辑器或轻量级操作系统。

答案 9 :(得分:1)

我通常只使用IDE进行调试(哪个IDE依赖于语言/平台),并使用我的个人编辑器进行实际的代码编辑。

我觉得使用一个编辑器可以比我重新学习每个语言/平台变化的关键字绑定更好的方法。

答案 10 :(得分:0)

一旦你使用了一个带有 good 的IDE(vs6不好,并且大多数通用文本编辑器对此的支持是最好的)智能感知式提示和自动完成几周,你不会回去。

答案 11 :(得分:0)

如果项目超过两个或三个源文件,我倾向于使用IDE。

答案 12 :(得分:0)

我将vim用于所有除了Objective-C之外的东西,我使用xCode。 “接口”构建器,错误检查,调试非常有价值。

但是,我使用InputManager让我在xCode中使用vim命令/键绑定,所以我从来没有真的为任何事情留下vim;)

答案 13 :(得分:0)

每当我使用的语言更适合由计算机编写而不是人类(例如Java)时,我都会使用IDE。在没有自动完成负载的情况下手动编写是非常冗长的。 Vim的自动完成功能永远不如特定于语言的IDE。

对于不那么冗长的语言,你无法击败一个好的Vim或Emacs编辑器来快速制作明文。

答案 14 :(得分:0)

我在SciTE中编写所有编码,我最喜欢的编辑器,轻量级,具有良好的语法高亮,以及我熟悉的快捷方式(或我编码的快捷方式!)。

现在,在工作中使用大量Java,我也使用Eclipse,每个版本都会大大改进。我很欣赏它是可定制的,并且对编码帮助非常灵活,但我仍然在SciTE中进行大部分编辑...幸运的是,在其他地方编辑的文件的自动检测/更新在Eclipse中运行良好(尽管有时候是明智的延迟分析重新加载的类:我们有大项目而没有那么多内存(1GB)。

我很欣赏Eclipse主要用于两件事(我们使用特殊的ant进程编译,我们并不真正进行重构):在项目中快速导航,特别是找到一个类和调用层次结构,当然还有调试。

我不认为这些是如此多的不同世界,这些只是工具,相当互补:我不会激活Eclipse来快速编辑一个小的HTML文件,我无法在SciTE中调试。所以我同时使用它们。

答案 15 :(得分:0)

自从我上次创建原生GUI应用程序以来,我没有使用过IDE。而且,即便如此,我一直只是使用IDE来创建GUI表单和我自己的实际代码编辑器,一旦我弄清楚如何将备用编辑器插入IDE中。

我不是“给我vim,或者给我死!”狂热,但我使用IDE并使用一堆运行vim的xterms的经验让我觉得IDE对我来说唯一真正有用的是拖放式表格编辑,这是我不喜欢的事情。我需要,因为我上次使用非基于Web的GUI做了多长时间。

答案 16 :(得分:0)

专业化和普遍性都有机会。在我自己的工作中,我发现灵活性和能够驾驭陡峭的学习曲线已经得到了很好的回报。

答案 17 :(得分:0)

重新:什么时候?我使用Eclipse进行Java和调试。我使用各种Groovy脚本保持jEdit开放。我还在3个shell窗口中使用Cygwin的bash来执行Ant任务,搜索等。我可以使用Bash别名来运行我们的服务器和客户端。

re:两个?是的,了解IDE和非IDE开发至关重要。 哪个 IDE并不重要,但调试器是必不可少的。

重新:哪个?对于Java,Eclipse,如果你付费(免费)和Idea,如果其他人是;-)实际上,我更喜欢Eclipse,但我认为Idea更好地支持Groovy,因此它对我很有吸引力。

答案 18 :(得分:0)

我已经完成了两项工作,但调试器确实是一个很棒的工具。

你只需添加调试输出和重建就可以了,这甚至会迫使你更多地使用你的面条和科学方法,但最后(imo)调试器就不能被拒绝了...它让我们你真的进入那里并在运行期间探索系统。

答案 19 :(得分:0)

我使用的是一个体面的代码突出显示编辑器。

答案 20 :(得分:-1)

我使用IDE进行调试,或者每个需要进行许多不同文件的大项目。很多IDE都可以快速点击从一个类移动到另一个类。 IDE的效率更高。当我使用具有大量文件夹和文件的大型FrameWork时,我也使用IDE,更容易管理。

更新,因为问题已更新

什么时候从一个切换到另一个?

我切换CSS或其他小任务的小变化,

是否有必要同时了解两者?如果没有,你应该知道哪一个?

有一段时间构建表单(例如C#中),使用IDE非常有利可图。用于使用断点进行调试的内容。我认为两者都是必需的。

轻量级或重量级IDE? (只是代码突出显示或您可以想象的每个功能)

代码hightlight对于小型工作来说很好,但是当你有大事要做的时候,更大的IDE需要自动完成,实时错误检查和其他重构工具才能提高工作效率。

您一般推荐什么IDE?为什么?

Visual Studio非常适合.net,Eclipse for Java。