开发一个IDE难度多大?

问题补充:软件开发的快慢很大程度上依赖IDE的性能和所包含的功能,定制一款IDE得多久?

提问者:乔倩2017-04-03 22:25:53

查看全部 5 个回答

朱兆辉

2017-04-03 22:28:03

0 0

我觉得一个开发一个好一点的IDE,至少要包含这几个方面的难点要克服:
1. 代码和界面编辑器。语法高亮,代码缩进、智能感知之类的基本功能就不提了,源文件、引用类库文件、资源文件等等的组织和管理,代码重构、代码自动生成之类的玩意儿。如果有WYSIWYG功能的话,需要操心的东西就更多了,单开发一个功能完善的编辑器就不容易。
2. 编译器。如果从0开始构建编译器的话,本身就是一个浩大的工程,首先要研究语言标准,然后还要操心词法分析什么的,这方面我没什么了解,可以看看这方面的牛人的故事:Eric Lippert(C#编译器)、Anders Hejlsberg(之前Borland公司的大牛,Turbo Pascal编译器作者,后加入微软,Delphi和C#语言之父),要知道像C#这种语言规范还是微软家自己搞出来的,可能编译器相对容易开发一些,但是碰到C/C++这种标准更迭、一堆历史遗留问题的语言,开发编译器真不是普通人能干的事,当然,如果用现成的编译器也的话,难度就下降了很多,我就自己写过一个套用IL编译器的IL开发环境,自我感觉良好。
3. 调试器,这个如果要从0开始也是非常困难的事情,不过好在有操作系统帮忙,但是要整合到IDE中估计也不是什么轻松的事情。
4. 其他功能。诸如插件支持(这里安利一下VS下的两个牛逼插件:Wholetomato、Resharp)、代码混淆、版本控制、测试、发布部署,反正只要是和软件开发相关的事情,就可以放在IDE中。
5. 整合。既然是集成,就不能像那种简单的工具集一样拼凑堆砌在一起,各自为战。IDE能用一种统一的界面去组织这些功能,在IDE中集成完成编译、调试,并且能和源代码挂钩,这也是VS最吸引我的地方(个人觉得VS 2008的界面才是最好看的……)。

赞成功