为什么我国大学第一编程语言是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也很能表现啦。

提供最优质的资源集合

立即查看 了解详情