动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ C/C++教程 ]的信息



本月文章推荐
.用Delphi程序获取拨号连接的动态.
.取得系统中网卡MAC地址的三种方法.
.VC++ 6.0下对配置设置文件的存取.
.深度探索C++对象模型(5).
.精华:C++编程新手错误语录(续一).
.C++编程中的四个调试小技巧.
.c++面向对象的编程入门篇--类构造.
.一个简单的链表程序.
.Windows Sockets:字节排序.
.怎样用C语言编写一个DOS下的中断.
.开发 C++ Builder&nbs.
.在BCB中使用VCL控件数组.
.ASP.NET在线用户列表精确版——解.
.More Effective C++:自增和自减.
.C语言初学者入门讲座 第十六讲 文.
.C趣味编程百例(10).
.控制台窗口界面的编程控制(四).
.C语言中的面向对象(3)-类模拟的.
.C++批评系列:继承的本质.
.TCP/IP编程实现远程文件传输.

软件接口的历史和未来

发表日期:2008-3-8 |



  软件的未来其实在很大程度上要指望软件接口的前景如何。我们知道,计算机世界里的接口这两个字具有两种众所周知的含义:其一是指软件本身的狭义“接口”,比如各种软件开发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,才能实现恰当的用户接口,才能让不同人设计的不同软件部分良好地集成。

上一篇:如何在Win9x/2k下建立共享目录 人气:215
下一篇:软件编码规范 人气:289
浏览全部C/C++的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-8 ECShop v2.6.0 Build 20080707(G
2008-7-8 动网论坛PHP版 v2.0++ Build 080
2008-7-8 中国IT总舵 v9.0 UTF版
2008-7-8 凹丫丫新闻发布系统 v4.6 Build
2008-7-8 topview数据查询 v3.0
2008-7-8 Z-Blog v1.8 Spirit Build 80708
2008-7-8 Z-Blog v1.8 Spirit Build 80708
2008-7-8 凹丫丫新闻发布系统 v4.6 Build
2008-7-8 新动软万能网站内容管理cms系统
2008-7-5 AgileMessenger即时通讯工具 v1.
2008-7-5 GoodCalculator2.0版固件计算器
2008-7-5 RepoName源地址搜索工具 v1.21b
2008-7-5 AgileMessenger即时通讯工具 v1.
2008-7-5 TouchCopy多媒体管理软件 v3.13完
2008-7-5 VideosTone视频铃声 v1.1汉化破解
2008-7-5 TouchPad触摸板 v4.44破解版
2008-7-5 VideosTone破解补丁 v1.0
2008-7-5 Feeds GoogleReader客户端 v0.4.3


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報