<b>软件接口的历史和将来</b>[VC/C++编程]
本文“<b>软件接口的历史和将来</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
软件的将来其实在很大程度上要期望软件接口的前景若何.我们知道,计算机世界里的接口这两个字具有两种众所周知的含义:其一是指软件本身的狭义“接口”,比方各种软件开辟API等.其二则指的是人与软件之间的交互界面.我们把这种人-软件之间的接口称作“用户界面”,也就是“UI”.
这里要谈论的前一种定义: 软件差别部份之间的交互接口.普通就是所谓的API——利用程序编程接口,其表现的情势是源代码.API的创造和发展大大增长了计算机产业的进步,同时API几近决意着平常运算的各个方面.
大大都程序员秉持为软件用户计划优异的用户界面思惟,这一点早已深化人心.但是,另一方面,若何实现公道的软件API却只为少数人所器重.历史证明,全部在利用上获得成功的软件大概Web利用无一不是首先在API的计划上满意了用户的需求,即便这些用户几近从不直接利用这些API!
早在上个世纪的70年代,Digital Research公司的Gary Kildall为微型计算机创始了世界上第一个实用的软件API.这个初生的API大致上有20多个对操作系统的简单函数调用构成,这个操作系统就是CP/M——当时但是相当的简单和粗糙,而一样简单的API却让整个计算机世界发生了庞大改变.Kildall这个很有才能的计算机专家但愿自己计划的API能被其他科学工作者采取.至于商用方面的考虑但是想都没想.并且,我们目前的产业近况也证明:仅让科学家们俱欢颜是不会在商业中赚到一分钱的!好在,比尔·盖茨熟习到,用于利用程序开辟人员而不是科学家的API绝对是商业软件获得成功的关键之一,这样一来,情形就很不一样了.
随后由比尔·盖茨等开辟的MS-DOS操作系统全盘拷贝了CP/M及其API,并在这些API的底子之上又增添了一些简单特点,务实的比尔·盖茨将Kildall的创造变成了宏大的商业利用并立即让MS-DOS的API在软件开辟中占据了主导地位.
但是,当微软公司推出Windows操作系统的时刻,系统的宏大API族就没有拷贝Kildall的成果了,但是,事实证明这些微软自己折腾出来的Windows API实在是糟糕的可以:丑陋的代码、混乱的构造等等不一而足.但是,Windows采取了实用的伪多线程技术和高效的内存管理,分外是简单易用的图形界面立即俘获了普通用户的忠心.大量的程序员也就随之投入到Windows程序的开辟中来,这些糟糕的API自然当仁不让了.微软耗费了5年多的时间改良和发展早期的Windows并在终究垄断了环球桌面操作系统市场.本日我们谁也离不开Windows API了,除非你不打算编写支持Windows的软件!
1988年,微软购置了Alan Cooper开辟的可视编程语言:Ruby.随后微软把Ruby和垂死的QuickBASIC语言组合起来成立了Visual Basic.Alan Cooper方面的Ruby实现了名为VBX的软件API,这种API可以让程序员动态地扩大Visual Basic功效,这一事实再次证明了软件接口具有多大的重要性.VBX接口也就是目前炽热的组件对象模子COM的前身.
在为微软的势力之外,Unix世界也创造了自己的API,这就是TCP/IP,有了它,网络之间便可以安闲地通信了.TCP/IP首先在大学里得到了广泛的欢送,然后,到了20世纪90年代,Marc Andreessen对准那些不是程序员却很想从利用计算机得到好处的年青人推出了世界上第一个Web浏览器:Mosaic,后来在此底子上诞生了Netscape Navigator,可以说,恰是Web和浏览器的创造,我们终于被带到了信息时代.
最早的Navigator所能作的不外乎就是查找和显示文件,这和Macintosh Finder乃至Windows Explorer也没什么两样,但是,正因为有了TCP/IP API,Netscape 便可以放眼于本机之外查找和显示其他网络上的其他计算机中的文件.新世界豁然洞开.
整个90年代,Netscape就象流感病毒一样满世界处处散布.到了目前计算机之间在通用API的勤奋下可以非常便利地彼此通信,但几近没有一个用户会直接和这些TCP/IP接口交互.
假如没有优异的、符合时代潮流的API,什么先进的技术都大概会不得不孤单很长一段时间以等候命运的垂青.一旦成熟的API呈现,软件的前景也就可以大致看到表面了.
举个例子,不管是你身上的手机还是随身携带的PDA——比方PalmPilot,它们其实都是处理本领差别的计算机罢了,这两种设备都装备了短距无线(普通是红外线)通信端口.但是,它们若何才能通过这些端口实现彼此之间的通信呢?假如这些设备之间贫乏公用的API,你的手机就不大概和你的PDA实现通信.
此后会产生一种所谓的“陌生人服务”API,比方说,当你走在大街上的时刻,你的手持设备,不管是手机、PDA还是笔记本电脑大概车载导航设备就会自动地和四周设备通信,商店、办公室、售货机和其他人等等.
目前有几家公司已经在努力于开辟以上的通用API,此中最有但愿的大概是Sun公司的Jini.但是,Jini的定位和从前的CP/M一样,也是更多的把目标放在了计算机科学家而不是办理筹划服务商上.
我们本日的软件开辟很大一部份是开辟Web利用程序,驱动Web进步的是交互计划和商务情势而不是技术创新.从技术上说,Web范畴的大开辟商不会对Web本身发掘太多,他们贫乏编写大型、复杂程序的耐烦.但是,反过来,这些大型厂商可以把其他开辟商预先编写的软件组件组合起来,这样,他们就比以往更多地依靠于为其编写的软件API.
总而言之,不管我们计划什么API,最重要的是首先要弄懂得我们在为什么目标大概为谁在计划.这是一定要记得的关键点.只有在我们理解目标受众的需求之后,我们才大概成立有效的API,才能实现得当的用户接口,才能让差别人计划的差别软件部份杰出地集成.
以上是“<b>软件接口的历史和将来</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:若何安全终止线程
- ·下一篇文章:学习C++:实践者的办法
- ·中查找“<b>软件接口的历史和将来</b>”更多相关内容
- ·中查找“<b>软件接口的历史和将来</b>”更多相关内容