在過去的時間里,基于windows的開源軟件物數量實在太少了。在網上查找一些開發相關的網站,內容也不外乎抄來抄去那幾篇怎么做三角的button啊,怎么做不規則的窗體啊,怎么把程序放到右下角的托盤中啊。當然不是windows的程序員就是這種水平,當然也不是windows程序員不團結,搞不出一個開源軟件。
在windows上的開源項目的阻力來源于:1.os的封閉;ms做了太多的東東,束縛了程序員的創造力;3.開發語言和工具太多太雜了,各種程序員之間無法順利的交流。linux方面天生沒有這些桎梏,系統源碼開放,讓你可以追宗溯源;很多東東都是白手起家,你可以自由的發揮你的創意(在windows下很難寫出vi這么棒的編輯器);語言嘛,不用說了。java的開源項目飛速增長的原因,也和上述條件有關。
現在不同了,.net來了,機會來了。是讓我們團結起來發展windows下的開源軟件的時候了。可這么做的意義是什么呢?首先是學習開源的精神,分享彼此的思想、成果,共同提高;其次,開發出我們自己愛戴的軟件,高速、穩定、方便、免費。比如像apache,我們喜歡用asp,但受不了iis的脆弱,那讓我們也來做個跑asp的apache吧。有了這些軟件,就可以不再只受ms一家的限制了,多了其它的選擇。再次,光有.net的類庫是不夠的,我們必須搞出一些類似于stl、boost、atl等等專用庫,別一提起這些東東就都是國外人搞的。
為什么說機會來了呢。.net屏蔽了os一級,讓程序跑在一個虛擬環境,這樣,你的程序可以獲得類似java的os無關性(還不能完全無關,但已經夠了)。讓我們來在虛擬環境專心做好我們的軟件,讓ms去專心改善os。在.net中類庫和api都是統一的,無論你用什么語言開發,最多只是語言的區別,其它的障礙都不存在了。基于此,在一個開源項目里用不同的語言寫不同的模塊變得很簡單。各種語言的程序員可以像少數民族大團結一樣一起做一個項目。
我總覺得linux下的本地開源項目和windows下的本地開源項目勝過java。java的os無關性也等于無視os的特點(java程序員別生氣,從辯證角度來說共性和個性本來就是矛盾的,這不是你的問題)。所以我大力提倡windows下的開源項目,讓我們把windows下的軟件做得更好、更穩定(易用方面還是有優勢的)。
新聞熱點
疑難解答
圖片精選