为啥那么多公司都在写自己的库,而不用boost,CGAL这样的库呢

使用开源的通用库的优点是:(1)、内部算法是成熟算法。(2)、通用性解决方案有着较大的适用范围(3)、代码经过完全测试,坑比较少。缺点是:(1)、在特定的场景下表现会退化(2)、代码一般庞大,复杂,消化成本高(3)、锁定开发工具的时候,往往就锁定了上层开发语言完全自己开发定制库的优点是:(1)、风险完全可控(2)、可以随时调整库的侧重点,以及演进方向缺点是:(1)、定制库必然需要经历长期演进,解决很多bug,质量上才能接近开源库水准
对问题域进行分析,当开源库的缺点量化后比重较小时,采用通用库是优选,但需要慎重考虑下述成本:(1)、整个团队吃透开源代码、算法,否则某些问题迟早会暴露出来,那时候再来考虑则风险很大(2)、准确理解开源代码解决的问题域是否完全包含自己的问题域,性能如何
【为啥那么多公司都在写自己的库,而不用boost,CGAL这样的库呢】 另外需要说明,造轮子是有巨大的快感的,也是获得经验提升的重要方法,所以说每个程序员都有一个框架梦。

■网友
为了几个十来行的函数引入一个几万行的库,出了问题还每人可以看懂。不值得。协议也是个问题。
■网友
开源软件大部分不能满足商业软件需求,主要是稳定性和性能。能被商业软件采纳的开源方案也有,但是不多。
■网友
boost相互依赖太多,学习成本太高,基础算法基本都有现成的开源实现,没必要去用boost里的。当然如果你选择自己去实现,只能说闲的蛋疼……
■网友
对此不了解。猜测原因1 第三方软件有版权问题?2 自己产品有特殊要求?比如性能等,大小3 基于安全考虑?
■网友
因为不会BOOST,然后CGAL是啥?
■网友
bug好控制,产品质量风险可控


    推荐阅读