最近我在網(wǎng)上看到一些人把各種腳本語(yǔ)言放到一起進(jìn)行比較。腳本語(yǔ)言:PHP, Perl, Python, Ruby。我的第一反應(yīng),以及第二反應(yīng)是:討厭!我有我自己的偏好,從沒向任何人說(shuō)過(guò)。我喜歡可讀性好的程序,程序里出現(xiàn)的任何的特殊字符(任何非數(shù)字、字母的字符)都會(huì)影響我的閱讀速度。這讓我思考起我們應(yīng)該如何設(shè)計(jì)編程語(yǔ)言?我們語(yǔ)言設(shè)計(jì)是在進(jìn)步還是在倒退還是在停步不前?(北京網(wǎng)站制作)
回到我剛開始寫程序的時(shí)候,大概是40年前,那時(shí)的三大編程語(yǔ)言是FORTRAN、COBOL 以及后來(lái)的BASIC。FORTRAN(FORmula TRANSlation的簡(jiǎn)寫)被數(shù)學(xué)家(我的數(shù)學(xué)專業(yè)的哥哥必須要學(xué)它)和科學(xué)家們使用。COBOL (其中的B 代表Business)被用于企業(yè)應(yīng)用。BASIC是一種教學(xué)語(yǔ)言,在企業(yè)里廣為使用。COBOL因?yàn)樗娜唛L(zhǎng)的語(yǔ)法而受一些人痛恨,而同時(shí)卻也被另外一些人所喜愛。但它至少是很容易理解的??纯聪旅嫜h(huán)的寫法:
- PERFORM?VARYING?WS-BOTTLE-NUM?FROM?98?BY?-1?UNTIL?WS-BOTTLE-NUM?<?2END-PERFORM?
很像一個(gè)英語(yǔ)句子。跟C語(yǔ)言風(fēng)格的語(yǔ)言(C#)比較:
- for?(WSBOTTLENUM?=?98;?WSBOTTLENUM?>=?2;?WSBOTTLENUM--){}?
哪一個(gè)更顯而易見?除非你謊稱自己沒經(jīng)驗(yàn)。
BASIC (這里是Visual Basic)某些地方可讀性處于中等水平。
- For?WSBOTTLENUM?=?98?To?1?Step?-1Next?
步長(zhǎng)——每次減少的數(shù)——很容易理解,至少我是這么認(rèn)為。讓我們看一些非常簡(jiǎn)單的東西。
k = i / 10;
這會(huì)讓初學(xué)者抓狂。這是做什么的?我們這些程序員當(dāng)然會(huì)知道,但對(duì)于初學(xué)者,這種指令操作方式會(huì)讓他們困惑。你可以把它與相同功能的COBOL語(yǔ)言比較:
- divide?i?by?10?giving?k?
有點(diǎn)長(zhǎng)?不錯(cuò),但一個(gè)初學(xué)者能看懂。我現(xiàn)在并不是在主張重新回到COBOL語(yǔ)言,誠(chéng)然,相比起當(dāng)時(shí)在紙片上打孔的時(shí)代,現(xiàn)代的集成開發(fā)工具和像Intellisence這樣的功能讓我們的編程變的容易的多了??墒?,我還是要說(shuō),一些入門語(yǔ)言應(yīng)該羅嗦一些——英語(yǔ)句子比“#號(hào)在這種編程語(yǔ)言里代表什么”要容易上手的多。
只是好玩,如果你想看一看各式各樣的語(yǔ)言,可以訪問(wèn)99 Bottles of Beer這個(gè)網(wǎng)站。
這個(gè)網(wǎng)站收集了用各種不同語(yǔ)言編寫的99 Bottles of Beer的歌詞。目前已經(jīng)有1434種不同的編程語(yǔ)言和語(yǔ)言變種來(lái)表現(xiàn)這首歌。 標(biāo)簽:北京網(wǎng)站制作 高端網(wǎng)站建設(shè)