计算机技术发展的一些随笔总结
(我们需要思考)
1.乘法与加法
从上计算机的第一课,老师就开始和我们说计算机的加法运算比乘法运算快得到,可能会快100倍,因为早期的计算机乘法都是转换成加法指令实现的,因此我们在程序设计时尽量不使用乘法,i*2,改为i+i等等。但是随着CPU的不断发展,乘法运算已经是CPU的内置指令,现在CPU加法运算也只是比乘法效率快3倍,所以我们不需要害怕做乘法了。
2.PC服务器与小型机
PC简称个人电脑,PC服务器一般指采用个人电脑的技术架构生产的服务器。小型机是60,70年代遗留的名词,因为那时大型机是主角,小型机是指相对大型机更轻量级的服务器,80年代开始小型机充当大量应用的核心服务器,如数据库服务器,中间件服务器等等。
从80年代开始,PC与小型机就不是一个档次的计算机,小型机具有高性能的运算能力,PC的能力不及小型机的1/100,随着PC的迅速发展,小型机的价格高高在上,PC服务器在90年代也开始有了应用,2000年以后PC服务器开始大量普及,10000元的PC服务器也开始出现,相比上百万的小型机,PC服务器的性价比决对超值。随着INTEL及AMD的CPU双核,三核,四核的出现,PC服务器与IBM,HP等小型机的性能进一步缩小,大量评测显示现在PC的四核CPU与IBM POWER6性能完全相当,小型机在性能上的优势已经完全失去。从现在来看,小型机最大的优势是稳定性及可扩展性,这些只是高端系统才会考虑,这方面同样受到PC分布式架构系统的挑战,因此也出现了现在大家看到的小型机的没落,逐渐变成了IT领域的奢侈品,只有有钱国企还在为小型机买单。
3.拼音与五笔
1983年王永民先生发明了五笔汉字输入法,被国内外专家评价为“其意义不亚于活字印刷术”的“五笔字型”,让国人看到了汉字输入的希望,经过多年的发展,90年代国内90%以上的用户汉字输入都使用五笔输入法,一时间也让人形成不会五笔就不会计算机一样的感觉,看到别人用拼音输入法就知道这是一个小菜鸟。用五笔输入法一般人可以比较轻松的一分钟打60字,专业打字员可以每分钟到150字以上,而那时的拼音输入法也有很多种,如普通拼音,双拼,模糊音等等,但是普通人一分钟只能达到30字左右,主要是因为拼音输入法重码率太高,选字消耗的时间太多。
2000年左右拼音输入法出现了新的生机,微软拼音,拼音之星,拼音加加,紫光拼音等输入法开始流行,主要原因是使用计算机的人越来越多,互联网的应用,五笔输入法的学习成本太高,所以很多人依然选择了拼音输入法,这时期的拼音输入法的词汇量非常多,所以词语或短语输入效率比较高,加上互联网的普及,词库更新更方便,所以拼音输入法的速率与五笔相差无几。
五笔输入法后来也推出了98版,虽然输入效率可以进一步提高,但是由于要重新记忆新的字根法则比较麻烦,所以很多人还是用老版的字根法则,当然也出现了一些新的流行软件,如陈桥五笔,极品五笔等,但是没有本质的格新。
2000年期间应该是五笔与拼音55开的局面,在这个特殊的时候也产生了智能混合输入法,就是会根据你的输入字母显示五笔码汉字和拼音码汉字,典型的代表是万能五笔,万能五笔因为这个特性也红级一时,现在也还有不少人在使用。
随着互联网的大量普及,拼音输入法在2007年左右迎来了新的春天,词库的进一步加大,在线自动词库更新,智能组词等特性,一般人用拼音输入法的效率已经与五笔输入法不相上下,零学习成本让新一代网民自然选择了拼音输入法,再也没有人鄙视你用拼音输入法。随着云输入法的应用,拼音输入法将会再有一次质的飞越,但五笔输入法依然只会被专业打字员相中。
4.串行与并行
并行与串行是一个永恒的话题,也许你会认为并行一定比串行快,但是实现上是什么样呢,在计算机系统里你可以看大量并行与串行的架构转变。
鼠标与键盘
键盘可以看作是并行输入,鼠标是串行输入,鼠标很早就有人设计出来了,但以前的计算机是没有鼠标的,因为图形界面才让鼠标派上用场。以前你会说没有鼠标没关系,但是现在发现鼠标已经是必备配件,触摸板也算是鼠标的一种吧。
硬盘串行与并行接口
10年以前,硬盘接口是并行一统天下,并行接口速率从8MB/s一路高歌猛进,但是到了133MB/s后发现举步维艰,由于并行接口的总线达到80根,随着传输速率的提高,传输过程中线路之间的干扰非常厉害。这时SATA(串行接口)硬盘开始登场,SATA1.0的速率就已经是1.5Gb/s,由串行接口没有传输信息号的干扰,3Gb/s,6Gb/s已经轻松实现,现在PC的并行接口的硬盘也基本淘汰,服务器SCSI也大量转向SAS硬盘。
CPU单核与多核
单核CPU经历了频率快速发展,在1G的时候出现了一个坎,经过架构调整后继续前进,终于发现到了4G以后前途暗淡,通过增加频率带来了更多稳定性与功耗问题。多核让CPU重新找到了暂时的方向,2核,3核,4核,到6核,8核,CPU终于从单核正式跨入了多核时代。
从上面可以看出,我们并不能简单的认为串行与并行谁更好,谁更快,每种技术都会有它的优缺点,当一样技术快要到达瓶颈时,我们需要考虑换一种思路来解决。不要太迷恋并行架构,什么网格计算,分布式架构,这些只是一种技术实现,而我们大部份项目真正需要的是解决实现问题,也许1台PC服务器就能全部搞定。
5.简单与复杂
SQL语言因为简单快速普及,JavaEE里乱七八糟的框架让初学者要崩溃,但是现在依然活力四射。Google的简易让Yahoo搜索应用一路千丈,Oracle数据库的复杂架构让其它数据库只能奋力追赶。iPhone因为她的简单美让无数人疯狂,一夜之间让微软和诺基亚从智能手机的领跑者变成追随者,微软一个Office软件你可能用了10年还只是用了五分之一的功能,以至于让其它办公软件难以超越。
如果有一个数据库不支持SQL语言,要查询一条数据需要写几十行代码才能实现,你会不会崩溃。如果有一个办公软件不支持表格,只能用下划线模拟,你会不会抓狂。
计算机技术日新月异,可以说复杂到极点,但是简单与复杂之间让设计者不得不深思,我们是在增加功能还是在折磨用户。