代码与生命

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

架构决定了项目的功能。

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

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

反过来看,地球上的生命基本单位是细胞,每一个细胞都相当于一个小模块,把这些小模块按照某种架构组合一个大模块,大模块继续按照某种架构组合成一个更大的模块,最后形成了具有某种功能的系统。此时,每一个细胞就如同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这种事情谁也不见得比爱因斯坦慢。可是我们的知识量与思维模式才是我们不是爱因斯坦的真正原因。

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

嘻嘻嘻,想想就开心。

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

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,826评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • 一、产品特点网体健身App汇集了上海约100多家场馆,主打进场无需携卡,一卡通用,用户分3个等级:钻石卡、黄金卡、...
    张文武贝阅读 445评论 0 0
  • 前一阵,朋友突然告诉我,她被调岗,要去做她一直向往的内容运营工作了。 听到她说这个消息,我忽然觉得很激动,真心的替...
    作家格格阅读 494评论 0 3