C 是什麼樣的語言?

學習交流可加

微信讀者交流①羣 (添加微信:coderAllen)
程序員技術QQ交流①羣:736386324


C 是什麼樣的語言?
這個問題不要急於尋找問題的答案,而是應該先去考慮當前的問題是什麼?

C語言其實就是一種工具,而且確實也是爲作爲工具而開發的,所以就具有以下特點
1>爲了解決眼前問題,由開發現場的人發明的,
2>雖然使用方便,
3>但看上去不怎麼順眼,
4>如果不熟悉的人糊里糊塗地使用了它,難免會帶來“悲劇”的語言。

C的發展歷程
1978 年出版了被稱爲 C 語言寶典的 The C Programming Language 一書

當然作爲一門“古老的編程語言”,不完備和不統一的語法使C語言一直被詬病

Rationale 中有“keep the spirit of C”(保持 C 的精神) 一節,關於“C 的精神”是這樣介紹的:
1. 請信任程序員(Trust the programmer)
2. 不要阻止程序員去做需要做的工作(Don’t prevent the programmer from
doing what needs to be done)
3. 保持語言的小巧和簡單(Keep the language small and simple)
4. 爲每一種操作只提供一種方法(Provide only way to do an operation)
5. 就算不能保證可移植性,也要追求運行效率(Make it fast, even if it is not guaranteed to be portable)

C 是抱着“程序員萬能”的理念設計出來的。在 C 的設計中,優先考慮的是

如何才能簡單地實現編譯器(而不是讓使用 C 的人們能夠簡單地編程)
如何才能讓程序員寫出能夠生成高效率執行代碼的程序(而不是考慮優化編譯器,使編譯器生成高效率的執行代碼)

C是隻能使用標量的語言

比如爲什麼 if (str == “abc”) 是錯誤的,因爲字符串就是char類型的數組,不是標量,也就不可以用==比較如今的 C(ANSI C) 通過以下幾個追加的功能,已經能夠讓我們整合地使用聚合類型了。

結構體的一次性賦值
將結構體作爲函數參數值傳遞
將結構體作爲函數返回值返回
auto 變量的初始化


更多精彩文章掃碼關注 [ Allen有話說 ],專注於編程,職場,英語(外企)
掃碼關注

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章