當前位置: 華文星空 > 知識

「C++」讀作「C 加加」,為什麽「C#」不能讀作「C 井」呢?

2020-10-07知識

這個問題得從C++的命名說起。

C++之父斯特勞斯特魯普在C語言的基礎上做了增強,創造出了一種增強型C語言。斯特勞斯特魯普認為這種增強型C語言是C語言的自然演進,於是依照C語言的語法規則,將其最終命名為 C++。

「++」是C語言中的運算子,表示「(變量)+1」。可以說C++的命名,是對「C++語言是對C語言的增強和演進」這一特點的優雅詮釋。

於是我們遵照音從作者的原則,應當認為「C++」是一條C語言的語句,應該按照讀這條C語言語句的習慣讀法去讀它,所以 C++的英語讀作 C Plus Plus,漢語讀作 C加加

而C♯ ,同樣依照音從作者的原則,應當英語讀作 C Sharp, 漢語讀作 C升。

這是因為嚴格來說不存在「C#」,只存在「C♯」。

♯ 並非井號#,而是五線譜裏的升號,表示升半個音,英語讀作 Sharp,漢語讀作升。

升號♯

C♯ 是音樂裏的一個音名,在音樂中「C♯」表示C升半音,所以應當英語讀作 C Sharp ,漢語讀作 C升(或升C)。

顯然,「C井」對應的英文是「C Well」,「C#」對應的英文是「C Hash」,這些都不符合作者的原意, C Sharp 才是符合 C♯ 推出者微軟公司原意的讀法之一

為什麽說「之一」呢?這是因為,C♯ 語言是一種由C和C++衍生出來的程式語言,微軟在推出時將其命名為C♯ 包含了兩種考慮:

  • 「C♯」表示 C 升半音,為比 C 高一點的音節,代表著 C♯ 是 C 的更高級形態 (註:正如在音樂上 C♯ 音節並非「更高級的C音節」, C♯ 在某些情況下不能在效能和程式大小方面與C語言相抗衡,因此C♯也並非是「比C語言更高級的程式語言」,而是C語言的另一種新形態。此處的「更高級」僅是文學意義上的高級)
  • 同時,微軟認為C♯在一些語言特性方面對比 C++更有優勢,是對 C++的提升,因此采用了C++的命名方法: 「♯」形似4個加號,代表著 C♯ 語言是對 C++ 語言的增強和演進
  • 從第二點可以得知, C♯ 實際上就是 「C++」++ 。

    我們從嚴謹的語言學角度出發,遵照音從作者的原則, 應當認為 C♯ 除了像按照音節讀法讀作 C Sharp(C升) 以外,還可以讀作 C Plus Plus Plus Plus ——漢語自然是讀作 C加加加加了。