美文网首页
代码与生命

代码与生命

作者: houc | 来源:发表于2017-10-24 22:43 被阅读15次

    写代码有两个需要重视的地方。一个是架构,一个是算法。

    架构决定了项目的功能。

    比如鱼与人的骨骼不同,最后形成的功能也不一样,鱼儿擅游,人能行走。当然也并不是骨骼这个一个模块独立完成的。比如蛇的骨骼也没有由躯干骨衍生的四肢,但依然可以游于林间。

    所以,我们将项目看作一个生命体。生命体的每一个系统、每一个器官、甚至每一个细胞,按照某种模式组合在一起,形成其独特的功能模块。而这种模式,大概就是我们常说的架构,再把架构抽象出来,就形成了某种框架。

    反过来看,地球上的生命基本单位是细胞,每一个细胞都相当于一个小模块,把这些小模块按照某种架构组合一个大模块,大模块继续按照某种架构组合成一个更大的模块,最后形成了具有某种功能的系统。此时,每一个细胞就如同Java代码中的类,类上有包,包上有个更大的包,最后形成能够完成我们某种特定需求的项目。而源码便是DNA,RNA是编译器或解释器,大脑就好像服务器与数据库,客户端就好像心肝脾肺肾啊乱七八糟的东西,中间依靠神经/网络传递信息,同时为了减轻大脑压力或者是大脑来不及处理时作出反应,就有了条件反射这玩意,如同页面的JavaScript一般。

    而算法大概是个更加有趣的东西,它决定了代码或者项目的运行效率。

    就好像良好的思维模式让我们在工作中更加得心应手。这让我走上一条怀疑智商的是否真的存在的道路。

    怎么说?比如我们的代码始终受限于硬件,虽然说记忆力可能有差别,但是大家计算1+1=2的速度不都是一样快吗?一次运算的速度接近,为什么多次运算便会产生如此大的差异呢?大概就是思维模式不一样的结果,或者说是算法不同的结果。

    比如1+1+1+1+1=5。如果,遍历一遍做了5次运算,在加上遍历 i 的值,一共做了10运算左右。如果我们有乘法的概念,遍历一次得到 i=5 的结果 然后 1*5=5,一共做了6次运算。随着代码越来越多,积小成多,效益惊人。

    可见智商对于每个人来说差异并不大,毕竟我们做1+1=2这种事情谁也不见得比爱因斯坦慢。可是我们的知识量与思维模式才是我们不是爱因斯坦的真正原因。

    那么,如果我学习了爱因斯坦的思维模式,我会不会就是下一个爱因斯坦呢?

    嘻嘻嘻,想想就开心。

    又或许因为每个人类都是独特的实现类,大部份思维模式从我们还是受精卵的时候便决定好了,造成我们改变与和其他人差异的,可能是知识吧。所以爱因斯坦的思维模式我可能是一辈子也学不会了,呜呜呜。不过要证明这个的话,我首先要有和爱因斯坦相当的知识量才行。或许我比爱因斯坦还优秀哦,哈哈哈。

    又或许我们是某种独特的实现类,而且封装的还算不错,所以有时候我们自己也不了解自己,当我们作出某些惊天地泣鬼神的操作时,自己都会讶异。亦因此,我渐渐开始相信直觉并非空穴来风,只是某种连我们自己都不明白的计算结果的返回而已。

    所以再有逻辑的逻辑,亦有无逻辑之处,再无逻辑的逻辑亦是一种逻辑,不过是不理解罢了。

    人生和代码,真的是有趣之极。

    想想梦想这东西,我就开心的流口水。

    相关文章

      网友评论

          本文标题:代码与生命

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