技术中沉思的时候最快乐,问题得到完美解决的时候最有成就感!
分类: LINUX
2013-01-22 16:00:37
呃,一个多月一直在学python,好久没写c,c++代码了,感觉手稍微有点生了;今天打开了 yifei 工程:再造类reactor,libevent轮子--yifei项目
突然感觉我都有点陌生了,呃,这么多指针,这么多内存对齐偏移,这么多函数指针钩子;这是自己几个月之前写的代码啊,感觉怎么这么bt,这
么复杂,感觉在内存上耍杂技一样!!
python上根本不用去管内存,指针之类的;在python中流浪久了,再回到c中,感觉有点小陌生了!
但我回来查看c++写的代码,基本没有陌生感,反而有点亲切之感;也许python本来就和c++有点想象吧;如果代码中用的都是模版,stl,甚少
使用指针,内存对齐分配管理之类的;那python和c++其实还是比较相似的;
突然感觉c和python这两种语言非常矛盾,两种语言在语法上差距是明显的,其实最大的差距来源于思想,来源于解决问题的方法之大不同;在c
中,要把指针,内存,函数,宏用到极致,要把底层的性能榨取到极致,要把所有的一切都全部掌握在自己手中;而在python中,要想法设法利用
python的动态性,要挖掘python的灵活性,要学会把元编程这种利刃用到问题的解决之上,要学会用各种已有的库代码,工具来帮助自己分析解决
问题;
突然感觉c和python完全就是世界的两个尽头,c是世界的源头,python在世界的浪头;巨大的语法差距,巨大的思维方式切换,巨大的问题解决
方法转变;这一切的一切会让大脑在切换那一瞬间适应不过来;
痛苦是痛苦的,但也带来了非常多的好处;开阔了视野,知道这一切是怎么产生的,也知道现在流行的语言和解决问题方法之道;切换的时候,往
往能吸收另外一者之精华:当我写c代码做架构的时候,我有时会从python库那里得到启示(比如yifei就吸收了twsited和gevent的某些好用之处);
当我用python的时候,我脑袋里面会浮现出python底层运行这行代码的细节(比如string的产生,内存管理等等),这让我也能彻底驯服python这匹
良马!
太极讲究两级要平衡,希望能在 C 和 Python 中的遨游游刃有余!