普通人要不要读代码?

作者: 树哥区块链 | 来源:发表于2019-04-03 07:01 被阅读7次

树哥,如何才能更好地学习区块链?

一个朋友提出这个问题。这个问题,也是频率最高的一个问题。

我回答:最好学习区块链的方式就是读它的代码!

这个问题往往会让我的这些朋友诧异,读代码的这个事情不是由程序员干的事情吗?普通人会读代码干什么呢?

每当这个时候,我就会再次问他们,你觉得了解一头牛的组成的方法有哪些?

“这个很简单啊,可以观察到,就是牛头、牛角、牛身体、牛腿和牛尾组成的啊。”

这个就是问题的关键了,“观察到” 是我们学习了解一个事物最广泛使用的方法,可是只是观察能不能看清问题的真相呢?

其实有还有一种非常重要的方法叫:

庖丁解牛

当拥有一把锋利的刀,并用它把整个牛都一块一块的分解,就可以看到牛的内脏、牛的肌肉、牛的骨骼、牛的筋肉。是不是会对牛有了更加深刻的理解?

如果说,我们可以通过观察可以看到牛的外观、牛的习性,那么我就可以通过“庖丁解牛”的方式了解牛的内部,牛的一些外观和习性的根源。只有这样我们才能更加了解这头牛。

一般来讲,朋友们都会赞同我的这个观点。

我会告诉他们,读代码就是一个锋利无比的刀,区块链无非就是计算机的程序,可以用这把锋利的刀来顺利的了解区块链的底层,知其然知其所以然。

当然,其实不止区块链,几乎所有的计算机程序都可以通过这个方法来了解其底层架构。

不过可能有些人说,我们可以直接通过查找一些资料来获得信息,而未必一定通过代码来获得。这一点也对也不对。

因为现在有很多纷繁复杂的资料,有些描述也未必正确,这个时候会读懂代码就会验证很多以前不确定的知识点。

例如,几乎所有稍微了解一点比特币的人都知道:

  • 比特币的出块时间是10分钟。
  • 比特币的出块奖励是四年减半。
  • 比特币是2周调整一次难度。

但是,比特币的出块时间真的一直是10分钟吗?

事实上,出块十分钟只是目标值,可能是5分钟,还有可能是2个小时或更长的时间;这一切都会取决于计算出随机数字的时间,只有这样,少量的恶意节点出的块时间才会长,而更多算力的正常节点出块速度会快很多,“最长链的原则”才会起作用,才能真正保障最大算力的正常节点的区块链永远是最长的一个链条。

比特币的出块奖励是四年减半的由来。

大家总说,比特币出块奖励四年减半。这4年减半是怎么来的?只要读一下程序就会知道,在程序中规定了产生21万个区块就会奖励减半,因为10分钟一个区块,1天就是144个区块,21万个区块就是1458天,约等于4年的时间。真正的时间是需要看时间的出块状况才能知道。

2周调整难度的由来。

这个原因其实和上一个原因类似,比特币的程序中规定每个2016个区块进行一次难度调整,2016个区块除以144区块每天,等于14天。这就是比特币网络每2周调整一次区块的由来。

或许你会说,我不懂代码,又怎么能读懂代码呢?

我相信你一定会听过一句话:“读书百遍,其意自现!”

读程序和读书是一样,多读几遍,多读一下各种的代码,意思就会慢慢了然。

毕竟,

我们只需要大致了解功能模块,不需要每条代码都读懂!

甚至,如果读程序读得多了,可能也会熟读唐诗三百首、不会作诗也会吟,我们也能利用人家的程序模板,进行抄抄改改了,这也是一个挺快乐的事情。

相关文章

网友评论

    本文标题:普通人要不要读代码?

    本文链接:https://www.haomeiwen.com/subject/msvibqtx.html