当前位置: 技术问答>linux和unix
再问 LINUX 下集成开发环境的建立
来源: 互联网 发布时间:2015-10-19
本文导语: 同一贴出现在 http://community.csdn.net/Expert/TopicView3.asp?id=4200362 请勿重复回贴,谢谢! 最近我又再开始关注 LINUX 下的软件开发问题,才发现其乱象比十年前并没有好多少。对于习惯了使用 Visu...
同一贴出现在
http://community.csdn.net/Expert/TopicView3.asp?id=4200362
请勿重复回贴,谢谢!
最近我又再开始关注 LINUX 下的软件开发问题,才发现其乱象比十年前并没有好多少。对于习惯了使用 Visual Studio 或者 C++ Builder/Delphi 这样的集成开发环境的软件开发者来说,要求构造一个相当的开发环境几乎可以说是一项不堪忍受的任务。
我也找到了两本介绍这方面问题的国内出版的书,它们虽然也提及了两条构建的路线,但其条理性确实不敢恭维,更是与前述之 WINDOWS 下开发的诸多书籍无法相提并论;即使像我这样对软件开发并不太陌生的人,读了之后也无多少所得;不知道一些初学者或学生,在这类资料的帮助下多长时间以后才能进行接近 WINDOWS 下开发效率的软件开发?
有鉴于此,特开此贴以待有识之士。只要有一人讲清一种方法(请兼顾一下国内现在常见的像 redhat redflag turbolinux等系统),我马上结贴重开新贴,因为有一阵子没到CSDN了,我已累积了太多的分。当然如果你愿意著文专门介绍,那就更好了,我想 LINUX 社区的人们会非常欢迎。
http://community.csdn.net/Expert/TopicView3.asp?id=4200362
请勿重复回贴,谢谢!
最近我又再开始关注 LINUX 下的软件开发问题,才发现其乱象比十年前并没有好多少。对于习惯了使用 Visual Studio 或者 C++ Builder/Delphi 这样的集成开发环境的软件开发者来说,要求构造一个相当的开发环境几乎可以说是一项不堪忍受的任务。
我也找到了两本介绍这方面问题的国内出版的书,它们虽然也提及了两条构建的路线,但其条理性确实不敢恭维,更是与前述之 WINDOWS 下开发的诸多书籍无法相提并论;即使像我这样对软件开发并不太陌生的人,读了之后也无多少所得;不知道一些初学者或学生,在这类资料的帮助下多长时间以后才能进行接近 WINDOWS 下开发效率的软件开发?
有鉴于此,特开此贴以待有识之士。只要有一人讲清一种方法(请兼顾一下国内现在常见的像 redhat redflag turbolinux等系统),我马上结贴重开新贴,因为有一阵子没到CSDN了,我已累积了太多的分。当然如果你愿意著文专门介绍,那就更好了,我想 LINUX 社区的人们会非常欢迎。
|
在我看来,LINUX下基本上很难形成一个好的IDE环境,原因有以下几点:
1、LINUX由无数的开源库组成,每一块都由单独的组织维护,这一点就从根本上使其成为一个很分散的环境,很难集成到一块;
2、所谓集成性不好,其实主要不是开发环境不好,主要是支持软件包和文档集成性不好。LINUX文档通常都是MAN和HTML的格式,MAN的相互关联能力极差,对很经典的UNIX/LINUX库,似乎也没有人原因再从新整理文档,这个是历史遗留原因;HTML虽说相对关联能力很强了,但还很难达到MSDN那样便于SEARCH和索引的状态;
3、LINUX虽说有REDHAT这样的集成商来做整个系统的集成,但要把所以开发包都汇总成一个集中的形式如MSDN那样,似乎没有人能做得到;
4、LINUX的文档没有形成可以集成在一块的标准,就是有了要大家都尊从这个标准也是一个难事,说到标准,谁都想在里面成为主角,功利性太强;
5、LINUX的系统,内核,库发布太过频繁,但向下兼容性又比较难保证,造成系统长期处于一种升级的状态,对其稳定性产生很大的影响,我在FC2上开发的一个东西,换到FC3上就有点小问题了,不得不从新编译,结果在编译中发现,有好几个库出现BUG,不得不修正。
总的说来,我认为LINUX最重要的是解决文档集成的问题,至于编辑器,KDEVELOP我觉得已经比较满意了。
1、LINUX由无数的开源库组成,每一块都由单独的组织维护,这一点就从根本上使其成为一个很分散的环境,很难集成到一块;
2、所谓集成性不好,其实主要不是开发环境不好,主要是支持软件包和文档集成性不好。LINUX文档通常都是MAN和HTML的格式,MAN的相互关联能力极差,对很经典的UNIX/LINUX库,似乎也没有人原因再从新整理文档,这个是历史遗留原因;HTML虽说相对关联能力很强了,但还很难达到MSDN那样便于SEARCH和索引的状态;
3、LINUX虽说有REDHAT这样的集成商来做整个系统的集成,但要把所以开发包都汇总成一个集中的形式如MSDN那样,似乎没有人能做得到;
4、LINUX的文档没有形成可以集成在一块的标准,就是有了要大家都尊从这个标准也是一个难事,说到标准,谁都想在里面成为主角,功利性太强;
5、LINUX的系统,内核,库发布太过频繁,但向下兼容性又比较难保证,造成系统长期处于一种升级的状态,对其稳定性产生很大的影响,我在FC2上开发的一个东西,换到FC3上就有点小问题了,不得不从新编译,结果在编译中发现,有好几个库出现BUG,不得不修正。
总的说来,我认为LINUX最重要的是解决文档集成的问题,至于编辑器,KDEVELOP我觉得已经比较满意了。
|
我来说一种好了,就是emacs。
1、从开始学习使用到基本能满足需要的时间没有那么想像中那么长,只用了大概3个月
2、不要沉浸于图形界面,基本上运行在linux的字符模式下就可以了。
3、emacs命令足够多,要有心理准备,但都可以map到相应的键盘操作,用多了就像盲打一样,完全是条件反射
下面说说我使用到的所有特性:
1、tags:就是查找原型、定义
2、CVS
3、语法高亮
4、compile和debug
5、寻求帮助(man和info)
6、编辑时的块隐藏、which-function、行列号、缩进、注释...
上述操作都可以通过键盘操作来完成,这些操作可以自己定义
1、从开始学习使用到基本能满足需要的时间没有那么想像中那么长,只用了大概3个月
2、不要沉浸于图形界面,基本上运行在linux的字符模式下就可以了。
3、emacs命令足够多,要有心理准备,但都可以map到相应的键盘操作,用多了就像盲打一样,完全是条件反射
下面说说我使用到的所有特性:
1、tags:就是查找原型、定义
2、CVS
3、语法高亮
4、compile和debug
5、寻求帮助(man和info)
6、编辑时的块隐藏、which-function、行列号、缩进、注释...
上述操作都可以通过键盘操作来完成,这些操作可以自己定义
|
qt->kdevelop
gtk->anjuta
gtk->anjuta
|
在linux下,通常使用java、php或perl来开发一些Web站点,使用的开发工具可以是jbuilder(直接安装即可),或像lynux(阿奔) 介绍的emacs,以及其它一些文本开发工具。
但集成开发环境除了Jbuilder和kylix,好像还不多
但集成开发环境除了Jbuilder和kylix,好像还不多
|
需要商业化
|
emacs要是能看到类图,像vc那样,有工程、有工作区概念,那就爽了。
|
看你开发什么东西?
|
对于原来是windows的程序员, 你可以
继续使用VC来写程序, 如果不涉及到平台相关的东西, 先在windows上编译, 基本通用的
建立一个cvs服务器, checkout 后编译. 很好
继续使用VC来写程序, 如果不涉及到平台相关的东西, 先在windows上编译, 基本通用的
建立一个cvs服务器, checkout 后编译. 很好
|
FC4的Gnome里带了一个devhelp(A developer's help browser for GNOME 2)
emacs+ecb确实还是能够做一些事的。
emacs+ecb确实还是能够做一些事的。