Aaron之无主题空间

皆主题,此谓无主题。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

遐(瞎)想软件的将来

Posted on 2005-12-08 17:40  Aaron  阅读(1698)  评论(13编辑  收藏  举报

【公司的网络一直有问题,所以很久没有发新随笔,也很忙。倒是平时心里头有一点想法就记下来,并不成文。每段之间并无必然顺承,也懒得整理了,大伙儿看看觉得有点共鸣咱击掌,觉得扯蛋您就只当没有。】

 

最近一段时间对于软件开发、软件工程的现状我的情绪基本上是悲观的。

 

就在当前这种大家对于如何将领域知识和计算机知识相结合、软件的开发过程究竟应该是什么样子的等问题仍在不停争论的情况下,你说,软件能做好吗?能的,应该是能的,不过只能看作个案,因为就整个软件行业来说,没有代表性也没有说服力。所以,所谓的软件行业目前只是处于一种萌芽状态罢了,说不定"软件行业"本身也只是某种将要产生的行业的前身、过渡阶段。

 

我想到这些就总在怀疑,大家都在靠搬弄代码、甚至每个字符都是程序员敲出来的,靠这玩意开发软件哪天才能达到真正所谓"软件生产"的程度呢?每个公司甚至每个项目组都在编写"用户管理""权限管理"功能,全世界究竟有多少人在做这样的同样的事情?有没有可能全世界所有软件项目的"用户管理""权限管理"全是由一家公司一个项目组来开发,就像一家公司专门生产螺母一样,那多壮观啊?这就是大家一直在提的构件化思想吧?可是为什么这一思想看起来那么美好,却迟迟没有什么实际成果呢?

 

我曾经跟很多人一样,把软件业的将来看成是现在的制造业,可是后来有些人大喝"不能把软件业简单的比喻成制造业",闻此言我象被人一耳光一样即刻刹住还觉得自己浅薄了,可是后来想想:为什么啊?为什么就不能拿来跟制造业、建筑业比啊?软件开发从设计、开发等过程跟它们很象啊。百思不得其解。

 

我一直觉得软件业以后的变革,这工具肯定是一个主要内容。谁他妈还让人一个字符一个字符的写代码谁就得滚蛋!你说上万行的代码要一个个敲出来跟现在那些老头子当初在纸带上打孔有什么区别?这工具背后的那种思想一定要很牛 B,具体什么思想不清楚,不知道是不是最近大家都在说的 MDA或者Software Factory 也不一定(我看都还玄)。

 

软件不应该这么值钱,软件业也不应该霸占这么多脑力劳动者。软件之所以昂贵是因为这个行业在浪费人力,比如象设计模式这种东西,是前辈整理出来,是好东西;可是,却需要几乎所有开发人员去学习、去应用(又是一大帮人在做同样的事情)。如果只是一个设计模式也就罢了,可是作为软件开发人员需要学习的东西太多了,而且很多都是需要每个人都要学,这他妈叫"重复",换种说法就是"浪费"。所以我就想,这肯定是一种不正常的状态,说明"软件业"处于不稳定的时期,大家都在寻找出路。我在想,这些东西、人们总结出来的,是不是都可以体现到工具里,这样开发者就只要了解怎么使用而不必所有人都去学习研究它了。

经常说自己沉湎于 code之乐的同仁可能对我要嗤之以鼻了,我知道那种感觉(coding )很美好。不过那确实是种生产力很低的、必定要被淘汰的开发方式。就像别人的汽车是生产线上下来的,而你的汽车是自个儿手工打造的,无论从效率、品质、性能方面来说,你的必定要被淘汰。(不要跟我举例说××车子都是手工打造的,我知道,但那是个案;不能所有汽车厂商都那样做吧?)

 

我所做的每个项目我最担心的都是:我的项目组做的是否真的就是客户心里想要的那个"软件"!我看到过很多项目就是一个人去客户那里谈了几次,整理个文档,然后大家过目,这就是需求,并且企图要客户"签字确认"!这种做法很明显:在扯蛋!但是事实上,我们看看身边是不是有很多项目组都是这样做的?(可能这两年少了)那边那哥们说了:那你倒说说应该怎么做啊?坦白说,要真让我说我就颤了,我最多说说加强沟通加强沟通,怎么加强见仁见智,没有通法。但是我一直有个大胆的猜想(一直没敢说出来):会不会以后的软件开发, 80%的工作量做领域研究, 20%的工作量做软件实现?因为我觉得领域研究由于各种新的业务领域的出现,所以这个时间永远不会缩短,而软件实现会由于架构、平台、工具的日趋完善稳定而逐渐缩短。具体怎么对待开发领域进行研究可能是软件业需要认真思考另一重要方面,如果这头不解决那么开发工具再强也只不过会生成一些和用户目标差之千里的"软件"来。