【IT168技术分析评论】
作为软件从业人员,如果你去问他们1年之后的软件什么样子,或许他会和你讨论,这个语言,那个框架,哪个更流行,哪个更好用;3年之后的软件呢,或许他又会和你侃SOA,SAAS,云计算等等当下流行的概念和趋势;那么10年之后呢?(WebOS?)20年之后呢?甚至100年之后呢?
或许有人马上发出异议:“哥们,没事吧?”“洗洗睡吧”之类。
的确,软件行业是一个充满了变数和奇迹的地方,今天你是一方霸主,明天或许已经老态龙钟;今天他或许已是暮气沉沉,明天或许又焕发出来第二春。。。 类似的例子很多,不一而足。只要一个看似不经意的决定,或许就改变了许多东西。
其实内在还是有一定的规律性的东西。
比如,一个很重要的概念就是“需求”。当今的诸多软件工程理论都把需求列在了一个很重要的位置,无论是瀑布模型,敏捷开发,CMMI等。“需求”就是根本。很难想象,一个没有需求的软件产品会得到开发和应用。无论是人类发现并使用了火,还是我们的“四大发明”,抑或当今的汽车飞机,哪一个不是需求的产物。正因为人类有了这方面的需要,所以才会开动脑筋,这些需求的产物才会诞生。软件自然也不能“免俗”。
那对于我们来说,要想知道20年,甚至100年之后的软件长什么样,就得从我们自己的身上寻找答案。我希望的软件是什么样?(希望看到这篇博文的朋友也考虑考虑这个问题,也欢迎参与讨论。)
可以想见,在未来的某个时刻(或许20年之后吧),由于硬件和数据库等技术的发展,我们对于当前网站头等重要的大事――性能问题已经不再关注,一台普通的计算机或者一个普通的计算机集群就可以很好的满足我们的需求。可能吗,当然!还是因为“需求”。就算到时地球有100亿的人口,每天使用计算机做了100件事情,也就是每天1万亿条记录,还会再多吗?不会了,至少地球人不会了,再多的话,还让不让人活了,不用休息啦!所以,这每天万亿级别的数据存贮查询,就是一个地球人对计算机需求的天花板。这里我相信我们软件工程师的集体智慧,终有实现的一天。(作为其中的一员,我也希望其中有我的一份力量。)
抛开了硬件和性能的禁锢,你希望未来的软件是什么样子的呢?
这里抛砖引玉一下,我描述一下我的一种看法:比如我是一个小制造公司的老板,由于业务发展的需要,我想买一套符合我公司自己流程的管理软件。于是我来到了“SIF 软件快餐公司”,和机器人sales描述了我的需要,机器人sales“SIF一代”马上将我的需求整理,并提示我有一个类似的软件套餐可以选择(该套餐马上可以使用),我一看,基本可以,同时又提出了2个需要的功能,“SIF一代”告诉我,这2个功能公司中心库中也有,不过需要等候30分钟,我说没有问题,OK。于是,半小时后,我满意的走出了“SIF 软件快餐公司”。或许未来的某一天,这变得很寻常。
在这里我也提出一个概念――未来软件(Software In Future),就是通过目前已知的信息,分析未来若干年后软件需求的一种方法。所谓“人无远虑,必有近忧”,相信如果我们能够把握未来软件的大方向,这对于业界的公司,国家,乃至整个人类发展还是有积极意义的。希望有更多软件开发人员能够参与SIF讨论,提出想法和见解,能够为它添砖加瓦!
对于前文《未来软件是什么样子?》一文的讨论还是比较热烈的,这符合我的初衷。因为我发表在博客园这里,就是希望能够得到大家的反馈。没想到【博客园】的人气还是很旺的,可喜可贺!(令我想起了【宽带山】,呵呵!)
许多道理可以越辩越明,通过讨论,经常可以启发你的灵感。即使是相左的意见,也常常会启发你的思考。中国人经常难容相左的意见,其实很大程度上抑制了我们的创新能力。
观点1
网友:小猪凯
好像bill也曾经说过程序员用400K的内存就足够大了,可是现在呢?(有网友指出应该为640K)
我的观点:
我不知盖茨是何时说的这话,或许是DOS时代吧。针对DOS系统或许他的话没有错。这也是当时他的局限性吧,可能当时他没有意识到的东西太多。所以一定程度上“小猪凯”网友的观点是对的。
又比如CPU硬件行业的摩尔定律,在90年代和21世纪的前2年,基本还是遵循这个准则的,之后出现了较大的背离。
可能CPU行业发生了技术上的较大的瓶颈,但我始终觉得客户的需求是主因,即是客户的需求首先到达的瓶颈。一个1.7GHz主频的CPU已经可以满足我的所有需求了,包括Office,浏览器,企业管理系统,财务系统。。。那我为什么还要去追求17GHz呢。
而硬件厂商为了利润的最大话,也不会倾尽全力来开发新技术,因为即使开发出来了也不会有很多人为之买单,于是反而在材质上下功夫,希冀使用更低廉的材质达到同等的性能。
(硬件我是外行,请硬件高手拍砖。不过应该有那么点意思吧)
对应我文中的“每天万亿级别的数据存贮”的例子也是一样,许多事务都有发展期,平稳期,我想需求也一样,在互联网的大发展时代,网络性能的需求极为强烈,一旦到某个节点,能够满足地球上人类的所有网络需求之后,我想这些需求的瓶颈,自然而然的会演变成为网络性能需求的平稳期。从而等待下一轮的激发点。
我想盖茨的上述观点多半是基于DOS的平稳期发表的,当下一轮激发点windows时代来临时,显然不合适了。而我的观点是针对网络性能的平稳期而言的。
我们不要总是追逐所谓的永恒真理,许多人类的认识的所谓真理仅仅是针对某个阶段或某个领域。所以我们才需要不断的探索,拓宽自己的视野。人类的文明才会不断前进。
好比牛顿晚年转向神学,也有其历史原因,当自己的认识,用自己公认的理论,无法解释的时候,转向唯心或许也是必然。但他的理论还是成为了普遍的真理。
关于《未来软件是什么样子?》一文的讨论(2)
继续讨论网友的评论。
有网友说到:
SAAS,软件即服务。
软件会变成一个一个的块,接口定义的非常好。
所以,只需要向不同公司注册不同的服务,然后找一个继承服务商提供集成就可以。
软件不再买,而是租。比如上网,每月付一定费用即可。
---------------
我回答到:
这种模式最大的问题就是,我的宝贵数据,我凭什么要放在你这里呢!
又有网友“随心所欲”跟贴道:
未来的时候,数据安全应该已经不是问题了----你吃得麦当劳里面的鸡肉非得存在你家里么?
并且,我最大的看法是,现在一家一户一个服务器的情况在未来不会出现:无论是硬件维护还是网络安全,数据备份等等都是很低效的。将来必然会出现更多大型专门处理数据的公司。
首先谢谢大家的回复。
这里涉及到一个数据存储问题和数据安全问题。
现在业界热炒的云计算和SAAS,我持部分保留的态度。理由还是那一句“我的宝贵数据,凭什么要放在你这里呢!”,作为服务商,你又如何保持它的安全呢?一旦发生问题,造成我的损失,你服务商如何赔偿。
不可否认,“将来必然会出现更多大型专门处理数据的公司。”这一观点我表示认同,当前的许多地图供应商已经提供了数据服务,开放了OpenAPI,可以预见的将来,此类公司会越来越多。
但是你有没有发现,此类公司的数据都不是敏感数据。实在很难想像银行,电信部门会使用云计算;国家安全局会使用云计算;甚至商业巨头公司,如海尔公司会使用云计算。把自己的客户,现金流,物流信息,采购信息,订货信息放心的让第三方公司管理。
即使是未来的相关商业制度完善了,网络安全过关了,能够防住外贼(黑客)了,那么家贼呢,对于开发人员来说,读取你点数据并非难事吧!
再退一步来说,家贼也防住了,安全没有问题了,云计算的模式也成功建立了。但是想过没有,万一遇上“5.12”那样的天灾,怎么办!?如果这家云计算公司正好在四川,同时几乎完全被震毁,而它又运行着全国30%以上的软件服务系统。本来是四川一省的灾难,结果扩大到全国三分之一的地区,这是多么恐怖的事情。
知道恐龙为什么会灭亡吗?它们过于庞大是主因,虽然它们看上去很强壮!
所以如同“生物的多样性”一样,软件也应该保持一定的多样性。
当然“云计算”还是有很大发展空间的,淘宝网等网站的成功,促使了它的发展。但心不要太黑,一心想吃成个大胖子,小心消化不良。