杂感 : 软件与建筑的异同

来源:互联网 发布:华晨汽车研究院知乎 编辑:程序博客网 时间:2024/06/11 18:43
杂感 : 软件与建筑的异同


想谈谈自己对软件的一点看法,尽管有人说不要一说软件,就扯到建筑上面去,
可是我我还是觉得他们两个之间有很多异曲同工之处,

在设计阶段两者差不多,都是设计比开发要时间长,
而且设计占有举足轻重的地位,如果设计错误,那末即使开发时用的材料再好,也没有用,
而且后期维护很艰难,想想如果你要在的房间里装一堵墙,那还好说点,可是如果你要拆一堵墙,
真的不是那末容易,更何况如果拆一堵的话,还没有什莫效果,往往要达到效果要拆好几面墙,
这莫拆来拆去的,到最后觉得还是重新盖一间屋子好了。

回顾软件发展的历程从面向过程到面向对象再到面向组件,个人感觉还是建筑的理论发展得快,
德国建筑业在20年前就开始了组件的应用,就像搭积木那样建楼房,可是你去德国看看觉得好像不是用这种组件建造的房子也到处都是啊,
那也就是这些都是些20年前的建筑了,不仅是20年前,好多房子都是几十年上百年的历史了,
不像中国,拆了又建,建了又拆,到处都是5年以内的新房子。

可是软件的组件理论是近几年才开始应用的,典型的就是j2ee了,个人认为它的那种分而治之的思想很好,
对于大的复杂的东西,只能这莫解决了,j2ee 当然也有缺点,就是想一个人学个什莫东西吧,想把环境弄好都不很容易。

不过软件和建筑最大的区别就在于,
建筑设计师不必当过泥瓦工,他们把房子做成模型,或是画成设计图纸或是现在的用
3D的动画给演示出来,都能达到很好的效果可是一个软件设计师绝对不能没写过几行代码,
原因是因为,建筑设计师是一层抽象,就是把在现实世界中存在的东西,抽象出来,
可是软件是两层抽象,软件本身是抽象的,即使是客户能很清楚地描述他们的需求,
软件设计师也不能确定这个软件会是个什莫样子,所以在抽象的基础上再进行抽象的设计,
这莫一来设计东西和最后的软件成品差别就很大,以至到后来软件说明书里面的大部分定义都成了一纸空文,
没有起到它原来的作用。

还有我觉得,因为软件这个行业很热门,以至于好多人都来学,然后有些人对它没有兴趣,而又不得不在干着,
当然,他们会越干越觉的难受,好多人发牢骚,什莫太累了, 加班加点,因为熬夜而不得抽烟喝浓茶喝咖啡,
我觉得这都是他们自己选择的结果,爱因斯坦曾说过一句话(听老师说的,没有自己证实过),最简单的方法是最好的解决办法,但是也不能过于简单,
说的意思就是什莫事情都有一种优美的解决办法,好多时候,人们凭着自己的惯性思维,已经对面对常见的情况几乎不加思考的做下去了。
其实我们自己是可以选择的,好多人会说,你不在我这个环境下,你不知道,我们有多辛苦,我只能说,也许。

还有就是建筑界有所谓的炒家,把房子炒的很高,软件行业也有,
我不是说不希望,厂家宣传他们的东西他们的技术,而是不喜欢那种,是非颠倒,打击对手,没有凭据的乱说话,
一方面误导一些没有这方面知识的人,一方面让人觉得乱哄哄的,好像做实事的没几个,都在那里哗众取宠,
不过台湾到有几个是出的书也多,人也挺有涵养的,而且他们共同的特点就是文学水平都很高,我想可能这也是学好
软件设计精髓的一个必要条件吧。

不过个人觉得对软件理解的越深入,对人生理解的也就越深入,可不是说年纪大了才对人生理解深入的。
而且个人觉得 那些专门做些木马,发给别人的人,如果是纯粹是出于个人的动机,真的可能心理上受过什莫打击

先写这莫多吧,等想到了在加

 
原创粉丝点击