今天在知乎上看到这样一个问题:为什么现在部分985高校还是给大一上C语言课:

图片

这个题主是某985CS专业学生,发现学校居然给大一教C语言程序设计,而不是现在最流行的Java或者Python,不由得产生了疑问。

没错,现在很多高校计算机专业的教学方法确实有些落后,但是作为一所985高校,大一的时候教学生C语言还真没有什么问题。

首先,我们学的是 Computer Science,而不是 Programming Language,语言真的真的真的不是重点。985/211 这种国内最顶尖的一批高校,应该注重通识教育而不是专项教育,在专业上更要注重基础、底层、偏向原理。

只有掌握了最核心的东西,学起那些偏技能的东西才会很快很轻松。

而且相对于现在比较流行的Java和Python,虽然C/C++难度更大、门槛更高,但如果你真的深入去学习的话,优势也是蛮明显的。

我觉得至少有以下几点优势:

1、能帮你打好结实的编程基础

不管你以后走什么样的技术路线,不管你用不用它做开发,一名熟悉C/C++的开发人员,假如他不是一个偏执狂的话,再学习Java或Python,都要容易得多。

2、竞争小

现在很多大学都主流教java,,因为java相对C简单,而且应用范围也蛮广的,但是java的效率不如C,正因为很多人觉得C很难所以就放弃了,也就造就了Java竞争力非常大,不少互联网大厂提前批第一天开放的时候,投递Java后端开发的应届生是最多的。

C/C++竞争力小,而且真正的高级C++程序员很抢手的,可以说是,有钱都不一定招得到。

3、工资高

C/C++程序员平均工资普遍比其他语言高,当然是在同等技术情况下,不可能一个C/C++普通程序员和一个java的老鸟比。如果普通java程序员和普通C/C++程序员相比的话,基本上都是C/C++程序员工资高一些,而且C的上限比Java高太多了。

当然每一门语言都有自己的特点,也不是说Java就不好,一门语言没有好坏,主要是看使用者如何使用了,如果能把一门语言研究透彻,无论是什么语言那也是前途无量的,但是就就业的话,如果你是科班生,C是一个不错的选择,说实话,Java竞争力太大了,可以去各大招聘平台去看一下,对比一下C就会发现,往往很多工资很高的岗位,没有C++程序员去,但是Java岗,一个岗位去应聘的人非常多。

还是那句话,语言没有好坏,只是看使用者能把一门语言发挥到什么程度,我这边也顺便给大家分享点C/C++的学习资料吧,希望对大家有用:

1、《C语言小白变怪兽》

既适合对计算机一窍不通的小白也适合有编程基础的读者,还可以用来进阶。这本书的作者还在不断地更新这本书,学起来通俗易懂,深入浅出,只要认真看就一定能看懂,这是C语言入门的首选教材。

2、《C Primer Plus》

畅销30余年的C语言入门经典书籍,至今无人能撼动它的地位,最符合C语言标准的书籍,作为一名C语言程序员不收藏一本都觉得自己很水。

3、《C和指针》

这本书的特点是在指针上花了大功夫,指针绝对是C语言的精髓,理解了就等同于攻克了最难的部分。

除了头尾两章,指针贯穿全书,并用了大量通俗易懂的例子来讲解,正是指针使得C语言如此之强大,所以要学习C语言的精髓,就是要精通指针。

4、《C专家编程》

这本书适合已经具备C语言基础想进阶的读者。这是一本吐槽C语言的书,基本上介绍了大多数C语言的坑,有不少精髓,在C语言界久负盛名,进阶时一定要看。

把以上4本书学透,C语言基本上就差不多了,最后强调一下:不管学习哪门语言,实践都是在第一位,因为最终我们都是要上手写代码,解决具体问题的,所以大家在学习的过程中一定要多实践、多写代码。

C语言很重要,不管你以后想从事什么方向,如果你想在程序员这条路上走的更远,C语言都是要重点掌握的!