在过去的时间里,基于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下的软件做得更好、更稳定(易用方面还是有优势的)。
新闻热点
疑难解答
图片精选