面对诸如:“C++效率更高,越底层越厉害,C#是微软想把大家变笨的诡计(只会搭积木)”的争议,我有一些想法,在发表之前,首先提及想到几句话:
1. 当年C++出现的时候,存在“汇编效率更高,越底层越厉害,应该用汇编”的争议…
2. 如果说伟大的科学是“站在巨人肩膀上的巨人“,那么软件行业有点像是“站在侏儒脚上的侏儒…”
3. 一部伟大的文学著作,是以复杂的语法炫耀其文学功底?还是以简单的语言表达深刻的思想?
4. 计算机语言发展的主线是:“从贴近机器的思路向贴近人的思路的转变”,增强人们操控机器的能力。
因此,我的想法是:
1. 没有谁更好,需求说了算!在面对“逻辑密集型”的需求的时候,C#简单高效;在面对“程序任务密集型”的需求的时候,C/C++更底层而强大的语法能提高运行效率。如:操作系统内核对效率要求极高的地方还得用汇编。
2. 在面对信息爆炸的时代,“逻辑密集型”的需求将越来越多。
3. 诚然,理解计算机底层运作机制是必要的,否则在使用高层语言的时候会写出很“费”的代码。但是学习和理解底层,并不代表应该刀耕火种。