我认为计算机科学的创新需要培养深刻的底层认识+丰富的想象力(创新意识)。
从认为中国的教育机制足以给学生一个深刻的底层认识,我们小学就学数学,初中就学物理,化学,一直到高中,循循渐进。有的人可能问,什么是底层,在大的层面来说,这一些基础理论科学就是一切工业科学的底层。一个人具有扎实的基础理论科学的基础,这对他以后在他所在的工业领域的学习,发展应该是非常有利的。这样说来,中国的学生在理工科的学习应该强国其他国家的学生。
可事与愿违。底层认识就是让你从事物的本质去了解他。只有从本质理解事物,你才能更好的理解表面上的事物。
我大学读的是计算机专业,学校开的课程比较系统,从硬件到软件,计算机体系结构,组成原理,汇编语言,c++,数据结构,操作系统。对计算机专业来说,这些都是比较底层的科目,我认为学好这些科目,以后无论是搞硬件,操作系统,还是开发应用软件都是很容易上手的。但是我发现更多的人和我的想法恰好相反,他们更乐意去外面的培训机构学习Jave,MFC,安卓应用开发之类的,这都是些基于特定平台的面向对象的应用编程。也就是说,MFC只能在windows平台上用,Jave一般用于安卓。对,这些东西是容易上手,可以在短期内做出一个小应用。你只需要最基本的编程技巧,然后了解特定平台的库里面的一些类,函数。但是你知道这些类,这些函数是怎么实现的吗?你学了MFC,如果有一天,windows平台不用MFC了,你怎么办?而你如果深入的学习各种算法和数据结构,那么对机器的底层机制非常了解,无论开发平台怎么变,你都可以在它上面写应用,因为你可以直接写出各种需要的类的内部实现。并且可以依据机器的特性写出更为优化的程序。
这就像一个开货车的人绝不会开火车,但是一个修车的人可能都会开,因为他清楚火车和货车的内部构造和实现机制。在拥有深刻的底层认识的前提下,再加上丰富的想象力,那么你就能创新,创新的产品不一定能成功,但是没有创新的产品一定不会多么的成功。
中国人的想象力也是没有外国人的强的,外国人发明了计算机,外国人想出了用通信网将全世界的计算机连在一起构成互联网,外国人想出了电子邮件,外国人想出了操作系统。中国完全就无想象力,创新可言吗?不是,我们有即时通讯软件QQ,零售电子商务阿里巴巴。所以,中国人也是会创新的,并且在一定程度上说,我认为中国人的想象力比外国人要强,那为什么我们的这些优秀的产品都是互联网应用,而没有比较底层的比如处理器,操作系统啊。我觉得原因还是在于外国人的底层认识要强过我们,所以他们能在比较底层的东西上创新;而我们中国人的底层认识没有那么强,所以我们就只能在比较表层的东西上创新。我们发明的东西凝聚了比较弱的技术含量和比较强的创新意识。
同为优秀的产品,凝聚底层技术含量多的应用范围广,比如使用计算机的比使用windows系统的多,使用windows系统的比用淘宝淘东西的多吧。
所以要从实质,从根本上发展科技,创新科技,超越走在我们前面的国家,我们应该全面培养底层认识和创新意思。