工作了之后真的很無奈,被項目拖著鼻子走感覺很不舒服,但學習還是不能停的,要開始有意識的自我規劃了。

Solaris轉移到Linux
雖然目前的工作平臺還是Solaris,但是已經打定主意切入Linux了。好在一直很注意跨平臺的問題,所以C++的功底應該不會在Linux上荒廢太多。
小小試用了一下Ubuntu,發現*nix在日常辦公開發過程中還是和Windows不能比。所以基本流程就變成:VC6+Intel Cpp+Visual Assist寫代碼編譯,VMWare+cygwin X Server遠程調試。
最開心的一件事情是Sun Studio Express 3發布了,竟然有了PerfLib的Linux版本,嘖嘖。順帶說一下,Sun Studio Express3好像多了很多Linux版的工具(包括C++編譯器),大家快去捧場啊。

學習Perl
一直對腳本持懷疑態度,一方面一直很怕無類型無定義變量,一方面對跨平臺時候ksh/bash或者awk/gawk什么的參數差異耿耿于懷。甚至連自動生成Makefile這種事情,我也是不憚于自己寫Java程序的。但是隨著開發的深入,發現的確需要一個可以快速開發的腳本環境來作為粘合劑。最后放棄大紅大紫的Python和Ruby,而選擇各大系統都默認安裝的Perl,個人感覺也是一個十分務實的選擇。同時也要強迫自己學習一直沒有機會接觸的正則表達式了,嘿嘿。

OpenMP
大公司們對多核多線程的炒作如火如荼,而我還是只會用ACE的Thread Wrapper寫點服務器端Thread Per Request應用,或者用Java操作一下UI Thread,感覺這些都只是偽多線程,大多數時候自己的思維還都是禁錮在單線程的簡單流程中。OpenMP則大大開放了我的思維,比如循環內自動fork線程,如此低粒度的算法級并行,真的是以前沒有想過的。順帶說一下比OpenMP成名更早的MPI,感覺這種強調分布式運算的東西太專業了,不適合我們平時的運算環境。

矩陣計算
在這個領域,我的浮躁本性暴露無疑,一直一山望著一山高,不肯定心好好研究一個東西。先是Fortran接口的BLAS和Lapark,緊接著就覺得MTL這種模板實例化才是可維護性和運行效率的最佳結合點,然后又發現uBLAS的表達式模板更加精妙,最后又對ITL的迭代子羨慕不已。一直到今天,發現有了OpenMP,又在鄙視uBLAS之流對多核多線程的短視。老是靜不下心來鉆研一個東西,也許這是比技術短板更可怕的東西。