现在的 C 语言仍值得程序员学习吗?

2019年7月17日 232点热度 0人点赞 0条评论

图片

时至今日,技术界的各种新编程语言层出不穷,提供的功能特性也是应有尽有,那么古老的 C 语言又是凭什么屹立不倒?是否仍值得程序员学习?

图片

作者 | 肖楠

译者 | 弯月,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

C是一种系统编程语言,不仅有些年头了,而且名声还不太好,比如未定义的行为、内存相关的Bug等。特别是在今时今日Go和Rust迅速走红的情况下,C似乎已渐渐被人遗忘了。尽管如此,恕我直言,C仍然值得花时间学习。

无论你是C语言的编程新手还是经验丰富的程序员,我强烈建立你读一读《现代 C 语言》(Modern C)这本书。通过本书,你就会发现C语言也在悄悄地进化,如今这门语言也不像你想象的那么原始。例如,C11定义了类似于C++的标准线程API,这个功能让C看起来更像是一种“现代”语言,而不是过时的语言。你可以通过本书从新的角度来审视C语言。

无论你是系统语言程序员、运维人员、性能工程师还是身处其他职位,对操作系统的了解越多,就能越好地完成工作。

以所有流行的类Unix操作系统为例,从内核到命令行工具,几乎都用C语言实现。研究相关的源代码可以让你深入理解内部操作系统。例如,我知道有一个taskset命令可以绑定到一个专用CPU进程,但我想知道其背后的实现方法,所以我阅读了源代码。然后,我得知了两个真相:

  • 有一个“/ proc /%pid / task”文件夹,用于记录进程的线程信息;

  • taskset实际上是通过调用sched_setaffinity和sched_getaffinity API来完成任务的。

最后,因为C是靠近底层的语言,所以在某些情况下性能至关重要时,你可以利用C来编写高性能的代码,充分利用CPU。

虽然我列举了很多我认为你应该学习C的理由,但也许你也有充分的借口拒绝考虑C语言。没关系。但是,如果你想尝试C语言,那么首先不要害怕,勇敢地迈出第一步。尽管编写C语言代码很容易出错,但是你只需要确保你编写的内容是正确,不使用未定义的行为,那就没问题。

原文:https://nanxiao.me/en/as-a-system-programming-language-c-still-deserves-learning-today/

声明:本文为 CSDN 经作者授权翻译。

【End】

图片

图片

 热 文 推 荐 

华为拍月亮申请专利;魅族黄章回应李楠离职;GoLand 2019.2 Beta 发布 | 极客头条

为何有 60% 的程序员拒绝公开讨论薪资?

重磅 | 京东云区块链数据服务(BDS)正式开源!

☞计算机密码发明者去世!曾获图灵奖、并启蒙 Unix 诞生!

☞344亿天价罚单也救不了Libra!

☞面试官问我:你们的数据库是怎么架构的?

☞10分钟学会用Pandas做多层级索引

☞江湖又现中科大少年班的传说

☞中国第一程序员,微软得不到他就要毁了他!

图片点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

图片
你点的每个“在看”,我都认真当成了喜欢
6640现在的 C 语言仍值得程序员学习吗?

root

这个人很懒,什么都没留下

文章评论