如何寫程式
很多人視寫程式為畏途。但個人認為其實是開發工具做的不夠友善。不方便讓使用者的意圖轉變為程式邏輯。使用者處處碰壁直到信心喪失殆盡,再也不想碰程式。但這個現象已經有一點改善了。
程式本身像是一篇文章,一篇述事的文章。
而這文章卻是寫給機器讀的,因此,有著嚴謹的邏輯,固定的資料型別,一絲不苟。
在這有點僵化的架構下,我們又期望可以有不同的彈性,但這彈性其實只能來自於預留的窗口。
再談論寫如何寫程式之前,先跟各位介紹一個目前很夯的名詞「運算思維Computational Thinking」,運算思維聽起來很抽象,但其實講的就是用寫程式的方式也就是電腦邏輯去思考並解決問題。這邊就有一個問題了,到底電腦邏輯式的思考與一般思考有什麼不同呢?我個人認為,電腦邏輯主要的限制在於,程式本身需透過機器的編碼做一些簡單的數學運算,這些動作拆解後是很容易執行的。因此,寫程式就是把一個問題,透過一連串邏輯的步驟,逐步解決問題。而要透過哪些步驟,去解決哪些問題則是我們要思考的。這邊說到的步驟,必須跟各位強調的是,步驟可能有大步也有小步,但在電腦的世界中,一個步驟都是非常小的,像是一個步驟指的可能是將一個資料移到另一邊,或是一筆資料與另一筆進行簡單運算,他的能力是非常受限的。當在解決問題時,人腦的思考是高階且較為跳耀式,而上述的電腦執行步驟其實是非常低階的,因此我們必須先用高階的邏輯思考,透過編譯的程序以及設計出可行的處理步驟,再將之轉換成機器碼也就是程式看得懂也可以進行的程式,也就是說,我們找一個程式語言,將我們的想要執行的動作,透過運算思維,轉換成電腦可以懂的語言,並且執行出我們要的動作。這之中一直談到的「邏輯」,即是有條理地利用一系列的判斷去解決問題,也就是說,當程式在執行時會循序進行,而遇到某些關卡時,會去判斷條件的不同,而進行不同的動作。
而在設計程式這條路上,一定會碰到許多困難,我們必須要多方嘗試,或者回頭再思考程式邏輯,來解決問題,所以千萬別灰心,一直做就對了。在這裡,給大家一些寫程式的小帖步:一定要先確認你是如何儲存資料的,以及這些資料要如何運用並且如何去執行的。以上都是我們陸陸續續要去思考的一些問題。
Last updated