KEEP K.I.S.S.

tk's blog

I hate dotnet and ms

 

最近在看Unix 编程艺术,其实也是当休闲书籍看来着。
不过有很多感触,对于书里提出的很多原则和方法。
比如线程的问题。
 
    linux 里没有等同于windows下的源生线程的东西,使用的是轻量级用户进程。线程的问题在于,多线程之间共享了过多的东西,这种共享是硬性的,默认的,容易引发问题,典型的就是C库的全局变量冲突问题,所以win下有包装过的多线程C库和单线程C库。而多进程的模型中,进程彼此的C库是独立的,其他资源默认也会是独立的,不会互相冲突,对于需要共享的资源只要通过灵活的IPC机制传递或者共享文件描述符。线程间的资源是默认共享,而进程间的资源是默认独立的,前者暴露了太多细节。就并发性来说,两者应该没有太多性能上的区别,轻量级线程的切换和线程切换,性能上现在也差别不是很大了。
 
自己还是对.net 执有偏见,或者说有些抵触的态度,我的感觉是,MS 的开发链变迁真的让开发人员心憔力悴,虽然很多的windows开发者并没有这种感觉,也不会认可这种感觉。MS 我个人觉得苦逼的程序猿大多是win下吧,唉。Unix的简单哲学,KISS原则,真的很适合让自己去反省和深思的。
还有一些就是关于设计模式和Ruby了。虽然自己对于设计模式也是懂的很浅的,不过不应该把设计模式的思想仅仅拘泥在面向对象的语言中,再进一步说,不应该把设计模式的一些思想拘泥在面向对象之中,这是从这本书里感悟到的。
 
虽然从emacs奔向了vim,但是最终还是镇守在ruby这边,没有逃向python。原因感觉也不清楚。相对来说,我不喜欢那种极度严谨的感觉。国内的ruby 真的不活跃。仅有的活跃地方应该是 Ror 和 RGSS了,我也是个初学者,也需要努力的。