編程語言
編程語言
跟人類語言(自然語言)最大的分別,是跟電腦溝通的方式,而且是給電腦有一定基礎的人(程序員)使用。
自然語言稍有語法 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