編程語言的可讀性

fmms 13年前發布 | 8K 次閱讀 編程語言

本文是從 Readability in Programming Languages 這篇文章翻譯而來。


最近我在網上看到一些人把各種腳本語言放到一起進行比較。腳本語言:PHP, Perl, Python, Ruby。我的第一反應,以及第二反應是:討厭!我有我自己的偏好,從沒向任何人說過。我喜歡可讀性好的程序,程序里出現的任何的特殊字符(任何非數字、字母的字符)都會影響我的閱讀速度。這讓我思考起我們應該如何設計編程語言?我們語言設計是在進步還是在倒退還是在停步不前?

回到我剛開始寫程序的時候,大概是40年前,那時的三大編程語言是FORTRAN、COBOL 以及后來的BASIC。FORTRAN(FORmula TRANSlation的簡寫)被數學家(我的數學專業的哥哥必須要學它)和科學家們使用。COBOL (其中的B 代表Business)被用于企業應用。BASIC是一種教學語言,在企業里廣為使用。COBOL因為它的冗長的語法而受一些人痛恨,而同時卻也被另外一 些人所喜愛。但它至少是很容易理解的。看看下面循環的寫法:

PERFORM VARYING WS-BOTTLE-NUM FROM 98 BY -1
               UNTIL WS-BOTTLE-NUM < 2
END-PERFORM

很像一個英語句子。跟C語言風格的語言(C#)比較:

for (WSBOTTLENUM = 98; WSBOTTLENUM >= 2; WSBOTTLENUM--)
{
}

哪一個更顯而易見?除非你謊稱自己沒經驗。

BASIC (這里是Visual Basic)某些地方可讀性處于中等水平。

For WSBOTTLENUM = 98 To 1 Step -1
Next

步長——每次減少的數——很容易理解,至少我是這么認為。讓我們看一些非常簡單的東西。

k = i / 10;

這會讓初學者抓狂。這是做什么的?我們這些程序員當然會知道,但對于初學者,這種指令操作方式會讓他們困惑。你可以把它與相同功能的COBOL語言比較:

divide i by 10 giving k

有點長?不錯,但一個初學者能看懂。我現在并不是在主張重新回到COBOL語言,誠然,相比起當時在紙片上打孔的時代,現代的集成開發工具和像 Intellisence這樣的功能讓我們的編程變的容易的多了。可是,我還是要說,一些入門語言應該羅嗦一些——英語句子比“#號在這種編程語言里代表 什么”要容易上手的多。

只是好玩,如果你想看一看各式各樣的語言,可以訪問99 Bottles of Beer這個網站。

這個網站收集了用各種不同語言編寫的99 Bottles of Beer的歌詞。目前已經有1434種不同的編程語言和語言變種來表現這首歌。

本文轉載自: 外刊IT評論 http://www.aqee.net/

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!