为什么小语种专业不值得选
计算机专业的学生需要深入学习C语言吗?
计算机专业的学生需要深入学习C语言吗?
感谢邀请!
作为一名计算机专业的学生,我觉得有必要深入学习C语言,C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言是一门面向过程的计算机编程语言,与C ,Java等面向对象的编程语言有所不同。
但是不得不说,精通C语言是很难的,还是要与你的未来发展相结合。
为什么有的人不建议初学编程的人把C语言作为入门语言?
作为入门编程语言,学习c时不可避免地要学习一些c特有的语言特性,不可避免地要学习指针、接触底层、内存泄露等(不知道学生们学习时老师有没有说过,指针这个东西我们作业考试会有,但以后自己写程序尽量少用?)
这是否是一个入门者该学习的?(还是应该作为一个有一定编程经验的人才需要学的)
我记得ccf(中国计算机学会)要求计算机专业在低年级学生加强算法、计算思维的培养。而用c的话肯定会减少算法、计算思维的教授时间
看看美国著名大学入门编程课的情况
美国斯坦福大学的cs106a编程方法学课用的是Java,近来有篇文章说斯坦福开了新的入门课cs106j用的是JavaScript(好吧我觉得用js入门还是太……理由似乎是能直接用浏览器编程?)。而进阶的cs106b抽象编程课才用的是c
卡内基梅隆大学用来入门的的15112程序设计与计算机科学导论用的是Python,有编程基础的人则直接学15122命令式程序设计,用的是c
麻省理工学院入门的6.0001还有6.001用的是Python(后者原来用scheme),进阶的6.005用的是Java
普林斯顿大学的cos126用的是Java,进阶的cos217用的是c
国内似乎落后了2个时代(c/c ——Java——Python)?
其实最大的原因是教入门课的老师也是学c/c 入门的,自己也懒得更新课程(也不想自己认真学Python?)。况且之后的面向对象程序设计课、数据结构课可以顺理成章地用c ,一脉相承避免了换语言导致别的问题,而且各种编程竞赛也用c/c 很多年了(当然我很不能忍有的还在用vc 6.0,既然要用ide干嘛不用vs)院里领导觉得没必要大费周章改用Python(何况学计算机哪能不学c/c ?)
个人觉得用尽量避免接触语言细节的语言进行编程入门学习、把注意力集中在算法计算思维上才是初学者该做的。所以我也反对用c入门。而且mingw编译器安装对初学者也比较麻烦(用vs无视这种情况),何况很多人将来工作压根不用c/c 。