为什么我国大学第一编程语言是C
CMU, Caltech, Cornell 也都是用的Python…
是的,虽然C的语法复杂明了,但必需得自己malloc是一件很头疼的事。
而Java的语法过于费事,比如你去对比一下Java和Python外面用List/Array的代码数…
依我看来,Python是这三者中最好的Intro to CS言语。
在新手阶段你无法体会到C和Java的弱小,但你可以体会到Python的繁复。
关于C,合理分配内存带来的效率应该是在至少在Intro课程后再学一门算法再来教的。
新手一末尾能够会被SegFault弄得不想学了。
还有,OOP很难用C来教。
至于Java,它真正的弱小是易于团队协作开发/顺序的通用性(一个JVM什么平台都可以运转)。
新手则会过多关注语法而无法体会Intro to CS的要点。
关于真心想学好的人,其实我的建议是:
第一节课用Racket/Scheme + SICP教。
接着学Python。
之后Java,C就随意了。
假设不是那么仔细,Python入门也可以。只是最好也稍微侧重一下Python中的Functional Programming,引见一下lambda之类的。
团体观念是FP要尽早学,很开阔视野。
并且Intro课程中的Recursion之类知识点,团体以为只要用FP才干充沛表现出其优雅性。
虽然Python也很能表现啦。