源码

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

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

image.png

作者 | 肖楠

译者 | 弯月,责编 | 郭芮

出品 | 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 经作者授权翻译。

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/xianzaide-c-yuyanrengzhidechengxuyuanxuexima.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:7 月 23, 2019 at 10:57 上午

热评文章

评论:

1 条评论,访客:0 条,博主:0 条
  1. 小石
    小石发布于: 

    现在还值得当程序员吗

发表回复

[必填]

我是人?

提交后请等待三秒以免造成未提交成功和重复