`
noar
  • 浏览: 28137 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

好文章

阅读更多
今天看了两篇文章记忆犹新。

第一篇:《十年学会程序设计》

这篇文章看过后,深有体会。行万里路,读万卷书。的确如此,洋洋洒洒数十篇不如一行代码说的清楚,一定会有许多同学同意。程序员这个行业是非常注重“知行合一”的。真正能够转化为生产力的,正是在那一点一滴的积累当中留下的。凭空想去创造一些东西,不符合事物的发展规律。

最近一直在思考的是关于,脚本语言(如:python)如何跟系统级的语言(如:C/C++)结合起来,脚本语言最大的用处就是“胶水”的作用。胶水可以粘合层与层之间的缝隙——软件的分层处理用脚本来结合;也可以粘合块与块之间的缝隙——模块与模块之间的结合。这里面就涉及了如何切割软件结构的问题。软件系统横切则进行分层处理;竖切则分块进行处理。

用一种胶水语言来进行合并他们最好不过了,因为胶水语言能够进行快速的开发,抽象程度高,能够适合进行快速的逻辑层的开发。逻辑层的东西变动是经常的事情,因为软件的外部运行环境也是在变的,所以逻辑上自然发生变化。但是,逻辑层的变动往往是对软件“破坏性”最强的,因为原有的程序结构中,功能层和逻辑层的耦合度过高,导致牵一发而动全身。

我们总是在强调:高内聚,低耦合。可是为什么偏偏事与愿违呢?其中有一方面的因素是:语言层面上很容易就形成了高耦合效果,比如如果一个系统的逻辑层和功能层都用C/C++处理,则他们之间的交互的抽象程度就不会太高,因为任何一方对其内部的访问并不会收到语言上面的制约。如果采用C/C++和Python作为功能层和逻辑层的语言,语言上面造成的高耦合效果自然会降低很多。因为他们同心起来会不如C/C++那么的方便。

总之,要保证软件结构能够正确运行。保证正确运行的方法有两种:
1.要么简单到根本就发现不了BUG;
2.要么复杂到根本不能发现其中的BUG;

胶水语言和底层的逻辑语言组合显然是属于第一种的。


第二篇:《大褂还是内裤》

这篇文章是一篇关于项目管理中需求选择的文章。很有意思,具体的可以顺着链接链过去看看,推荐一下。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics