为什么知乎上大多数人不推荐 C 语言入门?
https://pic4.zhimg.com/80/v2-88dcb0c80e562f738ef3e4dcdd0f7df4_hd.jpg
很大原因在于C入门不容易有成就感。
比如Python,学一阵子就可以搞出一些酷炫的东西了,这往往让初学C的人艳羡。
不过这里面也有两方面问题要指出来:
Python之所以让开发者欲罢不能,很大程度上就来自于它丰富的第三方库,而学习这些Library的使用似乎从来都是玩Python的人一上手就会接触的;反观C入门,也不是说它就不能搞酷炫的东西,只不过现在大多C的入门教程从头至尾头文件都只引入
C语言(以及 C++)基乎是现今计算机软件的基石,无论是操作系统、其他语言的编译器,甚至电饭煲里的单片机运行的程序,大多数是用 C/C++ 编写的。
如果你不是怀着功利主义去学习编程,C 语言其实是一个不错的编程入门语言。
首先,C 语言相对许多现代语言来说是十分简单(或者说是原始)。它没有内置面向对象、函数式编程、元编程等编程范式的功能,只有30来个关键字,少量的概念。可以比较短时间内完整地学完这个语言。
第二,学习 C 语言适合同时学习计算机架构,各种数据类型(包括重要的指针)都是直接能和计计算机架构的概念对应。语言里面没有魔法,都是很平凡直观。你会知道数据在内存中是怎么存储的,占多少个字节。很多语言的抽象层次更高,不能做到这一点。
第三,很多语言都有类似 C 语言的语法(如 C#、Java、JavaScript),例如花括号、分号、注释、if、for、while、do while 等等。用 C 语言入门编程后,这些知识可以过渡至其他语言。
没什么不可以的。以前我不推荐是因为那个时候读计算机的人少,被劝退了就不够用了。现在不一样了,学生泛滥,劝退九成都没问题,剩下一成完全够用。我推荐C语言入门。