凡是有这样问题的人,都只能算编程爱好者,并不是专业程序员。
让我用一个编程爱好者和外行能够理解的类比来说明问题吧——这世界上有专业篮球运动员和篮球从业者,也有篮球爱好者,篮球爱好者偶尔也会下场打一把球,他们很容易会以为打篮球就只是几个人在场上发球、抢球、投篮这些活动,但是,专业篮球运动员,知道打篮球不只是打篮球,还有力量训练、速度训练、体能训练、耐力训练、心理建设、团队合作、战术培养……很多很多,对于专业经营篮球的人士来说,还要关注青少年培养、梯队建设、人员组合、训练计划……很多很多。
用图说话,篮球爱好者所看到的篮球是这样:
专业搞篮球的篮球是这样:
还有这样:
还有这样:
很多很多……最后才是这样:
虽然最后的目标都是得分和取胜,但是这个过程中,爱好者和专业人士的差别是很大的。
回到”为什么很多程序员都不建议只学习js和python,为什么我们大学还要学20多年前火过的c”这个问题上来,程序员的工作不只是写代码,更不可能一辈子只用一种语言写代码,所以,哪怕只说编程,程序员最重要的是编程思想和学习能力,而不是纠结一门两门语言,这些编程思想的训练,就好比篮球专业人士的体能、力量、速度等训练。
是不是不应该只学JS和Python?当然不应该只学两门语言,把JS和Python换成任何两门语言,这句话都成立。
为什么我们大学还要学20多年前火过的C?因为篮球打得好,还是要懂人的身体体能特点,希望你能够明白——不明白也没关系,就像我们不要指望业余篮球爱好者理解专业篮球运动员的世界一样。