程序语言界总是充斥着各种各样的鄙视链,有后端鄙视前端,c++鄙视java,java鄙视php,php鄙视javascript。语言的优劣,各有各的说法,深入到语言功能性和性能性的层面,又有多线程鄙视单线程。虽然多线程在性能等很多方面要优于单线程,但由于使用的主体是人,导致便捷性和复杂度也大幅提升。孰优孰劣,很难分辨。
在我们人的世界里,单线程是纯粹处于主导地位(不排除也有一些神一般存在的人物,如:伊隆-马斯克等)。由于我们的精力有限,当我们在做一件事情的时候,很难再去把另一件事做好。现实中,经常看到很多人疲于多线程作业,把自己搞得精疲力尽不说,到头来什么事情都没做成。结合自身的体会,我把其原因总结为如下几点:第一、我们处于一个一元价值观相当厉害的环境中。在这个环境中,我们大部分人每天想的都是赚钱,赚钱,再赚钱。围绕着钱,我们总是想各种办法去拥有它,导致我们不能沉下心去做一件事。第二、世界变化太快。当今世界处于飞速运转的状态,回想20年前,互联网在中国压根就看不到一丝痕迹。飞速变化的社会必然会涌现很多的机会,定力不够必将导致我们捡了芝麻丢了西瓜。第三,超强的社交网络。从校内网到qq空间再到朋友圈,单人的社交范围变得越来越大了,同样的,社交也越来越浅。攀比,炫耀,分享都是人的本性,看着朋友圈里面的丰富多彩,再对比自身生活的单调,总觉得现在所拥有的各种东西都不如别人。想着过朋友圈里面“别人”的生活,当我们总是想着去过别人的生活的时候,就变得乱七八糟了,今天看到甲某某做了某事很炫,按捺不住内心的激动,有样没样的学着去做,然后发现自己干不了,明天又看到乙某某在做某某事情,又学乙某某,这样一来二去啥事都没做成,情绪上也给自己造成了困扰,更是形成了一种恶性循环。
单线程是个很好的东西。我们总是很羡慕喜欢与身边那些在某一方面非常厉害的人相处,但发现,如果自身没有任何特长,基本上他们都不会搭理我们。这是很现实的一件事,人是一种群体动物,我们会协作,交换。最好的协作就发生在level相同的人之间,我们每个人都想让自己的影响最大化。和同等level的人交往是最佳选择。
人不能同一时间做两件以上的事情,就像甘特图,偶尔的交叉是非常正常的,如果看到两条以上的线并行的话,估计就得重新调整工期了。