我也来说说多核
驳多核无用论
究竟普通开发者是否需要面对多核,这个问题在很多地方都在讨论。很多人都认为不需要,这样说是基于过去几年的经验,认为目前的一般应用单核高速CPU已经足以应付,今后也没有新的重要应用驱动我们使用多核CPU,多核CPU要么是厂商狗急跳墙,要么是仅供科研计算,谢绝参观。。。。
看完Myan的这篇,我也来说说:
说多核无用的人就是幼稚的表现,和幼稚的小P孩没有什么好争的时间会证明一切,就现在的这点计算机软硬件水平,跟科幻小说里的未来相比,简直就是个算盘。
计算机出现到现在,不过是五,六十年的事情,简直连初级阶段都算不上。发展的空间长远着呐。
以我的大胆预测,五年之后,8-16核心的CPU将会大量使用,一般机器都会配置10G的内存,现在的笔记本电脑将全逐步替代台式机成为常用配置,而工作出差的电脑,将被现在的类PDA设备取代。
微软将会推出Windows2010,这将会是一个真正的多任务操作系统。PC机上的操作和互联网上的操作将会变得基本一致,作为一个用户,你很难分出你是在操作互联网的数据还是本机。
再补充一点,5年之后,硬盘技术将会象原来的软盘一样逐步被淘汰,因为它太慢而且不安全,100倍硬盘速度的Flash存储技术取而代之,内存和外存将不会有太大的差别,HD-DVD成为标准配置。CRT技术成为历史。
而这些硬件的变化都会大大改变软件的编程模型:从我和一些朋友的交流来看,未来五年后的软件模型会是个什么样子呢?
大家有一个共识,就是软件开发会分化,就象互联网的发展造就是界面设计和应用编码一样,未来的一些技术的突破将会让编程进一步的分化,成为应用程序设计师及开发人员两大类。
那么我就来大胆说说我的预测:
硬件多核化将会让多线程前所未有的变的重要,软件的性能,更多的由多线程设计的好坏来决定。
存储技术的大幅提高,内存的增大及O/R Mapping技术的发展,对大多数应用来说,数据层的优化将变得不很重要,对数据层的编程甚至可能是可视化的。
很可能会出现标准的面象对象的查询语言。
网络的发展和本机的界限变得模糊,互联网的编程和本机变得有一致性,SOA之类的技术就会变得普遍。
网络安全将面临重大考验,不得不使用法律来解决问题。
工作流技术成为标准,一般编程人员不需要再考虑这个问题。
Html结构的数据会被结构化的XML数据替代,互联网的查询将变得和数据库的查询一样简单。再大胆一点,
甚至会出去标准的面象网络查询语言,看上去整个网络的数据就象在一个大的数据库里。
动态语言和静态语言将会结合,生下一种全功能的编程语言。