程序员圈 内的 鄙视链
作者:互联网
刚刚在网上看到了这样一个段子,关于程序员之间的“鄙视链”:就赶快和大家来分享分享~~~
走起,一起来吃瓜
故事分享在这呢~
一天我路过一座桥,碰巧看见一个人想跳河自杀。我跑过去对他大喊道:“别跳,别死啊。”
“为什么不让我跳?”他说。
“因为还有很多东西值得我们活下去啊。”
“有吗?比如说?”
“呃……你做什么工作?”
“程序员。”
我说:“我也是!瞧,有共同点了吧。你是软件还是硬件?”
“软件。”
“我也是!PC 还是 Web?”
“PC。”
“我也是!Windows 还是 Linux 平台?”
“Linux。”
“我也是!那你使用 C 还是 C++?”
“C++。”
“我也是。1998 年的 C++ 98 还是 2011 年的 C++ 11?”
“2011 年的 C++ 11。”
“我也是。大括号写在后面还是写在下一行?”
“下一行。”
“去死吧!你这个异教徒人渣!”我一把将他推下桥去。
都说有人在的地方就有鄙视链,不同编程语言直接也同样拥有鄙视链:写汇编语言的程序员鄙视写C语言的程序员,写C语言的程序员鄙视C++程序员,C++程序员鄙视Java程序员和C#程序员,Java程序员和C#程序员则相互鄙视,然而,所有的工程师都鄙视PHP程序员......
为什么会有这种现象呢?
整个鄙视圈的逻辑就是:使用靠近底层语言的程序员,容易看不起使用更高层语言的程序员。
究其根本还是语言本身的学习成本在作祟,越靠近底层的语言,学习起来越困难、越费时间,而越接近顶层的语言,学习起来越简单、越快,例如Python,有基础的人几天就能够差不多掌握了。
就拿C++程序员与Java和C程序员来说,C++程序员鄙视Java程序员和C#程序员,为什么呢?因为C++的学习成本高啊,C++是真的难。C++的难度主要还不在其语法等层面,而是C++所支持面向对象、泛型编程、元编程、函数式编程等不同编程范式,还有STL(标准模板库)会涉及数据结构和算法等等。
计算机专业的学生都会懂这个痛,想学明白C++太难了,大学里那么多语言的课程,学着学着你就发现大部分已经都学完了,而C++还是不敢说自己学明白了。
相比之下C#和Java简直就像不用操心一样,夸张来说,可以随意调用。都说编程“不要重复造轮子”如果说Java和C#是用轮子的,那C++就是造轮子的,你说它鄙视其实也是有资本的,也说得过去不是?因为在他们眼里:使用更高层语言的程序员对底层逻辑完全不了解,调用“轮子”来编程也只是站在了巨人的肩膀上,将表面的东西做的有趣呈现在大家面前而已。真正深耕的是这些底层可以“造轮子”的语言。
记得以前看过一条回答,记不清具体是怎样说的了,总之就是将C、C++、Java等其他语言以及Python做了对比。其中C就像是提供了一个外壳,需亲手组装成你想要的东西,而C++就像是提供了各个集成模块,但是有一本长达一千页的使用说明。
Java和其他语言呢,就像是专门为某一类产品定制的集成模块,以大负载,强功率著称。而Python就像DIY爱好者拥有了一台3D打印机一样,可以想做什么就做什么,涉及的方面足够广,效率足够高,可以让你轻松完成你的工作。
就拿爬虫来说,C++写个爬虫几天都不一定能搞出来,但是用Python的话十几分钟就解决问题了。为什么?因为Python屏蔽了大量的底层调用,只保留了最顶层的东西,所以开发效率极高。
不过对于鄙视链这个东西也不必当真,所有语言不提使用场景只单纯谈语言那都是耍流氓。现实中真的有编程语言鄙视的少之又少,更多的是程序员薪资鄙视链,而语言本身并没有优劣之分,这更像是程序员之间的互相挖苦和自嘲罢了。
当然你也可以跳脱出这个鄙视圈,比如近几年特别火爆的Python,因为近几年才火起来的并且实在是太火了,目前还不在这传统鄙视圈之内。
明天分享下一个程序员的鄙视链~
标签:Java,语言,Python,C++,鄙视,程序员 来源: https://blog.csdn.net/Java_de_007/article/details/119184452