19

记者 / 谭茂

杨叙云计算是计算产业的新兴方向,我们需要从计算产业大的发展趋势和应用环境来看待云计算。根据 “互联计算”愿景,未来将有越来越多的用户、设备和内容连接至互联网,人们希望在设备间轻松创建互通、一致性应用,实现无所不在的个性化互联网体验。这一切需要数据中心能提供更高效、更智能的基础架构和计算能力。如果我们没有一种更节能、可扩展性更高、更为经济高效的方法来应对这种计算的增长,当前的计算基础设施很快便会达到运行极限。

英特尔相信云计算模式是正确的解决途径,将推动的下一次根本性变革。云计算的目标是要让企业或机构灵活调配自身的计算、网络和存储资源,将它们作为服务分享给用户—— “调配”和 “分享”是这个目标中的两个关键词,但前提是要求企业的所有IT设备、应用等资源能够相互兼容、互操作,能够透明、高效地加以管理,并前所未有地将它们融入一个虚拟的资源池中。

在英特尔看来,云计算的未来有几个核心要素,首先是需要一个 “互通”(federated)的云,能够允许企业在私有云和公共云之间共享数据;其次是一个 “自动化”(automated)的云计算网络,能自动地帮助不同的应用和资源安全运行,从而显著提高数据中心的能耗表现;再有就是一个 “客户端自适应”(client-aware)的云,能智能感知PC 和各种终端设备的计算需求,自动决定哪种应用、命令和处理应该在云上,抑或是在您的笔记本、智能手机及其它设备上进行,全面优化在线计算体验。

《程序员》12期精彩内容:十年

《程序员》杂志订阅

阅读:6,933 次
19

记者 / 谭茂

张亚勤互联网3.0时代有三个新的特征:一是虚拟和真实世界的融合,二是越来越移动化,三是需要一个引擎和中枢神经,也就是将云计算作为一个平台。

云计算有很多机遇,相对于桌面互联网,移动互联网的市场潜力是5~10倍于桌面。移动可能是云计算上最好的一个应用,不管是架构还是服务,它都能很好的匹配。其次的机会在于媒体的云,特别是视频内容,目前视频信息已经占到整个互联网的80%,而且信息量很大,对系统要求也很高,不管是延时还是质量。目前基于视频的商业云已经出现,信息云、搜索、地图、位置已经是主流。

从产业发展来看,云计算给大家带来的挑战和机遇在于全新的数据模型和编程模式。云和端的互动,特别是自然用户界面都面临新的突破。在云里,数据密集型和计算密集型是现在要解决的一个大问题,有的架构适用于海量数据处理,有的对计算很有效,有的是二者都需要,这时候需要均衡,因此架构是关键。

在将来五年中,微软会把全球80%的资源都放到云计算,微软全球差不多10万人,有5万人在做研发,也就是说未来有4万人会从事云计算方面的研究、开发和产品,可以说微软未来的发展全部押注在云计算上面。

但是我们必须看到,云计算虽然创造了很多机会,却带来了巨大的责任、隐私安全,也包括标准的问题:云计算的关键资源是数据,是智能和结构化,是从海量数据到变成有用的信息,最后变成一个角色支持的过程;云计算强化了人与人、人和物以及和专业社区之间的互动,所以会有更多垂直特征的云;再有,云不是孤立的,需要更智能的设备,云也需要端,需要PC、手机,也需要汽车,也需要电器,需要有传感器,有更自然的,更人性的,更直接的用户的界面。物联网其实是互联网一个最新的应用,但如果物联网没有物,没有端,那是无法存在的;还有,云计算中云和服务器之间的关系,是相得益彰,相辅相成的,将来会有一个更新的智能服务的架构。

《程序员》12期精彩内容:十年

《程序员》杂志订阅

阅读:11,516 次
19

记者 / 谭茂

姚宏宇云计算相当于信息社会的工业化革命,工业革命带来两个很重要的变革,一是生产力的极大提高,二是社会所有的人获取产品的成本和手段变得非常便宜、简单,它提供了巨大的能力,能够让以前一些不敢想的事变得可能。同样,云计算带来巨大的计算和数据处理能力,让信息产生和获取的成本变得更低廉。从这个意义上讲,云计算是信息社会的工业化革命。

在基础架构方面,随着虚拟化的计算资源可被动态分享,并作为一种服务模式被访问使用。这意味着无论个人、还是企业,都可以更加专注于自身的兴趣和业务,而将复杂的设备配置和管理等事物交由“云”的服务商来处理,他们只是按需来获得并使用计算资源。

软件产业也将发生根本性的变化,特别是基于互联网的软件企业。由于用户需求和IT技术发展很快,传统软件动辄数年的开发周期很难适应这一变化,往往造成骑虎难下的局面,而互联网的应用开发“船小好调头”。

传统软件企业的开发模式是先找到一个算法,然后实现这个算法做成产品,交给市场部门去卖。而不管是Google还是Yahoo,他们目前提供的都是服务,而非产品。这些互联网服务特别是云计算服务是建立在大型分布式系统之上的,它的规模随时可能增加,因此是个活的系统,很多时候经验要比算法和架构来得更重要,因为很多问题在应用没有达到一定的规模前是不会出现的。比如,人们常常能看到这样
的现象,传统平台软件企业可能数百乃至数千人历时数年、花费数十亿美元去开发一款软件,而互联网上的热门应用可能只是几个人写出来的。因此说,在云时代里,中国的企业完全有机会利用云计算的相关技术,创造出很好的产品和商业模式。

但是另一方面,云计算并不是万能的,不管是MapReduce还是BigTable,它们能解决的仅仅是某一方面的问题。

首先来说,云计算要解决分拆和聚拢的问题,比如某些科学计算并不适合用云计算。其次,带宽永远是它的瓶颈,再宽也不够,都可能用掉,而且带宽成本非常之高。最后就是技术问题、标准问题、法律问题。云计算现在还处于非常早期的阶段,从技术上,比如说分布式数据库,有一个很大的难题解决不了,就是事务在分布式云计算情况下如何管理,我觉得现在还没有人能解决,从标准上、法律上,还有很多问题需要大家共同努力。

《程序员》12期精彩内容:十年

《程序员》杂志订阅

阅读:7,322 次
19

记者 / 付江

潘加宇

领域建模变得尤为重要

未来,软件公司将越来越专注于一个领域,甚至逐渐成为行业组织里的一个部门。这就要求软件要在深度上进一步挖掘,如果不能够高效地整理核心域的知识(也就是核心竞争力),只会象狗熊掰棒子,掰一个丢一个。一款软件的内部涉及到多个
领域的知识,对某个特定组织来说,这些知识的稳定性是不一样的,见下图:知识各自能活几年

越来越多的平台也对领域建模提出了更高的要求。如果要做一个像《植物大战僵尸》那样的游戏,开发团队可能需要用C#/WinForm做一个
Windows的, Objective-C做一个iPhone/iPad的,JavaScript做一个网页的,Python/GTK做一个 Linux的……如果领域逻辑不能清晰整理,而是散落在各个地方,开发和维护就相当艰难。

抽象级别的提升

市场竞争使得软件的复杂度不断增加,而我们用来开发软件的最终依靠的是人脑,容量和处理速度是有限的,无法换CPU,加内存。只能把人脑需要直接编辑的介质(即所谓源代码)的抽象程度再提升,使人脑越来越集中于只有人脑才能做的事情,计算机能做的事情尽量交给计算机去做。这几十年“源代码”的变化就体现了这个趋势,最开始,“源代码”是机器语言,后来变成汇编语言、高级语言、面向对象语言……下一步的抽象是什么?目前的编码过程中,有些代码成分并不需要人脑的思考,如果这一部分能用机器取代,软件公司可以省下很多人力物力,这也是模型驱动开发的吸引力所在。核心域和非核心域之间的映射规律即使不能完全通过器来封装,也可以通过编写适合项目特点的映射案例,由开发人员举一反三,按照既定套路来映射,也减少了在不必要的细节上浪费的时间。

不管如何,软件复杂度(或者说,参加市场竞争所需要的复杂度)还是会走在开发工具和方法的前面,“没有银弹”依然成立。所幸的是,我们也不需要银弹,因为敌人不是人狼,而是对面街上的竞争对手。

《程序员》12期精彩内容:十年

《程序员》杂志订阅

阅读:8,004 次
19

记者 / 付江

刘新生显然市场是影响人们工作的一个前提条件。客户会如何看软件、用软件、部署软件,这些都在快速发生变化。今天,在企业应用领域,软件正从管理辅助向企业运营支持过渡。这一点必将要求开发方式发生根本性的变化。无疑企业建模将是一个软件开发的热点,伴随着BPM形成一种企业应用开发的主体模式。

当然计算能力会随着硬件发展而发展,但是计算的方法则需要更进一步去学习和掌握。无疑并行计算会是一种手段,但是其技术更多的表现在编译器层次,而不是编程语言和方法层面。让一个程序员考虑到几千个并行的计算流水线如何协作绝不是一个明智的事情,这一切应该是操作系统和编译器优化所负责的。

在软件开发的组织方式。最近几年,越来越多的人认识到软件开发不是搬砖头,人越多越好。如同人月神话里面说的手术团队会越来越成为大家追求的目标。但是如何组成这样的团队,如何判断一个团队是不是这种精锐团队,就是一个大问题了。而精锐化的必然后果,一定是组织的紧密化和团队的小型化。那种一个项目有几千的工程师共同开发完成将被认为是一种弱智领导的体系。而进一步来说,这种小型化的团队,之所以有强大的开发能力,则完全是建立在其知识积累的高度可复用性上。

而对于开发工具,必将支持云计算模式,而商业IDE是一个方向,更多职业程序员会根据自己的情况逐步的以某种类似今天的vi和Emacs这样的基础框架组装成自己喜欢的IDE。

十年后的软件测试强度将比今天大很多,覆盖率也更加大。但是我并不认为,测试人员会更多。特别是如果测试理论真的会出现,那么测试的从业人员将会大规模减少,当然程序员的数量根据前面的说法也会减少很多。

《程序员》12期精彩内容:十年

《程序员》杂志订阅

阅读:7,573 次
19

记者 / 付江

吴穹看看目前的热点词汇:云计算、移动、物联网,可以构想这些热点所指向的场景:一个由具备强大计算能力的互联互通的异构设备所构成的海洋,即基于互联网的弥漫计算。

在过去十年中,有的企业在为这样一个海洋提供互联互通的管道,诸如华为、爱立信和思科;有的企业在提供海量服务,诸如Google,百度,淘宝等等。而在未来十年,一些企业的重点将是提供各种不同的互联网接入设备。人们将看到更多不同的异化设备:电话已被异化成iPhone,书本已被异化成iPad,下一个产品有可能是iCar。同时,通信和服务也需要不断升级,以应对更多的接入设备和更高的带宽要求。

中间件技术在过去十年的发展,使提供海量服务成为可能。人们应该注意到,互联网企业往往可以用更小的团队更快地开发产品,而电信企业则不能,这就是中间件的作用。因此,在互联网领域,除了在性能和可靠性领域继续加强之外,中间件将会进一步提高抽象层次,深入各个领域,伴随其发展,业务人员将可以利用非编程的方式来交付业务(目前的一个热点是DSL)。同时,我估计在通信和接入设备领域也会看到更多中间件的身影。

测试一直是软件开发的短板,而未来十年是测试大发展的十年,从测试技术到测试工具,都会得到大的发展。基于接口的自动化验收测试和自动化的开发者测试是大势所趋。不会编程的测试人员将越来越难以找到合适的工作。

未来的软件开发需要在不同的平台上、针对不同的目标以及用不同的语言来开发,没有一个厂家的产品能够满足所有需求。我们需要的是一个异构松耦合的工程集成框架,可以将不同工具端到端的集成起来,这将是软件工程工具的未来。

《程序员》12期精彩内容:十年

《程序员》杂志订阅

阅读:8,244 次
19

记者/付江

徐昊

架构

在过去的十年里,互联网逐渐成为人类历史上所构建的最大规模,最复杂的应用。数以亿计的应用通过互联网交互和整合以支持同样数以亿计的用户使用。然而十年来广大开发者和架构师往往会忽略这样一个事实,整个互联网架构在一组极简单的概念之上:  a. Web是一组资源的集合,每个资源有独立且唯一的标识  b. 资源可以有不同的表现形式和状态  c. 资源通过HTTP和开放的文本格式进行整合

只要合理的应用这些概念,绝大多数商业应用都可以获得类似容量和扩展性。基于这一想法的技术和实现随着Web本身的发展日趋成熟,而这一切都明确的指向一个方向:Web除了可以是一个应用的发布渠道。它本身也可看着一种架构模式或者开发平台得到应用。这就是Web as a Platform。

在过去的几年里,越来越多的企业(Google,Amazon)开始应用这一概念,替代一些曾经流行一时的基于HTTP的整合技术(比如SOAP,Web Service),ThoughtWorks也曾经在很多企业级应用里用到(这种技术),使用这样的模型来代替传统需要Web Service甚至BizTalk这样的重量级产品的方案,都取得了非常不错的效果(无论是架构上,还是商业上的投资回报率)。我相信,在未来十年里,这种架构模型将会成为主流模式得到推广和应用。

数据

如果讨论过去30年在商用程序领域最重要的发明,非数据库莫属。然而在过去的十年里数据技术并不那么风光,从架构和业务的角度上讲,随着SOA、BPM等概念的流行,人们一度把视线的重点从数据转移到了业务流程。从开发领域来看,从以数据库为核心的开发,逐渐过渡到以应用程序服务器、中间件为核心的开发方式。但是有种种迹象表明,数据技术又回来了(注意我没有说数据库)。

从业务上讲,越来越多的企业意识到,流程是不稳定的易变的,而数据是稳定的。对于流程的治理,最终还是对于数据的治理。从技术上讲,经过这许多年的发展,我们有了更好的工具和技巧,可以帮助我们更好的处理与数据相关的逻辑和流程。同时我们对于数据也有了更好的认识,当人们应用Web as a Platform的概念之后,会猛然发现。我们已经把应用从过程和服务转为数据,把应用系统转化为数据系统。

但是,在数据整合和交换领域一直存在的问题──语义壁垒,会再一次成为人们关注的焦点。而以RDFa带代表的,更亲近Web的,也更轻量的语义技术,将会被应用于解决这类问题。ThoughtWorks将会在最近公开我们自己对于这个问题的理解和方案──Responsible Open Data(ROD)。我无法预测ROD是否会在未来十年内成为主流,但是ROD试图解决的问题,在未来十年内会成为行业内的焦点。

语言

最近几年,Java的发展逐渐放慢了脚步,甚至从主流编程语言来看,Java是最保守和落后的。个人意见,Java语言本身比C#语言要落后至少5年。但是衡量一个语言是否成功,并不仅仅是语言本身可以决定。除了语言外,还有类库,和运行平台。从后两者而言,JVM(尽管Oracle最近种种举动实在非常令人失望)以及围绕着JVM的开源社区所贡献的类库,依旧具有无可估量的价值。因此,JVM越来越被当作一个具有丰富类库支撑的通用平台,而不仅仅是Java语言的运行平台。在下个十年里,我们会越来越多的看到,应用JVM而不使用Java的情
况。一开始可能是JRubyRDFa、Groovy等等。逐渐会过渡到Scala、Clojure等更好的语言。而对于.Ne而言,F#一定会得到极大的推广。毕竟,在主流平台上,F#是最好的函数式语言实现之一(如果限定在.Net平台上,则没有之一)。

开发方法

在未来,敏捷方法还会持续得到关注,并被更广泛的采用。但是,需要提醒一点的是,敏捷方法族实际上倡导的是一种文化而非特定的过程或者实践。任何把敏捷简单粗暴地过程化的倾向,都是应该避免的。此外,认证/考核是毁掉任何文化最好的工具。前车之鉴就是CMM从一种理论上的改进模型(CMM理论模型本身是相当精益的,目的在于持续改进)沦为一种过程模型和认证工具。如果当今已然产生的敏捷认证(比如Scrum认证)之风不止,我甚至可以说,敏捷可能在10年彻底消亡。

《程序员》12期精彩内容:十年

《程序员》杂志订阅

阅读:17,319 次
19

李德毅院士:云计算将颠覆软件产业格局

概要:李院士就云计算产生的大背景,以及与此相关的计算资源虚拟化、云计算标准、云安全三个热点展开深入探讨。李院士认为云计算的未来有两个趋势:第一是在移动互联网上的云计算将来得更快;第二,云计算的推进方式会是
从服务到互联网再到物联网。

链接:http://www.programmer.com.cn/3556/

Linux之父Linus Torvalds:C++一无是处

概要:Linus Torvalds认为C++想解决的问题不对路,都是一些皮毛,没有涉及真正深层次的问题。C++的对象、模板和函数重载基本上纯粹是C的语法扩展,反而把C的语法和类型系统弄得更糟。他建议,在系统编程里直接用C就可以了,非系统编程里,应该选择一种有垃圾收集的语言,C++的特性基本无用,只会捣乱。

链接:http://news.csdn.net/a/20100612/218785.html

悼念一个伟大的公司——Sun

概要:2010年1月21日,甲骨文以70亿美元收购Sun的交易获得欧盟批准,这意味着全球第二大商用软件提供商甲骨文正式进入硬件产业。在规模达170亿美元的高端计算机服务器市场,Sun曾是市场的领先者。然而从这天起,这个技术领袖辈出、曾经创造了众多神作的伟大公司,离开了我们。

链接:http://news.csdn.net/a/20100122/216640.html

Google受攻击技术细节曝光

概要:引述McAfee公司的话说,(攻击Google)黑客使用了前所未有的技术,组合了加密、隐秘编程技术和IE中的未知漏洞,意图窃取Google、Adobe和其他大公司的源代码。业内资深专家表示,除国防工业以外,从未见过商业公司遭受过如此复杂程度的攻击。

链接:http://news.csdn.net/a/20100115/216509.html

组图:2010年30个最佳iPhone应用

概要:iPhone应用已经发展成为一个拥有50亿下载量和10亿美元产值的产业,苹果App Store里的应用也已超过20万款。然而,走遍App Store,你会发现大多数软件都已经出现,而且至少被创新过两次。各种复制品琳琅满目,使高质量的应用更难吸引消费者的注意。本文向大家推荐了今年发布的30款最好iPhone应用。

链接:http://mobile.csdn.net/a/20100809/277934.html

程序员能力矩阵,你属于哪一层?

概要:以图表的形式对程序员的能力矩阵进行了分级,从包括计算机科学(数据结构、算法、编程体系)、软件工程、程序设计、经验值、学识力等多角度考察,共分为四个层次,每个层次的知识都是渐增的,即层次n也蕴涵了所有低于层次n的知识。

链接:http://news.csdn.net/a/20100322/217537.html
只有10%程序员能正确实现二分查找算法

概要:作者在贝尔实验室和IBM考察员工的时候,都出过这道考题,那些专业的程序员有几个小时的时间,可以用他们选择的语言把二分查找写出来,高级伪代码也行。考试结束后,几乎所有程序员都认为自己写对了。但是,经过半个钟头测试用例的验证,结果是90%的程序员写的程序中都有Bug。

链接:http://news.csdn.net/a/20100423/218099.html

360 VS QQ:一场精心策划的西安事变

概要:作者将公司比喻成国家,公司之间的竞争也类似战争,国外网站曾经有一幅描述微软帝国的作战形势图就是例证。这次360和QQ之争,在中国软件互联网史上,是一场不折不扣的超级大战。对这场战争的分析是:一场精心策划的西安事变。

链接:http://news.csdn.net/a/20101105/281495.html

IT蚁族:蜗居和逃离

概要:北京蚁族群体在大学里的专业五花八门,从事的工作类型也不尽相同,但大多数都与IT产业有关联,要么身在IT类公司,要么从事IT类的技术工作。到底是什么吸引着蚁族甘心蜗居在IT产业中?蚁族真实的生活状态又是怎样?

链接:http://news.csdn.net/a/20100316/217473.html

江民科技创始人王江民因病去世,享年59岁

概要:他是中国最具特色的程序员创富典型之一,38岁开始学习计算机,两三年之内成为中国最出色的反病毒专家之一,45岁只身一人独闯中关村办公司。这些事实已经让业界无法忽视王江民对中国软件开发带来的影响力。尽管现在KV系列产品中早已没有了一行他的代码,但毋庸置疑,KV系列让众多的程序员知道了王江民。而他身残志坚的毅力和品质也让很多程序员面对困难和挫折时,从中得到鼓舞。

链接:http://news.csdn.net/a/20100405/217737.html

《程序员》01期精彩内容:成功产品三要素

《程序员》订阅

阅读:9,382 次
17
bonus casino src=”http://www.programmer.com.cn/wp-content/uploads/2011/01/SAP芮祥麟-1.JPG” alt=”SAP芮祥麟 1″ width=”200″ height=”248″ />

芮祥麟 SAP全球高级副总裁、SAP中国研究院总裁

我和员工交流的时候,经常被问到有关如何顺利地从一名技术人才转变为管理骨干的问题。提问的人原本都是工程师出身的技术人才,但随着职位的不断提升,工作中又增加了不少管理职责,甚至因为工作的需要,他们需要转型为全职管理人员。他们渴望了解这个问题的答案。作为一个“过来人”,我将借此机会与读者分享一些自己对该问题的观察和思考。

管理人才的来源

SAP同许多其他的企业一样,都面临着管理人才稀缺的挑战。管理人才从哪里来?对于一个科技公司而言,一个重要的来源就是自身企业的技术人才。作为从公司内部培养起来的管理者,他们对企业产品和技术理解深刻,这使他们具有一些难能可贵的技术优势。同时,他们又熟悉公司环境并积累了内外部的资源,拥有更多的人际关系和沟通渠道,包括合作伙伴、媒体、政府关系。因此,许多科技企业的管理人才都是从技术岗位培养起来的。

然而,这不是说技术人才都适合做管理,或者说技术人才需要一些因素的促使,才能实现向管理人才的成功转型。这些因素可以大致分为两类:一类是诸如个人专长、能力的主观因素;另一类是诸如企业文化、人才培养体系等制度上的客观因素。这两类因素很大程度上决定了一个技术人才能否成功地转变为管理人才。

阅读全文 »

标签:
阅读:25,333 次
14

记者/李琼艳

编者按:父亲是童话大王,儿子最早却与IT结缘。只有小学学历,却当上了报社的技术部主任,并成功劝说父亲改用电脑写作。现在他是北京皮皮鲁总动员文化科技有限公司CEO,对技术人才有着独到的见解。

说服父亲接受新技术

记者:听说童话大王郑渊洁当初改用电脑写作,是您的功劳?

郑亚旗:我爸爸没用电脑时,一天最多能写一两万字。当时一张纸写四百字,每天写一两万字,导致他的手磨出很厚的茧子。于是我便建议他用电脑。那时候电脑的文字输入法还是拼音,爸爸借口打拼音很麻烦,不愿意尝试。我便建议他可以用写日记的方式尝试一下。我对他说:“每个笔画怎么写的那个过程,就是你打字想拼音的过程。你用十个笔画写完,跟敲50个字母是一样的。”

于是他开始用电脑了,现在已经一天能写八万字。我还推荐他注册网站,博客以及微博。在新浪开博客的时候,他很犹豫,因为这种写作方式是没有报酬的。他来向我咨询,我说就当是自己的私人媒体好了,于是他就开了博客。

而等到开微博的时候,他又开始犹豫,嫌140个字太少,不能清楚地表达他的思想。我便告诉他,微博的好处在于随时都可以用,现在连奥巴马都写微博。于是他才尝试用微博,而现在他对这些几乎都痴迷了,有一次他居然凌晨4点就起来写博客。他的博客对很多读者的思想影响是很大的。

阅读全文 »

阅读:24,215 次
preload preload preload
京ICP备06065162