别碰我,VIM
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-01
能,可以进行编码,编译以及调试,但为什么它们合起来就不是VS?没有架构. 现在开源的开发模式说到底还是陈旧的开发模式.软件工程的概念已经提出来好几十年了,可是当你想深入了解某个开源软件,接着去下载其源代码的时候,会很悲哀地发现:你找不到任何对应的开发文档.所有能帮助你理解源代码的只是程序源代码中的注释. 假如你很牛,想要做一个Linux下比VS还强的IDE,要用到VIM、GCC和GDB,你要做哪方面的工作呢?以进行一次小小的开发为例吧.先不 管VIM中代码智能提示是怎么来的(至今我还不知道如何写好函数名后提示我参数列表),辛辛苦苦写好代码后,要编译是吧?假设编译出错了,GCC会提示你 哪里错了,还显示出一个行号提示是哪里的错误,错误是什么.想快速定位到错误的地方吗?不好意思,GCC说我是编译器这事不归我管,VIM是个编辑器,这 事归它管.可我总得知道是哪里错吧?谁给我这个定位的参数?GCC只能输出信息,它意识不到VIM的存在.这时候你得写个适配接口,将GCC的输出信息转 换一下,然后提交给VIM,VIM再跳转到出错的地方.当然这个VIM插件是有的,叫做quickfix. 诸如此类的问题很多,VIM、GCC和GDB是基本没什么关系的软件,要想使它们可以通信,你写一大堆的适配程序,写适配程序还得考虑VIM的 接口是怎样的,GCC的接口是怎样的,GDB的接口又是怎样的,这些你又得去学习.而在VS中,这是一个设计好了的架构,不同模块之间的接口是已经定义好 了的,它们之间传输的数据也是定义好了的,想要通信是吧?简简单单在内存传送一个变量过来就可以了.而在VIM GCC GDB的通信中,数据的传送是很麻烦的事情,有时候还要通过写入读出硬盘,很神奇吧? 没有架构,要写一大堆的适配器才能将它们集成起来,还有些是适配器做不了或者做得不够好的功能,譬如刚才所说的代码智能提示,的确是有 VIM插件可以做,但是如果你看过写C#时候VS的行云流水,就知道那些插件做得远远不够.这不是插件的问题,而是VIM GCC GDB们在该内聚的时 候没有内聚.当然这也不是它们的分内事,它们本来就不是打算做IDE的.这时候你还会觉得“一个程序只做一件事,并做好”是绝对好事吗? 知道了没有架构之后,你可能会想,要是有了架构,是不是就可以做出VS那样的IDE了?这还得考虑开源开发者的软件工程水平.就我看来,还是有许许 多多的开源开发者基本是没有软件工程概念的.在现实中,你可以要求一个开发者按照你的思路你的文档去开发,你掌握着他的薪酬.而在网络中,一则没有软 件工程开发观念,二则他们也不会去学习新的一门学科,各种各样的软件工程开发模式,咱做开源只是兴趣而已,此处不留爷,自有留爷处.你拿什么来管理这些不 想被束缚的开发者们呢? 除非,有架构,VIM和GCC和GDB按照架构去做,否则绝不会做出VS那样的IDE.可是几乎在一盘散沙各自为政的开源界,有可能吗?我断言,开源界不可能出现VS那样的重量级应用. |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Linux下编译安装Mysql数据库下一篇: DHCP服务器与NIS服务器
关于别碰我,VIM的所有评论