JavaScript, CSS, SQL 和 HTML 到底算程式語言嗎?

weixin_33797791發表於2018-01-30

"什麼是程式語言?"我總會問自己這個問題,SQL是嗎?Excel是嗎?HTML是嗎?……這些問題總在困擾著我,所以我把這些疑問整理成問卷的形式,向各位網友徵集了大家的想法。

1977282-7637ba78873c7950.png

上圖就是我們這次調研結果,這次調查我們一共設定了三個選項:是、否和棄權,調查物件主要有HackNews和Reddit的讀者組成。

正如我們所預期的那樣,絕大多數人都認同C、Java和JavaScript是程式語言,而其他選項的調查結果就有趣了很多:

Verilog:大多數人同意Verilog(硬體描述語言)是一種程式語言,他們認為即使軟體的輸出是硬體,但生成硬體的過程仍然是程式化的。

SQL:大多數人認為SQL是一個程式語言,但是很多人因為其缺乏完整性而提出了異議,SQL雖然沒有類和迴圈,但其仍然有算術表示式、函式和變數。

C preprocessor:被調查者對於C preprocessor的興趣明顯要高於正規表示式,C preprocessor本質上是一個字串替換引擎,它比正規表示式的功能更少,只用於生成C程式碼。但是,很多人認為是否被用來生成程式碼是判斷是否為程式語言的關鍵因素。

LaTeX:咋一看,這是最接近程式語言的,LaTeX具有變數,函式和許多其他類PL功能(LaTeX是Turing-complete!),但是由於它的輸出是一個文件,所以我並不看好大家會把它當做是一種程式語言。

但是令人驚訝的是,它就排在C preprocessor之後。

CSS:進入Web語言時代之後,少數的受訪者也把CSS當做是一種程式語言。

TensorFlow:TensorFlow是一種具有變數、迴圈、編譯器等的資料流語言。然而,因為它是一種特定於領域的語言,而且沒有獨立的語法(它通常通過Python API程式設計),大多數被調查者並不認為它是一種程式語言。

HTML:可能和CSS的情況一樣。

JSON:JSON是一種資料規範語言,但是大多數人並不把它當做是程式語言。

Microsoft Word:GUI 不可能是程式語言!

Eclipse:看結果,很顯然並不是!

對於上述列舉的,大家是否認為其屬於程式語言呢?歡迎在下方留言評論!

來自:IT168

相關文章