当前位置:首页 > 技术学院 > 技术前线
[导读]上位机编程软件的选择

上位机编程软件的选择对众多初学者来说,绝对是一个难以决策的事情。在作为一种编程工具的意义上,我们认为各个软件如:CB(C++Builder) 和VC(VisualC++)没有什么本质的区别。就像Word2000 和WPS2000 在本质都是字处理软件一样,对于语言就象我们都用中文在Word2000 和WPS2000 写文章表达我们思想。CB和VC都是用C++。其它软件都有相同或不同的语言。如VB用的是Basic语言,Delphi用的Pascal语言。

由于应用不同的领域,所以选择的条件也不同。如果你主要是从上位机传传参数设置,显示一些简单的状态,而以下位机控制为主,则所侧重于快速上手应用,而不需要去深入研究。当然还要考虑从你熟悉的语言相结合。下位机编程一般用C语言和汇编,当然你也可能用其它语言。如果你仅会这两种,那么上位机就考虑和其差不多的C或C++来编写。如果你也会其它的语言,当然选择范围更广一些。由于C对界面操作上的复杂化,所以我们一般不会用C来写一界面类的东西。接下来进一步缩小了选择范围,所以只有VC和CB比较适合了。

对于此两款软件历来争议较大。VC有大量的教材和实例程序,还有微软的支持;而CB虽然有良好的界面组件,但相关资料确实很少,你到任意一家书店,很难找到几本象样的教材,有的剩至根本没有,有的只是N多年前对帮助文件翻译过来东西,而VC最少有一架或几架的各类书藉。这是让初学CB最为头大的事情,不过现在还好,由于互联网的强大,和广大CB爱好者的热心。网络上CB的资料已经很多了。

通过上面的分析我们可以作出一些考虑,如果以下位机为主可以选择CB,以上位机为主可以选择VC或CB。当然仅作参考,还一句话没有最好的软件,只有最适合你的软件。以下引用《C++ Builder教程》的节选:

但现在我们要从另外一个角度讨论C++ Builder 这个编程工具。这个角度就是“封装”——面向对象编程思想中的最重要也是最基础的概念。一个要学习编程的人,可能从C 开始学起。学C 时,我们没有接触那些挺玄的概念,到了C++,一切就来了,什么面向对象,什么封装、继承、多态……于是我们兴奋起来,努力去理解、掌握,运用这些概念所代表的技术,在掌握这些别人暂时未能理解的概念之后而颇有成就感……。

现在我要问的是,为什么要有这些概念?这些技术?正确回答这个问题,不仅有助于我们今后对编程语言各种概念的学习,而且它能让我们避免成为新技术的奴隶,这一切也许听起来有些形而上,不过我想通过以下讨论,至少可以回答一个很现实的问题:为什么要选C++Builder?而不是我们更常听的VC?这是我碰到的编程初学者较疑惑的问题之一。

如果人类长有翅膀,那么飞机大抵永远不会被发明。飞机的发明,是为了弥补人类自已不能飞翔的缺陷。不能说所有的技术都是这样,但C++对于C 的发展,完全是为弥补程序员脑力的不足。一个在校生在学会C 后,往往并没有机会用C 去实践一个大中型的项目,体会不到在一个庞大软件工程中,非面向对象语言的短处,所以在之后学习C++的过程中,也就很难真正体会到面向对象语言的长处。简短一点说:不知道C 的短处,就不懂C++的长处。相反,倒是很快就发现C++的缺点:它的代码效率多数情况下都要比C 低不少。

前面我们说过低级语言与高级语言的对比,C++语言也正是从语法结构和语言功能上来限定或实现一门编程语言更加接近人在现实生活中的思维习惯,从而达到减轻人的记忆和判断上的负担。这其中最佳的方法之一就是所谓的“封装”。

VC 的封装类库称为MFC,它是一种很低阶的封装,它并没有按照人类的思维习惯来重新组织和解释Windows 对象(指Windows 编程中所需的数据,处理,机制,接口), 而纯粹是API 一对一的翻版。这样的封装工作带来代码封装所固有的代码效率降低的副作用,却没有给使用者带来任何方便。如果你是编程初学者,而你身边又有VC 高手,那么你一定要多多向他学习请教,因为一个真正的VC 编程高手,其同时一定也是一个深刻理解Windows 内核机制(消息循环,内存管理,多任务实现,资源使用等),熟悉Windows各种常用API 函数等等的高手。

C++Builder 对封装库称为VCL(带VC 字样,可别以为它是Visual C++,其实它是:Visual Component Library,即:可视控件库)。

VC 的MFC 和CB 的VCL 都是基于(但不限于)对Windows API(应用程序接口函数)的封装,为什么要对API 进行封装?这就是回到了我们前面说过的,为什么有了C 又会有C++的问题。因为操作系统是用C 和汇编写成的,它获得到操作系统必须的代码效率,但对应用程序开发者而言,它失去了易用性。所以微软和Borland 都使用高级语言对之进行封装工作。二者谁进行得更好呢?

要想成为Windows 编程高手,最终一定要绕过各种封装,理解Windows 对象。但作为一个初学者,我们必须挑选一个好的封装。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭