[讨论]编程的时候有那么多好用的ide,为什么还要用vim/emacs

不同视角、不同观点、深度探讨,禁止人品和道德攻击
回复
everyoung
帖子: 246
注册时间: 2007-09-08 23:06

#16

帖子 everyoung »

eexpress 写了:其实是vim的编写方便啊。哈哈。现在我熟悉了,也没几个需要记忆的指令。少于26个键盘的打字训练。
不是仰慕得出来的。
我听说有的人不光编辑代码,编译,调试,测试,甚至cvs都是在emacs中完成的,我只能仰慕他们
vvvli
帖子: 441
注册时间: 2006-10-26 7:02

#17

帖子 vvvli »

vim 万用阿.
反而需要掌握的东西少了.
头像
findparadise
帖子: 256
注册时间: 2007-07-06 14:16

#18

帖子 findparadise »

我最喜欢visual studio express了,免费的,可以看MSDN,可以自动补全,还可以非常简单得设计GUI。业余人员做点小程序首选啊。
头像
muzuiget
帖子: 1097
注册时间: 2007-12-31 14:57

#19

帖子 muzuiget »

编写代码还是用Vim,IDE的编辑器还是不顺手,说真的,编写代码时候很不喜欢把手在鼠标键盘之间移来移去,复制Y,粘贴P,经常用,方不方便谁用谁知道。Vim还是跨平台,支持n多语言。编好代码在回到IDE调试,打包。
xyz042
帖子: 31
注册时间: 2006-10-18 18:03

#20

帖子 xyz042 »

muzuiget 写了:编写代码还是用Vim,IDE的编辑器还是不顺手,说真的,编写代码时候很不喜欢把手在鼠标键盘之间移来移去,复制Y,粘贴P,经常用,方不方便谁用谁知道。Vim还是跨平台,支持n多语言。编好代码在回到IDE调试,打包。
复制、粘贴都有快捷键吧。说IDE一定要用鼠标的,一定是没把IDE用熟了。绝大部分操作都有快捷键可以使用的。

至于为什么还在用VIM等东东:
everyoung 写了:话说,太初有道,很多传说中的高人开始玩编程的时候还没有IDE,只能用vi/emacs。后来有了IDE,但是他们vi/emacs用的顺手了,不想改变习惯,就一直再用vi/emacs
后来有无数的后辈,一开始都是用IDE入门的,渐渐地听说前辈们都是用vi/emacs编程的,对这些掌握复杂操作的高人们仰慕不已,他们坚信用vi/emacs的才是真正的高人,于是就自废武功,从头开始,经过严酷的修行,终于成为了修炼vi/emacs的新一代高人,于是又有无数的后辈们开始仰慕他们。。。。。。
这个说得有道理。
头像
ljj_jjl2008
论坛版主
帖子: 14255
注册时间: 2007-09-16 8:29

#21

帖子 ljj_jjl2008 »

everyoung 写了:我用visual studio基本可以不用鼠标
现在的IDE已经不光是编辑器,编译器,调试器了
现在已经包含项目管理,分析设计,代码质量分析,软件测试,配置管理,构建管理,软件部署等功能
linux下没见过好的ide。

ide还可以解决:版本自动控制,附属文件(图标、声音、资源文件等)管理和编辑,跟踪测试,可视化开发,等问题,特别是设计界面时。
头像
wangguangping
帖子: 259
注册时间: 2006-05-10 16:01
来自: 安徽合肥

#22

帖子 wangguangping »

小朋友,经过长期的对比实践,有一天你也会明白为什么那么多高人用vim/emacs, 并且这些人的年纪都不年轻,之所以用vim/emacs,是因为生命有限,学一样工具就可以用一辈子,不用今天学vs,明天学anjuta,后天又去学kdevelop,更不用管它升级不升级。你用vs写的软件如何与anjuta开发人员交互?你40岁了,50岁了,突然微软破产了,anjuta停上开发,你再别学一门工具?呵呵,你在windows下写的程序代码如何拿到linux下继续进行?

因此上,我们只用vim/emacs,只用这种经过千锤百炼,万古长青的工具,一辈子的工具,一辈子的知识,一辈子的跨平台。呵呵。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#23

帖子 eexpress »

wangguangping 写了:小朋友,经过长期的对比实践,有一天你也会明白为什么那么多高人用vim/emacs, 并且这些人的年纪都不年轻,之所以用vim/emacs,是因为生命有限,学一样工具就可以用一辈子,不用今天学vs,明天学anjuta,后天又去学kdevelop,更不用管它升级不升级。你用vs写的软件如何与anjuta开发人员交互?你40岁了,50岁了,突然微软破产了,anjuta停上开发,你再别学一门工具?呵呵,你在windows下写的程序代码如何拿到linux下继续进行?

因此上,我们只用vim/emacs,只用这种经过千锤百炼,万古长青的工具,一辈子的工具,一辈子的知识,一辈子的跨平台。呵呵。
值得表扬。不错啊。语文好。
● 鸣学
everyoung
帖子: 246
注册时间: 2007-09-08 23:06

#24

帖子 everyoung »

wangguangping 写了:小朋友,经过长期的对比实践,有一天你也会明白为什么那么多高人用vim/emacs, 并且这些人的年纪都不年轻,之所以用vim/emacs,是因为生命有限,学一样工具就可以用一辈子,不用今天学vs,明天学anjuta,后天又去学kdevelop,更不用管它升级不升级。你用vs写的软件如何与anjuta开发人员交互?你40岁了,50岁了,突然微软破产了,anjuta停上开发,你再别学一门工具?呵呵,你在windows下写的程序代码如何拿到linux下继续进行?

因此上,我们只用vim/emacs,只用这种经过千锤百炼,万古长青的工具,一辈子的工具,一辈子的知识,一辈子的跨平台。呵呵。
也许微软会破产,也许eclipse会停止开发,但是IDE的发展是不会停止的,而且各个IDE开发公司对IDE的发展趋势的理解几乎是一样的,所有的IDE在操作上都设计的十分接近
软件技术一直是在发展的,写程序就是不断学习的过程,我想没有一个程序员敢号称自己掌握的知识够用一辈子了
PS,VS写的代码要和其他IDE共享也不是什么困难的事,在windows下也可以开发linux程序,甚至可以用vc来编译
yymailb
帖子: 240
注册时间: 2007-03-16 1:38

#25

帖子 yymailb »

everyoung 写了:话说,太初有道,很多传说中的高人开始玩编程的时候还没有IDE,只能用vi/emacs。后来有了IDE,但是他们vi/emacs用的顺手了,不想改变习惯,就一直再用vi/emacs
后来有无数的后辈,一开始都是用IDE入门的,渐渐地听说前辈们都是用vi/emacs编程的,对这些掌握复杂操作的高人们仰慕不已,他们坚信用vi/emacs的才是真正的高人,于是就自废武功,从头开始,经过严酷的修行,终于成为了修炼vi/emacs的新一代高人,于是又有无数的后辈们开始仰慕他们。。。。。。
这个有道理,不过俺还是在拿各种IDE混,做JAVA用NetBean, 做C++用VS, 做PYTHON用Ulipad, 其它都用kate和notepad2... VIM和EMACS实在是学不会。。。
njayong080108
帖子: 25
注册时间: 2008-01-08 10:28
来自: 江苏南京

#26

帖子 njayong080108 »

wangguangping 写了:小朋友,经过长期的对比实践,有一天你也会明白为什么那么多高人用vim/emacs, 并且这些人的年纪都不年轻,之所以用vim/emacs,是因为生命有限,学一样工具就可以用一辈子,不用今天学vs,明天学anjuta,后天又去学kdevelop,更不用管它升级不升级。你用vs写的软件如何与anjuta开发人员交互?你40岁了,50岁了,突然微软破产了,anjuta停上开发,你再别学一门工具?呵呵,你在windows下写的程序代码如何拿到linux下继续进行?

因此上,我们只用vim/emacs,只用这种经过千锤百炼,万古长青的工具,一辈子的工具,一辈子的知识,一辈子的跨平台。呵呵。
我看你才是小朋友吧,微软可能会破产,anjuta可能会停止开发,难道vim/emacs就不会停止开发吗?

IDE与vim/emacs的最大区别就在于易用性和易学性,如果你有一定的基础,要学会一款IDE会很费劲吗?就像用NOKIA手机的人换了一台SE的手机,难道就完全不会用吗?
身在L营心在W
头像
Strange
帖子: 1824
注册时间: 2006-05-19 9:54
来自: Shanghai

#27

帖子 Strange »

现在的ide基本上也都有很好的配置性,只要花上一点功夫(比配置vim/emacs少的多的功夫)就基本能达到一致的操作性了。

其实话说 “千锤百炼,万古长青” 那是大有推敲的
拿我熟悉的vim说起
vi到现在,还远没有40,50岁
vi最初的流行仅仅是因为他是一个全屏幕编辑器-相对于当时的行编辑器来说,那是先进多了,以前ibm也有一个小巧的全屏幕编辑器pe2,一度被认为是程序员的编辑器什么什么的
其实讨论原始的vi没有什么意义,看看vim的情况
96年4.0开始有gui,98年5.2开始有script,01年的6.0开始才有代码折叠,插件,多语言支持,04年的6.3才开始有完善的多语言支持,06年的7开始才有内置的代码补完。
对比一下ide,93年borland c++ 4推出,已经是gui的windows软件。98年vs6推出,vs6的经典性不会被怀疑吧,代码提示,补完,插件等近代ide经典的设计vs6里都有了。02年eclipse 2.0推出,不但是传统的各种ide功能被继承(编程相关功能方面,绝对不少于现在的vim了),而且在远程调试方面特别方便配置。
vim最早提出能够代码关联补完的是cppcomplete这个插件,而这个插件的时间是2003-01-13,在这个已经只要是ide就能补完的时间下,vim才刚刚带入能够代码关联补完的想法,虽然还很不方便使用。即使是现在的vim7,omnicompletion也很不方便使用,一个新项目之前,ctags就要执行好久...
对比一下发展的历史就可以看出,vim也是一个不断发展的编辑器,其实我们所津津乐道的许多vim编程方便的功能,全是近期加入的,或者说-基本上都比ide来的晚。“千锤百炼,万古长青” 这种在用vim写程序的时候还谈不上。
头像
wangguangping
帖子: 259
注册时间: 2006-05-10 16:01
来自: 安徽合肥

#28

帖子 wangguangping »

有几点需要与在家分享:

1、现代IDE的功能的确是大而全,也正是因为大而全才成功,但同时问题也正因此,大而全的东西体积太大,性能受机器限制,运行环境也较严格,携带不方便;
2、现代IDE的平台限定严格,很少有跨平台的IDE(当然也有,不过不是主流),这制约了开发人员对多平台开发的需要,毕竟没有人喜欢被划在圈子里生活。
3、现代IDE的自动化程序很高,这是它之所以叫IDE的原因,成于斯败于斯,因为这直接导致开发人员对自已代码的无知与不可控,很多干几年的程序员甚至不知IDE是如何生成最终程序的,如果IDE有问题只好干瞪眼了,久了形成了对特定IDE的依赖症。对IDE对自已代码究竟作了什么一无所知。在开发过程中,开发人员缺少全盘掌控的豪情感。
4、现代IDE版本众多,各干各的,各走各的路,不同IDE之间的交流勾通有障碍。试想一个anjuta项目交给一个VC程序员继续进行,会很容易吗?
5、现代主流IDE基本上都是商业版,有版权限制,不开源;这就会造成软件被停止开发,最终软件从市场消失的命运,但这些对习惯某一类IDE的开发人员来说是很大的打击,就像当年的borland程序员被迫转到VC下一样痛苦。


但vim/emacs却没有以上问题:
1、vim/emacs有很多年的发展历史,稳定性与高效性不容怀疑。
2、vim/emacs以手工打造,手工操控为主,起步难,但一步一个脚印,最终走下来的人就会对软件开发到最终结束的过程全盘掌控,对自已的代码更是了然于胸,那种掌控一切的豪情绝非IDE可比。打个比喻,真正的摄影师是采用人工机械照像机而不是那个傻瓜照像机,道理一样,就是为了自已可以掌控。
3、vim/emacs是多平台的软件,无论在windows下,还是linux下,你都可以采用自已一致的操作习惯,你在windows下的项目几乎可以不加修改的拿到linux下继续进行。项目的交流与参与都不受影响,试想如果有人拿个mfc程序找一个linux开发人员合作,会不会很可笑。
4、体积小巧,通过自已手工配置与搭建出来的vim/emacs,其功能都是自已所需要的,所习惯的,没有一点垃圾在里面,自已对这些工具了然于胸,得心应手,不好吗?体积小,方便携带,我甚至打包出来放在U盘中,随身携带,走到哪里都是自已的环境,这才叫爽。
5、对机器的要求低,几乎所有的老爷机都能跑起来,这才叫方便,体贴。
6、vim/emacs都是开放源代码的自由软件,不用担心它的版权以及未来的发展。你20岁用它,如果不错的话,到你60岁时几乎还会用它,人用习惯了没谁愿意换来换去。
附件
Screenshot-2.png
Screenshot-1.png
Screenshot.png
上次由 wangguangping 在 2008-01-11 10:30,总共编辑 5 次。
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15

#29

帖子 iblicf »

wangguangping 写了:小朋友,经过长期的对比实践,有一天你也会明白为什么那么多高人用vim/emacs, 并且这些人的年纪都不年轻,之所以用vim/emacs,是因为生命有限,学一样工具就可以用一辈子,不用今天学vs,明天学anjuta,后天又去学kdevelop,更不用管它升级不升级。你用vs写的软件如何与anjuta开发人员交互?你40岁了,50岁了,突然微软破产了,anjuta停上开发,你再别学一门工具?呵呵,你在windows下写的程序代码如何拿到linux下继续进行?

因此上,我们只用vim/emacs,只用这种经过千锤百炼,万古长青的工具,一辈子的工具,一辈子的知识,一辈子的跨平台。呵呵。
兄台高寿? 哈哈
头像
ljj_jjl2008
论坛版主
帖子: 14255
注册时间: 2007-09-16 8:29

#30

帖子 ljj_jjl2008 »

wangguangping 写了:有几点需要与在家分享:

1、现代IDE的功能的确是大而全,也正是因为大而全才成功,但同时问题也正因此,大而全的东西体积太大,性能受机器限制,运行环境也较严格,携带不方便;
2、现代IDE的平台限定严格,很少有跨平台的IDE(当然也有,不过不是主流),这制约了开发人员对多平台开发的需要,毕竟没有人喜欢被划在圈子里生活。
3、现代IDE的自动化程序很高,这是它之所以叫IDE的原因,成于斯败于斯,因为这直接导致开发人员对自已代码的无知与不可控,很多干几年的程序员甚至不知IDE是如何生成最终程序的,如果IDE有问题只好干瞪眼了,久了形成了对特定IDE的依赖症。对IDE对自已代码究竟作了什么一无所知。在开发过程中,开发人员缺少全盘掌控的豪情感。
4、现代IDE版本众多,各干各的,各走各的路,不同IDE之间的交流勾通有障碍。试想一个anjuta项目交给一个VC程序员继续进行,会很容易吗?
5、现代主流IDE基本上都是商业版,有版权限制,不开源;这就会造成软件被停止开发,最终软件从市场消失的命运,但这些对习惯某一类IDE的开发人员来说是很大的打击,就像当年的borland程序员被迫转到VC下一样痛苦。


但vim/emacs却没有以上问题:
1、vim/emacs有很多年的发展历史,稳定性与高效性不容怀疑。
2、vim/emacs以手工打造,手工操控为主,起步难,但一步一个脚印,最终走下来的人就会对软件开发到最终结束的过程全盘掌控,对自已的代码更是了然于胸,那种掌控一切的豪情绝非IDE可比。打个比喻,真正的摄影师是采用人工机械照像机而不是那个傻瓜照像机,道理一样,就是为了自已可以掌控。
3、vim/emacs是多平台的软件,无论在windows下,还是linux下,你都可以采用自已一致的操作习惯,你在windows下的项目几乎可以不加修改的拿到linux下继续进行。项目的交流与参与都不受影响,试想如果有人拿个mfc程序找一个linux开发人员合作,会不会很可笑。
4、体积小巧,通过自已手工配置与搭建出来的vim/emacs,其功能都是自已所需要的,所习惯的,没有一点垃圾在里面,自已对这些工具了然于胸,得心应手,不好吗?体积小,方便携带,我甚至打包出来放在U盘中,随身携带,走到哪里都是自已的环境,这才叫爽。
5、对机器的要求低,几乎所有的老爷机都能跑起来,这才叫方便,体贴。
6、vim/emacs都是开放源代码的自由软件,不用担心它的版权以及未来的发展。你20岁用它,如果不错的话,到你60岁时几乎还会用它,人用习惯了没谁愿意换来换去。
也许你所的对,但是效率问题?用IDE,鼠标拖动几个控件,自动排列组合一下位置和大小,设定一下参数,然后放下一个按钮,双击按钮自动进入代码编辑状态,写几句代码,一个程序产生了!然后按快捷键(f9之类的),编译代码简单的很,效率又高,特别是访问数据库的程序。

还有,你说ide开发不可控,我也不认可,IDE在纠错和程序调试上比VIM强好多,编的程序可以逐行运行,可以跟踪内存变化,可以改写内存变量值用于测试特例,编译出来的程序是相当稳健的。
回复