从软件开发者的角度看开源软件


以下观点纯属个人观点,且基本集中C/C++相关的开源软件,仅供参考:
简而言之,从软件开发者的角度来看,从开源软件中汲取的更多应该是这些软件的开发者的智慧。
1. 软件体系结构
   OpenOffice、Eclipse、NetBeans等大规模软件,设计了非常精巧的、易扩展/集成的体系结构,凝聚了大量优秀架构师的智慧。
2. 先进的软件技术/框架
   Mozilla实现的界面描述语言&框架XUL、Chrome提供的高效JavaScript引擎V8、Apache的XML引擎Xerces、QEMU的动态指令转换引擎、ICE的网络通信引擎、Pin的指令注入技术,不胜枚举。
3. 优秀的库
   Boost、Loki、blitz++、ACE ...
4. 具体的算法实现等
   这类开源软件的应用实在是不胜枚举,下面举一例来说明:
   有一同学在用C#写一程序的时候(赚钱养家不易呀),遇到一bug,我帮忙debug了一下下,发现是编码转换的问题,通过调用Win32 API MultiByteToWideChar解决了这一问题。后面问题又来了,同学说有些机器上用户的权限设置导致C#程序不能调用Win32 API!(晕,全用C/C++不就得了吗?!)他想自己实现MultiByteToWideChar,我迅速在大脑里进行了深度优先搜索...嗯!ReactOS里(Windows的开源实现)一定有MultiByteToWideChar的实现代码。调出SourceInsight,找到ReactOS源码中的MultiByteToWideChar,提取出代码交给同学,done!看看MultiByteToWideChar的代码实现不复杂,如何转换成C#就不劳俺大驾:)
  此外,还有7zip的压缩算法...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值