網頁

2021年4月20日 星期二

淺談程式設計

想學 程式語言 卻不知從何下手? 網路上的教學網站、影片琳瑯滿目,品質也參差不齊,為了讓孩子減少摸索的時間,於是興起「整理」的念頭。

初學者該從哪種語言開始?可參考下面這張圖及影片(請點我):

 
建議先學一種 GPL(General Purpose Language),例如: Java, Python, C++,其中 Java 太過 物件導向(Object Oriented),學習門檻比較高,而Python雖簡單,但有執行效能慢的問題,因此可從 C++入門(適合工程背景的人),先看這部影片(請點我),以及以下基礎知識的補充:
  1. 硬體、韌體、軟體的關係 => 典型的韌體: BIOS
  2. 軟體的開發流程 => 這裡有C範例程式的變數宣告、程序導向 概念
    • Bit = 位元 = b(小寫) = 0 或 1
    • Byte = 位元組 = B(大寫) = 00000000、00000001 ~ 11111111,2^8(256)種狀態
    • 變數宣告 int = 4Byte = 32Bit;bool = 1 Bit (0/1);char = 1 Byte(例如英文字母,另中文字為 2 Byte) ...參考、或者 變數的使用 =>拿出手機按一下計算機
    • 積體電路每一 CMOS 代表一個 0 或 1,千萬甚至上億個 CMOS 組成一個 Chip(晶片,或稱Die), 一片12"晶圓約可生產 500 個 Chip(視產品用途而定) => 積體電路的組成
    • Chip 中的 CMOS 彼此之間如何溝通?這當然要看產品想要達成哪些功能,以及 IC 設計工程師如何設計而定,可參考 積體電路的製作流程 => 上億個肉眼看不到的超微小CMOS如何串連? 如何生產製造?
  3. 開發的程式可在不同平台執行(ex: Windows, MacOS, Linux...)
    • 早期程式只能跑在單一平台,例如 Foxpro、Delphi、VB6...只能跑在 Windows。
    • 現在大都可跨平台,同樣的 source code 拿到不同平台編譯便可跑在該平台,甚至可編譯成 DLL 拿到各平台直接使用。
  4. 整合開發環境(IDE, Integrated Development Environment):圖形介面,引入GUI framework及外掛(plugins),所見即所得(what you see is what you get、WYSIWYG) => 通常程式是一行行的敲出來,為能重複利用可寫成 procedure(不用回傳值) 或 function(可回傳值),但若要在畫面中新增一個視窗物件(ex: Button、Combo Box)讓使用者操作,直接拖拉及簡單設定ㄧ下是不是容易許多?所以程式開發通常都以 IDE 進行。
    • Java: Eclipse、JBuilder、JDeveloper
    • C++: Visual C++、C++ Builder、Dev-C++
    • C#: Microsoft Visual Studio
    • JavaScript: Visual Studio Code、泛用文字編輯器(ex: UltraEdit, NotePad++)
    • 有沒有哪個 IDE 可支援多種語言,只要熟悉一種介面及設定方式便可通吃?個人覺得 Eclipse 還不錯用,除 Windows 版本外,也有 MacOS、Linux 版本 => 參考
    • Microsoft Visual Studio 與 Visual Studio Code 是不同的產品,兩者定位不同,但都非常適合一般人使用,因網路上資源多,又是系出名門,而且還可跨平台,初學者就直接使用這個吧 => 參考

 
程式語言只是一個解決問題的工具,可多利用別人寫好的函式庫及程式,或者參考網路上的眾多資源,切記!寫程式的最佳夥伴是 Google

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。