維基少年:少兒程式設計/什麼是程式設計?

計算機是一種接收資料、處理資料並輸出結果的機器。你也有自己的計算機,叫做大腦。當老師讓你計算 4 x 4 時,這就是資料。在某個階段,你會被教導如何透過將 4 + 4 + 4 + 4 加在一起來處理這些資料。你給出的答案就是你計算的輸出。
為了處理資料,計算機必須接收指令或命令。但是,讓使用者為所有事情輸入命令是不切實際的。即使是像儲存文件或開啟瀏覽器這樣簡單的事情,也需要數千甚至數百萬行程式碼。為了解決這個問題,人們發明了儲存程式。

儲存程式是一系列儲存在計算機記憶體中的指令。當程式被使用時,計算機將從儲存程式中獲取每個指令並執行它。這個過程是由數學家查爾斯·巴貝奇構想的,後來由艾達·洛芙萊斯(拜倫勳爵的女兒)實現。

低階程式語言是一種容易被計算機理解的語言。它們包括機器程式碼和組合語言,這兩種語言都直接指示計算機硬體元件執行指令。但是,低階程式語言很難學習,並且編碼起來很耗時。
高階程式語言是為了幫助人類程式設計師方便地與計算機通訊而設計的。這些語言學習曲線更平緩,並且功能非常強大。高階程式語言的典型例子包括C、Java、LISP、Smalltalk、PASCAL、LOGO、Visual Basic和Python。這些語言通常會被編譯,或者轉換成低階程式語言,以便能夠直接執行。發明編譯器概念的人是葛麗絲·霍珀,有時被稱為“神奇的葛麗絲”。
然而,一些程式語言被設計為由另一個計算機應用程式解釋,例如JavaScript,它由網頁瀏覽器解釋,以及PHP,它由網頁伺服器解釋。
原則上,也可以構建一臺直接理解高階程式語言的計算機,這樣,從某種意義上說,這種語言就是該計算機的“組合語言”。然而,在實踐中,這對計算機來說更難,因此它仍然被認為是高階語言——這種語言是為人類程式設計師設計的,而計算機必須努力趕上。
一些高階程式語言被設計用於特定目的。JavaScript 用於建立動態網頁,而ActionScript負責 Flash 應用程式。另一些語言則被設計用於通用目的。例如,Java 可以建立從遊戲到物理模擬、從簡單的控制檯程式到大規模商業軟體等大量程式。
程式設計是一種解決問題的形式。它包括定位你的問題、分析它、設計解決方案框架、編寫實際程式碼、測試演算法,最後編寫文件。在這本書中,我們將逐一講解這個過程。讓我們開始吧!