开源 - 善意的谎言

开源就是开放源代码,原本是程序员的金山宝库,但是程序员进去后发现就是个坑,不但没有赚的金银满盆,反而丢盔弃甲,溃不成军. 是什么阻止了程序员在开源里吸取能量呢?

开了个好头,但是怎么继续呢,我们要吐槽一些东西.
Make, GCC, LLVM, Firefox, Linux
吐槽完之后希望能看出来我们为什么不能从优秀的开源项目中汲取精华,占为己用.

Make , 1976年有人看到同事因为.c到.o没用更新编译而debug了大半天而动手写的一个自动化编译工具,目的就是自动按文件的修改时间判断哪些需要重新编译,而且根据依赖关系进行拓扑排序。
可以看出,当时编程环境低级而恶劣,程序员又经常是犯菜鸟的错误。而写Make的人在写Make的时候,肯定不像如今的工艺千锤百炼推成出新,写了一个还被广泛重用。 C++本来也是秉承了相同哲学的东西,能用就行,哪怕是个缝合怪那样可怕的东西。
Make的语法说简单也简单,说复杂还真复杂,有那么多预定的规则,还有难理解的符号,用法说明就像天书或者高等数学,不多看几遍都不知道什么意思,不是描述不清,而是本身概念设计的复杂,这往往是业务抽象的不好的兆头。
然而GNU秉承了Make的一切,直到今天,CMake,ninja站在他肩膀上而不见得更好的工具。
现实中的Makefile往往有数千行,甚至上万行,为了只是编译数百个程序,本身就是一个几乎无法阅读维护的程序。
无法理解,无法驾驭的东西当然无法从中汲取精华,只是一个解决问题的工具,而它的市场占有率和广泛懒得精炼使开源软件离被重用又远了。

那应该怎么样,C/C++应该像Java一样有预定的目录结构,制定一个src目录就能编译出来。为了提高编译速度100倍,应该给include设定一定的规则,preprocess也是。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值