Sunday, February 25, 2007

写点心得

其他的我的笔记 http://ctb.pku.edu.cn:40005

程序方面的,关于perl

以前学习C的时候,提到过解释性的语言(?),脚本就是解释性的吧,所以一直很不屑

原来为了处理字符方便,用C++,不过后来师弟们写的程序还是C,所以一直头疼字符(文本)处理

赴美之后,正儿八经的用perl,因为简历上吹嘘会用,现在每天几乎都是在写perl程序中度过的,以前因为字符处理的不方便造成了很多时间的耽误

今天终于学会用perl画图了,竟然还是非常的漂亮,比R和matlab都要方便很多(脚本画图方面,一次处理几十幅甚至几百幅图的情况)

perl对我最大的用处
就是数组和映射,正则表达式;如果你要处理文本,从中需要挑出一些符合条件的字符串,只需要写出合理的正则表达式,这些表达式在各种脚本语言和vim中都是通用的

如果是不停的做重复工作,可以把模板写到右键菜单里,点一下就新建新的程序就有个框架了

最后,推荐大家用linux,觉得特别亲切,原因是所有的源代码都是C写的;感觉当年学习C的时候要知道这些那个小论文根本不在话下,而且可以为开源社区做出很多贡献(每人一个程序)。linux下的C程序很简单的就和系统融为一体了(因为是命令行的)

最近还发现了很多贴心的功能,比如自动连接网络(甚至是无线,以前这个服务被我关了,让我痛苦了很长时间)。

另外就是推荐vim了,用ctags,按两个键就自动跳到函数定义的地方去了,利用这种机制甚至可以浏览非C文件,只要你自己生成了ctags文件;比如我浏览代谢反应时,只要按两个键ctrl+]就可以跳到代谢物的名字文件去了,ctrl+T就可以跳回来,根本感觉不到是在不同的文件中,它们实际甚至在不同的目录中

如果你稍微了解一下一些程序的机制,你就会发现它们的拓展用处,比如,我的文件夹下的一些图是依赖与当前文件夹的数据文件的,当数据文件改变时,需要重新执行画图脚本,可是文件很多,你可能记不清是不是运行过了;这其实可以用make程序来作,平时make是用来执行编译程序的命令的,这对于那些熟悉make和ctags的人不是大发现,但是我自己有所需求,然后思考解决后,就觉得有无比成就感,坚持了效率至上(不写代码的原则)

然后是窗口管理器,虽然有些小功能慢于win,但是现在是越来越好了,而且是好的越来越快,一个例子就是gaim来了消息,tab处不停的闪光;虽然是小事,但是都是紧要的事,因为错过了女朋友的消息不是什么好玩的事;

桌面环境:genome,fvwm,kde,enlightenment,xgl-compiz,xvfc;这些是我用过的,换个桌面环境就是换个程序而已,多有诱惑力;好多感受是不好形容的,第一次用e16感觉是科幻小说,到了e17反而去掉了那个眩的效果;3d的就更不用说了,之是我的高级ati卡没她妈的驱动,真是浪费了

上面的看起来是没有多少内涵,深层次点的;搞个加密系统弄到u盘上只是几个小时的活,你能干的事情就是到win下面去杀毒,手工杀毒;这个系统很安全,没有密码高手也没多少办法

最后,不能忘记被迫用linux的原因,因为当时我的显示器是1280x1024的,浏览网页时ie字太小,而linux下字体可以无限放大;另外一个小原因就是当时被一个德国老头b4了

哥们们试试linux吧,你可以用两个显示器,奇数窗口显示在a上,偶数窗口显示在b上;拍下显示器就切换桌面等激动人心的事到处都是