纯粹的设计是语言独立的, 而语言只是支撑设计的工具(或者叫平台),不同的语言有不同的特性,所以不同语言所适合的应用领域是不同的(不同的领域会有不同的设计特点)。比如在人工智能里,最常用的是函数式语言LISP,再比如单继承的Java会较C++某些方面更欠缺些,因为一些设计模式完全是基于多继承的,具体可以参考MCD。其实若干时间前十年陈酿就跟我们讲过这个问题,但是今天才真正切身体会到。
p.s. 今天在工作中和同事遇到一个signed/unsigned移位运算bug,后来考虑到会不会是unsigned/signed值移位后计算机会有不同的解释(具体也没有搞清),将signed强制转换为unsigned,解决。问题虽不大,但这个如此隐蔽如此简单却又如此深奥,以至于用到了大一时唐硕飞教授的计组课内容,心里还是蛮开心的,学以致用了,呵呵~看来学校的基础教育是相当重要的~