可能重複:
Is there any advantage of being a case-sensitive programming language?程序語言中區分大小寫的好處是什麼?
我的第一個編程經驗,其中具有基本的家庭(MSX BASIX,Q-基本,VB)。 這些都不區分大小寫。現在,這可能是因爲這些第一次的經歷,但我從來沒有理解區分大小寫的語言的好處。相反,我認爲這是一個不必要的開銷和錯誤的來源,當我使用時,它仍然讓我很煩惱。 Java或C.
現在,我剛剛閱讀了Clojure(一種Lisp方言),並注意到 - 令我驚訝的是 - 與Lisp的區別之一是case-sensitivity。
所以:對於區分大小寫的語言,實際上對程序員有什麼好處?
我能想到的唯一的事情是:
- 符號的雙數
- 的視覺感受和使用像駝峯,例如技術複雜的變量更容易閱讀
HopCount
但是,第一個參數不因爲是對錯誤的主要來源(不好的做法,使用跳數和跳數的一種方法)舉行。
第二個參數也不適用,因爲體面的IDE可以通過其他方式提供。一個很好的例子是VBA IDE,它具有非常好的方法:語言不區分大小寫,但只要鍵入變量,它就會將其更改爲定義中使用的情況。例如,如果您定義了Dim thisIsMyVariable as string
,則會將thisismyvariable
的任何出現更改爲thisIsMyVariable
)。這給程序員提供了一個直接的線索,即變量實際上是正確輸入的(因爲它改變了外觀)。
編輯:添加...好處給程序員 ...
技術上它不是符號數量的兩倍。假設最大符號長度爲32個字符,則不區分大小寫可以是38個字符('a-z0-9_ $''),具有'38^32 = 3.57e + 50'個排列。在區分大小寫的情況下再添加26個字符,我們有'64^32 = 6.28e + 57'排列,這是大約1.76e + 7倍以上的符號,而不只是兩倍以上的符號。這並不重要。 – 2011-03-04 13:07:25
我認爲可讀性是主要的。也使編譯器做少一點工作。考慮一下'String string = new String();' – Melv 2011-03-04 13:08:37
是的,對於它的價值,我**完全同意**關於區分大小寫而不是程序員的好處。不幸的是,這似乎是一個主觀/爭論性的問題,對此沒有明確定義的答案。因此,我認爲這不太適合Stack Overflow。我真的不知道[程序員.stackexchange.com](http://programmers.stackexchange.com)上的政策是什麼,但我認爲這將是一個有趣的討論。 – 2011-03-04 13:08:59