《华山论剑 — 将来软件开发的语言和工具.docx》由会员分享,可在线阅读,更多相关《华山论剑 — 将来软件开发的语言和工具.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、华山论剑将来软件开发的语言和工具yangliu导语:自计算机问世以来其应用领域不断扩大,相关产业迅速开展,软件市场的蓬勃开展各种编程语言也孕育而生,到目前为止,编程语言已开展到第四阶段,开发工具更是层出不穷。前言:自计算机问世以来其应用领域不断扩大,相关产业迅速开展,软件市场的蓬勃开展各种编程语言也孕育而生,到目前为止,编程语言已开展到第四阶段,开发工具更是层出不穷。“攻欲善其事必先利其器,这是众所周知的道理。一件好的“利器,就使让我们的工作事半功倍。如今主流的开发语言和开发工具包罗万象,一时间很难把握,那么就让我们从当前社会的主要编程语言,编程工具出发,回首一下开展经过,历史环境及他们当今所
2、主要涉及的领域等几个方面,从中展望将来的开展趋势。编程语言及开发工具的开展史第一代编程语言:机器语言。一种很古老的语言。对象很简单就是“0和“1。相对应的编程工具是纸带和打孔器。由于计算机多为8位,16位,32位和64位,每次处理一个字节。原理也很简单,1的位就打孔,0的位保存。利用光学原理,遮光为0,透光为1。根据定义位置获得指令和操纵数。这种语言比拟古老,这里不做表述。第二代编程语言:汇编语言。和机器语言一样,也是面向机器的语言,利用计算机所有硬件特性并能直接控制硬件的语言。优点是可以直接操纵计算机硬件,速度快。缺点那么是太难理解,所以除非本人所写,且不好维护。不过这里写出的程序是半成品,
3、需要手动汇编成目的文件再连接成中间文件,最后才能生成可执行文件。第三代编程语言:面向经过的编程语言。刚刚问世时叫高级语言,意思为比更接近人的语言。Basic,Fortran,Cobol,C,Pascal等等真正叫做高级语言的原因是它们已有属于自己的编译系统、开发包等,要执行必须通过编译器才行。相比于机器语言和汇编语言,这次是以人类逻辑思维角度出发设计的计算机语言,抽象程度大大进步,模块化思想的引入使得程序更加明晰。可它的缺点是非常难讲述,由于它就是基于面向经过的思想创立,所以自然不具备面向对象的特点。第四代编程语言:面向对象的编程语言。这就是当前主流的开发语言。如C+、Java等。它的几个特点
4、为:1封装性,是基于平安考虑。2继承性,是基于扩展处理。3多态性,更多考虑到灵敏性和重用性。第四代语言的开发工具种类丰富。MicroSoft公司的VS系列有多种VCC+,VBBasic,VJJava,VFFoxBase,还有基于DotNet平台的C#最新VS2020还推出F#等等。如日中天的Java开发工具也很多,下文将根据软件开发将来的开展趋势谈到相关的一局部。以上是四代的编程语言简述,对于第五代编程语言,有很多人提出想法,不过到目前为止还没有任何一个方案能脱颖而出,笑傲群雄。主流编程语言及工具主要涉及的领域到今天,机器语言早已绝迹于江湖,成为古老的传讲。汇编语言和C语言根本统治操纵系统内核
5、、工业控制、实时系统等领域。近些年在世面上较火的Linux系统下主要用的就是C语言,C+不仅支持面向对象的编程,也支持面向经过的构造程序设计。目前在通讯、网络、图形、图像、多媒体平台等领域上风比拟明显。在这些领域通常都有很高的性能要求,C+有较高执行效率汇编和C的执行效率更高但实在难以实现,再加上开发商在开发包方面的重点“照顾,而使其它语言在算法精度较高的编程方面不能望其项背。曾经有句非常经典的老话:“真正的程序员用VC,聪明的程序员用Delphi。粗略一看好似这句话有问题,VC是编程工具,而Delphi是编程语言,其实不然。在Delphi1到Delphi7是用ObjectPascal语言,到
6、Delphi8以后才改叫Delphi语言,这与平时听到人们讲“我会VC完全是两回事。VC是编程工具,斧头是伐木工具,假如你由于会伐木就讲,“我会斧头就贻笑大方了,正常的讲法应该是“我会用VC。delphi当初虽是Borland公司研发,但在Windows上的大多数编程方面,比VS包括VC更轻易上手,与WinAPI连接更严密,使用者更轻易实现预定的目的,而且更轻易做更漂亮的界面。如今大名鼎鼎的QQ最初就是delphi开发,2001年后才逐渐改为VC开发,常用的迅雷也有很多是delphi的版本。简而言之,05年以前但凡VC做到的,delphi同样能做得到甚至更好,随着Borland公司希望把更多精
7、力投入在新看好的应用程序生命周期治理(ALM)业务上,Delphi目前的编程工具属于IDE业务的传奇之路也走到尽头。95年以后互联网的大跃进,B/S构造越来越受到人们的推宠。APS,PHP,Java一时间各路英豪各显伸手。将来编程语言和工具开展趋势将来编程语言和工具的开展趋势大至取决于三个方面,第一,将来计算机网络工作框架及工作形式;第二,当前开发工具对开发语言的支持程度与硬件开展;第三,各种语言的本身的生命力和活力。20年后的计算机网络,我们都知道将会进入到“云计算时代。“云计算是大量的网络计算机为我们提供计算机所需的各种效劳,而非本地计算机。只需一个阅读器,甚至不需要操纵系统,一切工作都通
8、过网络来实现。如今“云计算已经开场试探性进入我们的生活。做为“云计算的先锋,可以用到一些在线的工具系统,比方,在线办公、在线电视、在线翻译,其中很多内容都基于“云计算形式,尽管还不完善,但也初具规模。不完善是由于在线工作的效劳器处理才能不够,网络带宽不够或者算法不佳导致的流量分配不公道等,在这里扮演最主要角色的还是效劳器的处理才能。如今的高端和大型效劳器几乎都被IBM和SUN公司“垄断。SUN是Java之父,对Java庇护倍至,而IBM更是用一半的气力把其相所有关代码用Java重新编写,并且用另一半的气力在推广Java。不要疑心Java的开发前景,Java在将来必定是与大型效劳器贴合的最严密、
9、兼容性、有效性最好的语言,Eclipse也将成最火的编程工具。其实如今Java已经在各种编程语言使用量中排名第一,最近10年中更是9年排名榜首,仅2005年一次失手屈居第二。Java统治互联网是必然趋势,但Python在将来桌面程序扮演重要角色也绝对不能讲成是意外。Python具有非常简捷而明晰的语法特点,合适完成各种高层任务,几乎可以在所有的操纵系统中运行。更重要的一点是,Python本身的设计理念“Thereshouldbeone-andpreferablyonlyone-obviouswaytodoit,译成汉语就是对于一个特定的问题,只要有一种明显、最好完美的方法来解决就可以。这个设计
10、理念本身很符合将来开发团队的胃口。假如不用Python来编写一个软件工程只有概设,没有详设,那最后由工程师写出来的程序很可能是五花八门个性化实足,就算编程人员有很好的开发素养,编码风格统一,也不能保证使用的方法一样,这样程序晋级和维护就很受人员限制且效率低下。但假如你使用Python就完全不一样,Python是一种代表简单主义思想的语言。浏览一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一,它使你可以专注于解决问题而不是去搞明白语言本身。Python号称“胶水语言他可以很轻松的把用其他语言制作的各种模块尤其是C/C+轻
11、松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型有时甚至是程序的最终界面,然后对其中有十分要求的局部,用更适宜的语言改写,比方3D游戏中的图形渲染模块速度要求非常高,就可以用C+重写。Python是最早的基于互联网的在线开发语言,Google在推出在线office之后,就把在线Python推给网友,在Google的背景支持下Python肯定会很有前景。一种编语言能不能广泛的推广,很大一局部原因取决于它的开发工具好不好用;一种语言开发的软件能不能大量使用,那么取决于它的开发包支持的够不够好。C+曾经的状元,在92年VC1.0问世创始可视化编程后,98年VC6.0到达巅峰。
12、除了MicroSoft在02年发布基于WinXP的SDK以后,就根本没有大的动作。VC7,VC8,VC9都只是在编程界面上下的功夫,开发包也没有过多增加。2006年底Vista上市,可支持相关的开发包直到08年VS2020的SP1补丁包中才发布。最近版的VS2020测试版在09年Win7闪亮登场后,终于千呼万唤始出来。这次对VC10在开发工具上确实有不少改良,对C+语法也增加不少支持。VC10增加生成调用树的功能,可以把有层次的调用关系树型表示出来,使程序人员对逻辑构造更加明晰。VC10新加一机多配显示器的功能,并配合程序内部即用即生成的功能,在新增的对函数的模糊查找功能,据讲还增强智能感悟功
13、能,可以高亮引用。C+的上风在于效率,归根到底还是由于它是编译型语言,产生的代码将有很多工作在存放器中执行。而Java的是解释型语言,大多代码执行都要入栈,由于存放器是在CPU中,它的访问速度比内存访问速度快好几个数目级。计算PC机的芯片大多都是registercomputer型如Intel,AMD,所以Java目前的执行速度没方法与C+相比。之所以如今的嵌入式领域Java比C+流行,就是由于大多数嵌入式芯片都是stackcomputer型。那你会问,为什么不都采用registercomputer型的芯片呢?原因不言自明,为了跨平台跨CPU,如今我们用是双核芯片,但在本机线程都不能跨CPU,何
14、谈“云计算云计算本质就是分布式计算。既然高端大型效劳器都被IBM和SUN“垄断。那CPU的开展又何去何从呢?当C+不再拥有速率上风的时候,是不是有人会讲“廉颇老矣呢。近年来C+的使用量大大下降,要不是与C语言天然的裙带关系,要不是开源的程序在支撑门面,恐怕光靠VC,C+早就江河日下。评论一个事物有没有生命力,就要看它当前的开展程度和将来的开展趋势。Java是由C+中的一流高手设计出来的语言,天然性的摒弃一些C+中不妥不平安不稳定的机制,反射机制又使Java如虎添翼。Java的开源框架资料随处可见,WebLogic,TomCat也都开源可寻,可C+的框架却很少。ACE固然知名但能拿到源码吗?只能
15、配置。经常会有人问可不可以写个C+版的Hibernate给C+程序员来用,连数据库也不能跨平台。每次提到Hibernate,我不仅联想到风马牛不相及的词汇:哈勃定律。哈勃定律是天文学上的定律,是指所有的星系之间有相互远离的趋势,而且远离的速度越来越大,以此来证实宇宙不断膨胀。Java和C+是不是也像软件行业中的两颗行星呢?活力对于任何开发语言来都是永久的话题,有没有活力就要看是否与世界上最热门的技术的严密联络,以及有多少人在关心它。Java已经在3G、数字电视等多个领域都有所建树。Java拥有世界上最多的软件工程师,看看大街小巷各种软件培训的传单,就能看出来人们对这门开发语言有多么关心。综上所述,在将来的20年中汇编和C仍然会在操纵系统内核、工业控制、实时系统等领域独树一职,Java在互联网上称王,Python会成为团队开发新的尊者,C+那么在目前涉及领域继续发挥余热并与Python成为好伙伴。篇后语:Java本身是以C+为根底设计,包括Eclipse的好多版本也是用VC来写,假如C+真的不能在将来软件市场王者归来,那会不会是命运的安排?至于Python做为黑客教学的语言,成为将来开发团队标准的开发语言。是不是上天成心开下的一个玩笑?!一切都让我们拭目以待。0
限制150内