編程語言中的分號

IT屆流傳著一個廣為人知的陳年笑話:

我是個程序猿,一天我坐在路邊一邊喝水一邊苦苦檢查bug。這時一個乞丐在我邊上坐下了,開始要飯,我覺得可憐,就給了他1塊錢,然後接著調試程序。他可能生意不好,就無聊看看我在幹什麼,然後過了一會,他幽幽的說,這裡少了個分號。


分號。

編程語言中的分號

對,我們今天就來聊聊編程語言中的分號!


編程語言的數量,那可多了去了。但是,分號的作用無外乎兩種:語句分隔符語句終止符


當然,還有很多編程語言不涉及分號的使用,此處先放下不管。

編程語言中的分號

我們先看一下分號,是怎麼出現到編程語言中的。


FORTRAN語言是世界上第一個被正式推廣使用的高級編程語言。想了解編程語言的可以看一下匯智妹之前寫的《編程語言發展史》。


在FORTRAN語言中,分號毫無存在感,既不作為語句分隔符使用,也不作為語句終止符。FORTRAN中的語句每行只能寫一個,所以新行就自然而然成為了語句終止符。

編程語言中的分號

1958年12月,首次使用分號的ALGOL 58誕生了。在這個版本中,分號是作為語句分隔符使用的,雖然經常被多餘地用作語句結束符。


然而在1959年,IBM與SHARE因應700系列上運作更替的成本效益,終止了ALGOL 58的使用。

編程語言中的分號

隨著ALGOL的發展,也啟發了Simula、Pascal、Ada、C語言的發展。


C語言或者說類C語言則開始把分號作為語句結束符來使用,而JavaScript在此同時允許在大多數以換行符結尾的語句末尾省略分號


將分號作為語句結束符這件事,開啟了一扇新的大門。


編程語言中的分號

寫分號,不是為了配合人類習慣,只是為了配合編譯器。尤其是在那個編譯器還不太聰明的年代。


漸漸地,關於分號的段子越來越少,不需要分號的語言也越來越多。


比如Python,比如Swift,比如Ruby……當然還有Go,不過,Go只是不將分號作為語句終止符,但會把它作為語句分隔符。


編程語言中的分號

我們有理由相信,隨著編程語言的不斷髮展,分號這個磨人的小妖精,將徹底消失。


當然,分號作為語句分隔符還是很好用的,這個可以有。


分享到:


相關文章: