Archives
-
又是IDE的争论
在邮件列表发现又一个IDE的争论。 我说一下我作为一个实用主义者的做法。 我平常写,Java,PHP,Python,C,HTML, JavaScript,还有一些Shell脚本和RST文档 如果让我在一个IDE上都写好了,那么这个IDE一定要无比强大,但是现实的问题就是可能非常占用内存。所以我使用emacs。 我用emacs,主要使用 1,语法高亮,因为可以让我方便的看到我写的 function 是不是写对了,不用仔细看,只看颜色就行了,我懒嘛。 2,自动补全,emacs的自动补全不是ide里面点 “.” 之后出来的方法列表,而是说你要写 function, 那么你打出 fun 你再使用快捷键补全就可以了。而emacs的特性又决定了,只要你打开的文件,他就可以作为不全的被选 3,多窗口编辑,我有时需要同时看不同的文件、相同文件的不同部分,没有多窗口,我会死 4,etags,我写程序有一个毛病,写Java时候做下的,就是只要时间不特别紧张,我就喜欢看一些类库的实现,并跟踪进去,这时候,没有etags,我会抓狂 5,在双手不离开大键盘区的情况下,完成几乎所有动作 但是我也会使用IDE,尤其再写Java的时候,因为我喜欢eclipse的, 1,import 自动补充,我懒嘛 2,重构,这个真的是非常强大,如果我用emacs,光改import的package就耽误我很多时间 还有,我(几乎)不用 IDE debug/step into 等等的功能,我调试代码都是考log的,我个人觉得这样快,而且可以复用(我还不知道怎么把断点放在svn里面,共享给其他的不用eclipse的人)。 所以总体上,如果是Java项目,我会用eclipse搭建原型,然后写道一定程度(就是不需要很多import的时候),补充ant脚本,完全切换回emacs。只有在需要大量的重构的时候,我再切换到 eclipse。 如果不是Java项目,几乎只用emacs,因为我不知道其他的语言的好用的IDE是什么,我懒啊。 而使用emacs,我会明白什么? 1,整体代码的框架结构。eclipse看到的结构是用看的,emacs会强制要求你记在脑子里面。这个强制会成为一种习惯。说实话,其实这是一个可有可无的,你用eclipse甚至file explorer都可以,但是强制的,可以让我随着项目的前进随着就记住,我懒嘛。 2,记住API,很多使用IDE的兄弟姐妹们非常喜欢 “.” 或者 “->” 之后,IDE给你所有的方法列表。但是我不喜欢,尤其是我自己设计一些API要别人使用的时候。如果只能使用editor这样的土土的工具,你就会让自己做出来更好的,更容易记忆的API,就像说话一样自然,所以很多时候,什么API,就是很自然的就记住了,而且配合我说的自动补全,这样每写一个这样的方法,可以节省我几百和毫秒吧。 3,多语言的同时编辑,最常见的就是一边修改Server的代码(Java、Python、PHP等),一边修改前台的代码(HTML,JavaScript)等。emacs,一个就搞定了,不需要从不同的IDE切换。我知道Eclipse也支持多语言,但是他不能非常好的做到同时支持,至少需要切换一个语言的主题,这会浪费我几秒钟的时间,而且我需要动鼠标,这个不能忍,没办法,我懒嘛。 所以,我基本上90%的时间用emacs。但我不反对IDE,虽然我不怎么用。 而大家说的对程序的理解,运行机制的理解,我觉得这是一个程序员的基本能力。不管工具是什么,都应该明白。这样才能驾驭工具。 工欲善其事,必先利其Emacs。
Apr 20th, 2009 | Filed under 程序设计