當前位置:
首頁 > 知識 > 現在的 C 語言仍值得程序員學習嗎?

現在的 C 語言仍值得程序員學習嗎?

現在的 C 語言仍值得程序員學習嗎?

時至今日,技術界的各種新編程語言層出不窮,提供的功能特性也是應有盡有,那麼古老的 C 語言又是憑什麼屹立不倒?是否仍值得程序員學習?

現在的 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】

現在的 C 語言仍值得程序員學習嗎?

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

科技界流傳的 OKR 系統有用嗎?
蘋果 5G 掉隊

TAG:CSDN |