C语言是个很有意思的话题。对于计算机专业的学生来说,C语言可以算是本专业的另一门“普通话”。曾经看过一份资料,说国内九成高校在给大一开设的“高级编程语言”一课中选择使用C语言,而这仅仅只是开始。我们知道,计算机专业是有几门“硬菜”课程的,比如说数据结构、算法、编译原理和操作系统,这些课程都有自己的知识体系,不过,所使用的教材很可能会在书名后面多加一个括号写上“C语言描述”,这是因为计算机专业的知识总是需要通过编程才能落地见效,而教材们都喜欢选择用C语言来示例编程。可以说,计算机的专业课基本上就是个C语言宇宙,哪怕是毕业多年以后重聚,说一句“Long time no C”,一定都能引得大家会心一笑和无限回忆。 不过,疑惑随之而来。前两年一位985的学生在网上发帖询问:为什么现在学校还在教授C语言,而不选择更为“现代”的Java或者Python?这贴很快变成圈内热帖,大家一时议论纷纷。在很多人看来,诞生于1973年的C语言虽然历史地位无法撼动,但已经是一款爷爷辈的老语言,早就该到了“尚能饭否”的年纪。 那么,应该学什么呢?在20年前互联网刚刚兴起的时候,大家都想去学更时髦的Java,而到了机器学习大红大紫的现在,则很难拒绝Python的诱惑。近几年Rust、Go、Swift等新语言像雨后春笋般冒出来,隔一段时间就来一版重大更新,变着花样在刺激着大家喜新厌旧的神经。所以,每隔一段时间网上就会掀起一阵“是时候要换掉C语言”的讨论。 不过,C语言真的已经是时代的眼泪了吗?