為什麼感覺用自然語言進行編程不流行呢?

Latsu


因為不利於編譯器開發。

其實python已經非常接近自然語言編程了,利用解釋器來實現對前端複雜語言的解釋再編譯成機器碼去執行。但是和普通說話一樣的自然語言是不可能的。語言既然稱之為語言,必然有其規範性,無論是編譯器還是解釋器,都是建立在這份規則之上的,過於靈活的語言不利於編譯器開發,即使開發出來,為了對大量語言容錯,其效率也會成為問題。

另外一個問題是會導致代碼閱讀困難,如果兩個人風格不同,那麼讀起來會非常的吃力,需要從語言的角度理解對方的代碼在做什麼,而不是從結構的角度。


榻榻米的榻榻


我們先了解一下什麼是 COBOL謬誤:COBOL謬誤認為編程語言之所以很難,因為它們不是英語;如果你用一種看起來像英語的語言來編程,那編程將很容易。

COBOL語言,是一種面向過程的高級程序設計語言,主要用於數據處理,是目前國際上應用最廣泛的一種高級語言。COBOL是英文Common Business-Oriented Language的縮寫,原意是面向商業的通用語言。它採用 300多個英語單詞作為保留字,以一種接近於英語書面語言的形式來描述數據特性和數據處理過程,因而便於理解和學習。我們看看實際上是不是這個樣子。

COBOL並沒有使程序更容易理解。而是不必要的冗長,這使得程序更難理解。

另外一個典型的例子是法律文書。它是用自然語言寫的。這是因為法律要保持精確,所以法律文書必須非常精確,並涵蓋每一個可預見的可能性,沒有歧義。法律文書都很長。

自然語言不是編程的最佳選擇。計算機只能理解 0 和 1。自然語言充滿了歧義。用自然語言很難描述清楚編程的過程,計算機很難去執行。


謅科技


自然語言會容易產生歧義,就像中華文化博大精深一樣,同一句話可能有很多意思。在計算機理論方面,我們應該這種的避免語句歧義,所以,自然語言是不適合編程的。


分享到:


相關文章: