Github带来的不止是开源,还有折叠的认知

作者: web 发布时间: 2019-11-09 浏览: 1794 次 编辑

几乎每个程序员都知道github,但是知道目前上面有多少repositories的估计没几个。

Z哥今天去看了下,最新的数量显示是1.39亿个。

▲截图来自于github.com

而这个数字在2008年那会只是3.3万个。

这个增长速度可谓真的是“爆炸式增长”。

与此同时,大家也都享受到了开源技术逐渐繁荣的红利。如今,构建一个大型的、面向广大互联网终端用户的系统,变得越来越容易了。

而且现在你也可以经常在招聘网站看到,很多任职要求中动不动就出现一大堆开源技术需要熟练,甚至是精通。特别是不少程序员向往的技术路线分支,架构师这个岗位,这个情况越明显。

▲截图来自于招聘网站

在这些眼花缭乱、层出不穷、天花乱坠的技术、框架给我们带来便利的背后,其实隐藏着一个“被折叠”的技术世界。

“折叠”是社会发展的底层逻辑

“折叠”的含义大家都知道。指的是把物体的一部分折过来与另一部分挨在一起。

好处就是可以让一个原本不可控的、复杂的事物通过“折叠”变成一个更可控的、简单的事物。

比如,

  • 一张一百平米的海报不好搬运。但是把它折叠起来就好搬运了。
  • 治病的过程需要很多种药材,并且要将这些药材按照指定比例进行搭配。还要煎煮等等。不可能所有的病人在任何时期都有这种条件,所以「药丸」的好处就出来了,随时随地可以吃。
  • ……

几乎我们身边的每个事物都是“折叠”后的产物,只是程度不同。如,手机、电脑、笔,甚至是成语、谚语等等。甚至还包括我写的每一篇文章,也都是将我自己的认识折叠之后的产物。

所以,做“折叠”的目的是为了追求效率、便捷,让人与人之间的分工协作得以更好的进行。因为,“被折叠”起来的内在部分,已经不是双方协作时需要了解的「必须项」了。


对于开源技术,从人性的角度来,有现成的“轮子”摆在那,为啥还要自己苦哈哈的重复造“轮子”呢?有捷径不走,不是傻么。

是的没错,这很符合人之常情。而且这也是我们整个社会的发展速度越来越快的底层逻辑。

把「认知」也折叠了

但是任何事物皆有两面性,“折叠”有什么负面的作用呢?

最容易察觉的一点就是一个事物变得更加的不容易真正了解,这也意味着我们的「认知」也被折叠了。也就是我今天要说的主题——「认知折叠」。

举个例子。

第一台电子计算机被发明于1946年,占地150平方米,重达30吨,耗电功率约150千瓦,每秒钟可进行5000次运算。

▲图片来源于网络,版权归原作者所有


假象一下当时的发明者莫克利(JohnW.Mauchly)和艾克特(J.PresperEckert)穿越到现在,看到我们拿着的钱包大小的手机,而它的算力是他们发明的计算机的百万倍。这其中被折叠的认知可不是用一个“amazing”就能表达的。


这个与程序员们很熟悉的软件测试领域中的“黑盒”概念类似,一个软件里面具体是什么情况,代码逻辑是怎么处理的,完全不知道。

这其实是一种失控的状态。但是由于被折叠后的事物让我们具有更好的舒适感,所以这种失控感其实是大部分被掩盖掉了,让我们没有察觉到自己正在逐渐失控。

一直这样下去会产生什么结果

长期以往,就会让我们的思维更加的局限。

除了用某个技术来实现某个功能,不会其它的实现方式了。比如,用惯了ORM框架,手写SQL都退化了,甚至不会了。

除了用某个工具来解决眼前的问题,不会其它的方式了。比如,习惯了用图钉来粘贴一些公告,想不到用透明胶也可以达到一样的效果。

更严重的甚至会沦为“有心人”的“工具”。

比如,某些抢票工具。不管是火车票、演唱会门票还是什么票,你从网上下载了一个自动抢票工具,其实里面除了“折叠”了自动抢票,可能还“折叠” 了数据自动上传到作者服务器的功能。

这些“被折叠”的东西如果你不清楚,那你就像是那只捡了芝麻丢了西瓜的小猴子。

三个破局的办法

即然“折叠”是对复杂性的封装,那么应对它的方式自然是往“展开”的思路来走

只有这样,你才能更了解眼前的这个“被折叠”的事物。

那么有什么“展开”的办法呢?下面Z哥分享你几个我认为的要点。

01 多一分敬畏

要意识到自己身处在一个被高度折叠的社会里,多一些敬畏之心,不要觉得什么事物都很简单。

哪怕是你看着非常不起眼的一支铅笔。但它的原料很复杂,要把木材、油漆、石墨、黏土、石蜡、黄铜、橡皮、硫化镉等原材料统一起来,并且制作过程中的所有生产工艺流程,也得全部统一起来,才能组成一支铅笔。

无知不可怕,可怕的是不知道自己的无知。

这是一个心态问题,只能靠自己刻意练习去调整自己的心态。

02 可以不了解how,但是得了解why

可以不了解how,但是得了解why。不用事无巨细的将每个事物真的分析的那么彻底。但你至少得知道这个事物产生的背后原因是什么。

比如,你不用真的去100%的啃某个框架源码,但是你至少得至少这个框架为什么会出现,为什么会这么多人用?它“折叠”了什么进去?以及这些“折叠”的东西对你未来的可控性是不是有影响?如果有影响的话,未来能不能hold住它,消除其中的不确定性?

这些一连串的思考之后,眼前这个事物的“折叠程度”就会降低,你对它的理解和掌控力会超过大部分人。

所谓的“透过现象看本质”也是这个道理。这个现象、事物的完整的过程是什么没那么重要,更重要是它的本质、目的是什么。

03 获取高质量的外部信息

如果要彻底“展开”的话,必然离不开外部信息的帮助。这个时候一定要找权威的信息。

正如之前所说,因为信息本身也是一个“被折叠”后的产物如果你找到的信息不够靠谱。那么不但无法“展开”,反而会“折”的更深。

权威性主要看渠道。不同渠道公开的信息,背后是经由不同人和不同的处理机制而产生的。

信息质量的高低主要取决于制造和过滤信息所花费的成本,花费的成本越高,这个信息的权威性自然就越好。

这个成本除了包括投入的人力物力的多少之外,还有出品方的品牌、口碑等。

通用的高质量信息渠道,可以关注以下这些。如果你有什么其它的高质量通用信息的渠道,欢迎你在留言区分享给大家。

  • .gov.cn、.org域名的网站,这些都是政府/权威组织公开的信息。(政府信用背书,可信度最高)
  • 论文。可以在中国知网、百度学术、谷歌学术上搜你要的信息。(投入的时间成本以及个人品牌背书)
  • 有口碑和知名度的媒体、大V博客。(个人品牌背书)
  • 书。(投入的时间成本以及个人品牌背书)
  • 咨询公司的分析报告。(投入的时间成本以及个人品牌背书)
  • Wikipedia不错,特别是每个条目下面的一些引用地址,里面这些都是相对高权威的信息源。

不同的专业领域各自领域内的权威渠道,这个靠自己平时的收集。但是官方公开的信息总是应该优先考虑的,而不是第一选择总是搜索引擎。

还有一点,如果可以,尽量使用英文搜索。为什么?看下整个互联网中的内容语言比例。

▲数据来自w3techs.com

可以看到,英文内容占据着绝对优势,并且占比还在持续走高。

如果你也有什么其它的有效办法,欢迎留言分享给大家。

程序员就是“折叠者”

其实我们做程序员的,天然处在一个“折叠者”角色上。我们每天在做着各种「封装」。

但是我见过了太多程序员,遇到问题只会百度的。

先不论被广为吐槽的百度内容质量如何,就这单一的信息获取方式实在是对不起程序员这个岗位应有的价值。

对每个人来说,面对被高度折叠的社会,我们大致分布在四个阶段中,逐步前进。

第一个阶段,完全不知道自己所处的是一个“折叠”后的环境。

第二个阶段,直到遇到“障碍物”走不过去了,才意识到“折叠”的存在,被动的去想办法“展开”。

第三个阶段,带着“展开”的心,同时享受着折叠的便利。

第四个阶段,本身就是“折叠者”,能大道至简那种。

用吴伯凡老师的一句话来形容第四个阶段最贴切不过。

最高的认知不是为了“展示你的认知”,而恰恰是“将这种认知最大化隐藏”,直接呈现为一个非常平易、有亲和力的日常友好化状态。

这既是做产品的逻辑,也是做人的逻辑。
——吴伯凡

总结

好了,我们总结一下。

这篇Z哥和你阐述了我们所处的环境相比更早些年来说,是一个更大程度被折叠的社会。

但是不要忽视了折叠在带来便利的同时,把我们的认知也折叠了。

破局的办法自然就是想办法“展开”被折叠的认知。重要的三点是:

  • 让自己的心态多一分敬畏。
  • 可以不了解how,但是得了解why。
  • 获取高质量的外部信息帮助“展开”。

希望对你有所启发,成为一个不被折叠所困的折叠者。


作者:Zachary

出处:https://zacharyfan.com/archives/965.html