成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C 語言發展簡史

開發
C 語言將在 2022 年滿 50 歲。然而,盡管它歷史悠久,在許多“流行編程語言”的調查中,C 語言仍然是“很常用”的編程語言之一。

下面是我對 布萊恩·克尼漢Brian Kernighan 的采訪,他(與 丹尼斯·里奇Dennis Ritchie)是《C 程序設計語言The C Programming Language》一書的共同作者,我們談及了 C 語言及其 50 年的歷史。

兩位作者寫的最初的 C 語言編程指南,大約是在 1978 年

C 語言將在 2022 年滿 50 歲。然而,盡管它歷史悠久,在許多“流行編程語言”的調查中,C 語言仍然是“最常用”的編程語言之一。例如,你可以看看 TIOBE 指數,它追蹤不同編程語言的流行程度。許多 Linux 應用程序是用 C 語言編寫的,例如 GNOME 桌面。

我采訪了 布萊恩·克尼漢Brian Kernighan,以了解更多關于 C 語言及其歷史他(與 丹尼斯·里奇Dennis Ritchie)是《C 程序設計語言The C Programming Language》一書的共同作者。

C 語言是怎么誕生的呢?

C 語言由一系列旨在進行系統編程的語言演變而來,系統編程就是編寫像編譯器、匯編器、編輯器以及最終的操作系統這樣的程序。麻省理工學院有一個與貝爾實驗室合作的 Multics 項目,它計劃用一種高級語言編寫系統的所有部分(這在 1965 年那時候是一個新想法)。他們打算使用 IBM 的 PL/1,但它非常復雜,而且承諾的編譯器也沒有及時交付。

在與一個叫做 EPL 的子集(由貝爾實驗室的道格拉斯·麥克羅伊Douglas McIlroy 設計)進行了短暫交流后,Multics 轉向了 BCPL,這是一個由劍橋的 Martin Richards 設計和實現的,更加簡單和干凈的語言,我記得他當時正在麻省理工學院訪問。當 肯·湯普遜Ken Thompson 開始研究后來的 Unix 時,他在 BCPL 的基礎上創造了一種更簡單的語言,他稱之為 B 語言。在 1969 年,他為搭載了第一個 Unix 原型系統的 PDP-7 計算機實現了這種語言。

BCPL 和 B 都是“無類型”語言。也就是說,它們只有一種數據類型,即整數。DEC 公司的 PDP-11 計算機大約在 1971 年投入使用,它搭載了第一個真正的 Unix 系統。PDP-11 支持幾種數據類型,特別是 8 位字節和 16 位整數。因此,一種同樣支持幾種數據類型的語言是更好的選擇。這就是 C 語言的起源。

C 語言在貝爾實驗室和早期版本的 Unix 中是如何使用的呢?

C 語言最初只在 Unix 上使用,盡管過了一段時間,也有了用于其他機器和操作系統的 C 語言編譯器。大多數情況下,它被用于系統級的編程,涵蓋了相當多有趣的領域,還有很多用于管理 AT&T 電話網絡運營的系統。

在貝爾實驗室用 C 語言編寫的最有趣的項目是什么?

可以說,最有趣、最令人難忘、也是最重要的 C 語言程序就是 Unix 操作系統本身。1971 年 Unix 的第一個版本是用 PDP-11 匯編語言編寫的,但到了第四版,也就是 1973 年左右,我們用 C 語言重寫了它。這很關鍵,因為這意味著操作系統(和它所有的支持軟件)基本上可以通過重新編譯來移植到不同類型的計算機上。雖然在實踐中并沒有那么簡單,但也相差不遠。

你與丹尼斯·里奇合著了《C 程序設計語言》一書。那本書是怎么來的,你和丹尼斯又是如何在書中合作的呢?

我曾經寫過一本肯·湯普遜的 B 語言教程,幫助人們快速上手使用它。當 C 語言可用時,我將其升級為 C 語言的教程。過了一段時間,我說服了丹尼斯,讓他和我一起寫一本 C 語言的書。基本上,除了系統調用那章外,大部分的教程材料都是我寫的,而丹尼斯已經寫好了那個參考手冊,寫的非常棒。然后我們反復修改,使教程部分更加流暢。參考手冊幾乎保持不變,因為它從一開始就寫得很好。這本書的格式是用 troff 格式器格式的,這是 Unix 上的許多工具之一,我做了大部分的格式化工作。

C 語言什么時候成為了貝爾實驗室以外的其他程序員用于工作的東西呢?

我真的記不大清了,但我認為大概是在最初的五六年里,C 語言主要是跟著 Unix 一起發展的。隨著其他操作系統上的編譯器的發展,它開始蔓延到 Unix 以外的其他系統。我不記得我們是什么時候意識到 C 和 Unix 產生了真正的影響,但應該是在 20 世紀 70 年代中后期。

為什么 C 語言會成為如此有影響力的編程語言呢?

早期的主要原因是它與 Unix 的聯系,Unix 在世界上迅速傳播。如果你使用 Unix,你就會用 C 語言來編程。后來,C 語言傳播到不一定運行 Unix 的計算機上,很大程度上是因為 Steve Johnson 編寫了可移植 C 語言編譯器。在工作站領域,比如 昇陽微系統(Sun Microsystems)、MIPS(后來成為 SGI)和其他公司,它們都是因為 Unix 和 C 語言的結合而獲得成功。IBM PC 出現得稍晚一些,大約在 1982 年。后來 C 語言成為 MS-DOS 和 Windows 下的標準編程語言之一。今天,大多數物聯網(IoT)設備會使用 C 語言。

在創建約 50 年后的今天,C 仍然是一種流行的編程語言。為什么它仍然如此受歡迎呢?

我認為 C 語言在效率和表現力這兩個方面達到了一個平衡點。在早期,效率真的很重要,因為與我們今天所使用的計算機相比,當時的計算機速度很慢、內存十分有限。C 語言是非常高效的,因為它可以被編譯成高效的機器代碼,而且它也足夠簡單,人們很容易學會如何編譯它。同時,它還具有很強的表現力,易于編寫,并且結構緊湊。至少在我謙虛而正確的觀點中,沒有任何一種語言能很好地達到這種境界。

多年來,C 語言的發展和變化如何?

我想,C 語言的發展是適度的,但我并沒有太注意 C 語言標準的發展。C 語言已經有足夠的改變了,80 年代寫的代碼需要做一些前置工作才能編譯,但這主要與誠實對待類型有關。比較新的功能,如復數,也許是有用的,但對我來說不是,所以我不能做出明智的評論。

哪些編程問題可以用C語言最容易解決?

嗯,對于任何事情來說,它都是一種很好的語言,但在今天,有了充足的內存和處理能力,大多數程序員都可以用 Python 這樣的語言來進行內存管理和處理其他更高級的結構。C 語言仍然是底層編程的一個很好的選擇,因為對于底層編程來說,充分利用 CPU 周期和每一個字節仍然很重要。

C 語言影響了其他編程語言,包括 C++、Java、Go 和 Rust。你對這些編程語言有什么看法?

幾乎每一種語言在某些方面都是對其前輩的反應。簡單點說,C++ 增加了控制信息訪問的機制,所以對于真正的大型程序來說,它比 C 更好。Java 是對 C++ 的復雜性的一種反應。Go 是對 C++ 的復雜性和 Java 的限制的一種反應。Rust 是對 C 語言(大概也是對 C++)中內存管理問題的一種嘗試,同時它接近了 C 語言的效率。

它們都帶來了某些積極的特性,但不知何故,沒有人能夠完全滿意,所以總是會有更多的語言,反過來對以前的語言做出反應。同時,老的語言,在大多數情況下,仍會繼續存在,因為它們的工作做得很好,而且有一個嵌入式的根據地,老的語言在里面可以完美使用,而用新的東西來重新實現是不可行的。

感謝 Brian 為我們分享了 C 語言編程的偉大歷史!

責任編輯:未麗燕 來源: Linux中國
相關推薦

2013-03-04 15:04:16

2012-09-21 13:30:51

Java多線程Java發展

2018-03-21 06:47:02

移動通信5G互聯網

2011-06-23 12:02:43

SPARC云計算服務器

2017-06-21 20:54:40

電子技術計算機電子

2021-08-14 09:23:03

即時通訊IM互聯網

2021-07-05 09:40:25

iSCSI存儲協議以太網

2009-07-03 11:47:00

2014-09-26 09:29:12

Python

2020-12-04 09:30:18

HTTPWeb前端

2022-06-27 08:00:00

無代碼軟件編程程序員

2015-12-01 10:36:11

2009-06-10 18:08:14

2020-09-29 11:51:30

云計算

2013-06-09 09:15:01

2013-06-09 09:58:58

2023-09-06 06:46:40

顯卡接口RTX 4060

2013-09-17 11:19:20

京東虛擬化

2021-03-15 12:42:40

VRAR虛擬現實技術

2019-06-18 09:31:59

操作系統華為鴻蒙
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久机热 | 99re在线观看 | 黄色一级免费观看 | 色爱综合网 | 日韩在线不卡 | 黄色大片免费播放 | 欧区一欧区二欧区三免费 | 成人在线观看免费爱爱 | 日韩视频区 | 少妇久久久久 | 日韩欧美在 | 国产精品亚洲成在人线 | 久久亚洲综合 | 国产欧美精品一区二区 | 欧美精品在线免费观看 | 国产视频一区二区三区四区五区 | 欧美精品一区二区三区四区 在线 | 成人一区二区电影 | wwwxxx国产| 免费av观看 | 久久精品中文字幕 | 国产免费看 | 另类视频在线 | 久久99国产精品久久99果冻传媒 | 欧美理论 | 性色视频 | 中文字幕欧美一区 | 99久久精品视频免费 | h在线看 | 亚洲精品国产电影 | h视频在线免费 | 中文字幕国产视频 | 91精品久久久久久久久久 | 国产午夜精品理论片a大结局 | 不卡在线视频 | 欧美一区二区三区在线播放 | 亚洲一区二区视频 | 欧美日韩中文在线观看 | 手机看片在线播放 | 99热这里都是精品 | 夜夜夜久久久 |