Python語言強制縮進是敗筆?

好家伙,這個問題還是被人拿出來討論了。
我第一次接觸的Python的時候,發(fā)現(xiàn)代碼塊之間竟然是用縮進來區(qū)分的,一時間還難以適應(yīng)。
不過寫了幾十行代碼后很快就適應(yīng)了,還覺得用縮進有那么點獨特性
因為強制縮進的話,代碼寫完后天然地就是排版好的。不需要刻意做格式化處理。我記得剛開始寫python代碼用的是vim。
用的vim的都是知道,學(xué)習(xí)曲線非常陡,想打造出一個IDE,需要花很多精力。而用來寫python就很適合了,寫完之后,代碼非常工整。
P被問到為什么要強制縮進時,Python之父,Guido van Rossum當(dāng)時是這么說的:
這種強制縮進,并不是什么新概念。當(dāng)年我在 CWI 使用 ABC 語言編程的時候,人家就這么干的。我從 ABC 語言中繼承了這個概念。不過 occam 這種很古老的語言也是用了這種方式,我不知道他們是誰先采用的,也許都是獨創(chuàng)。這種思想也可能出自 Don Knuth(高德納,著名計算機科學(xué)家,經(jīng)典巨著《計算機程序設(shè)計藝術(shù)》的作者),他早在 1974 年就提出過這種做法。
Python繼承自ABC語言,至于ABC為啥要采用縮進的方式來分隔代碼塊。個人覺得并不是什么口味問題,而是出于當(dāng)時的時代原因。
Python誕生于 1989年,ABC就更早了。那時候也沒有什么IDE,Python的設(shè)計目標是一門簡潔易用具備可讀性的語言,而用強制縮進,確實可以讓代碼的可讀性更高。當(dāng)然,強制用縮進也少了左花括號到底要不要換行的爭論。
如果放在今天,按我個人的口味來的話,我更傾向于{}來區(qū)分代碼塊。畢竟現(xiàn)在的計算機性能已經(jīng)今非昔比。IDE的智能化已經(jīng)很很好的處理代碼格式問題了。
反而用空格我得小心翼翼生怕多敲了一個空格,空格與tab的混用也使得在不同運行環(huán)境中出問題,這個問題對初學(xué)者來說尤為明顯。
強制縮進與{}兩者的優(yōu)劣誰也爭不出個輸贏,純粹就是個人口味問題。把更多時間用來怎么除去代碼的“壞味道”才是正事。
- EOF -
推薦閱讀:
評論
圖片
表情
