編程語言

編程語言

 

 

跟人類語言(自然語言)最大的分別,是跟電腦溝通的方式,而且是給電腦有一定基礎的人(程序員)使用。

 

自然語言稍有語法 grammar、詞彙 vocabulary上的錯誤時,大致上還可以溝通到(當然有機會誤解),但電腦一定會出錯、拒絕執行,不明白你說什麼,即使標點錯誤也不明白。

 

編程詞彙有所限制:保留字reserved word 不能用作「變數名稱」variable(用戶製訂的名詞),是語法 syntax專用的詞彙,如If、for、int等。


 

進入廚房

拿咖啡及杯

沖一杯咖啡

拿出來給我喝


 

這就是電腦語言(編程語言),上面四句甚至可簡化成「沖一杯咖啡給我」。其中「沖一杯咖啡」還要再仔細去寫:要多少水、多少咖啡、多少糖、要攪拌到什麼程度等。有時甚至當電腦是呆笨的,咖啡放在什麼位置、用什麼方式拿咖啡、沖咖啡的茶匙在哪位置、長柄短柄等。


有關詞彙,應該說是編程員自製的,絕不可以用「保留字」,有經驗的甚至接近保留字的都不用,以免混淆。自製的詞彙,一般叫「變數名稱」variables,是一個容器,存放數字或文字,而其內容是可以更改的。變數像是數學式,可以運算:加減乘除,文字可加長縮短等。


 有種叫「函數」function,跟數學一樣,輸入x,運算完輸出y。函數有內建的,也可自製。變數和函數是電腦語言的基本詞彙。


 電腦語言有時又叫「編程語言」,一句一句的順序執行。不過實際上還有兩種情況:「迴圈」和「有條件執行」。迴圈顧名思義,不斷循環,直到某情況下離開迴圈,程序員要避免出現無限循環。有條件執行是判斷句,按照邏輯的「是非」去執行某句/段落。較大型的軟件,並非每句指令都會執行,待用戶用到某些功能,才去執行某些語句。


 大部分人都知道「輸入→處理→輸出」,輸出或者「存儲」、「傳送」,這是起碼的電腦知識。只是中間的「處理」,要有一定電腦基礎才會認識。現今的資訊,除了文字、數字,還有大量的圖像、視頻,所謂「大數據」,是資訊量超乎想像的多,要由專門的軟件、電腦語言去處理。


 今天的程序員,並不需要由零開始,電腦語言有內建的模組module ,也有外部的模組可使用,甚至有現成的相關程序使用,省卻不少功夫。需然有AI人工智能可以編程,但人手編程仍不可缺。


 電腦語言不只一種,有些語言會就某種電腦(處理器)而設計,每種語言都有其特色,程序員若精通一種語言,餘下的功夫就用在「演算法」(方法)上。電腦語言跟人類語言一樣,並不能完全「翻譯」成另一種語言。在「程式碼」中間,可以加進人類語言作為註解,方便日後讓自己和他人閱讀、修改。畢竟,程式碼的邏輯性強,很容易讓人看到頭昏腦脹。


 人機之間,有相當距離,由人輸入,到電腦處理,再到輸出,中間運算的路程不短。電腦程序跟人寫文章完全不同,稍有出錯,就會「短路」,甚至死機。放在網絡,還要注意保安、防駭客入侵,是很花腦力的。



 

程式/程序:program

編程語言:programming language

程式碼:program code

軟件/軟體:software

硬件/硬體:hardware

迴圈:loop

條件:conditions

是非:true or false

運算:operation


 

輸入→處理→輸出: input → processing → output

存儲 save

傳送 send



 

詞彙 vocabulary 

語法 grammar, syntax


 

保留字 reserve words

數字 number

文字/字串 string



 

指令 instructions 

 

邏輯 logic

演算法 algorithm 

 

指派 assign

函數 function

呼叫 call




 

by cmlai

2024-11-20

https://hkese.net/@cmlai1218_j8k

https://cmlai1218.blogspot.com/?m=1

回應