程式語言與現代開發工具介紹

March 27, 2026 · View on GitHub

嗨,未來的開發者!👋 我可以跟你分享一件每天都讓我起雞皮疙瘩的事嗎?你即將發現,程式設計不只是關於電腦——它是擁有真實超能力,讓你最狂野的點子成真的力量!

你知道那種使用你最愛的 app,所有東西完美契合的瞬間嗎?當你輕觸一個按鈕,神奇的事發生了,讓你驚呼「哇,他們到底怎麼做到的?」其實,正是像你這樣的人——可能坐在最愛的咖啡廳裡凌晨兩點,喝著第三杯濃縮咖啡——寫出讓魔法成真的程式碼。接下來要讓你震撼的是:在這堂課結束時,你不僅會了解他們是怎麼做的,還會迫不及待想自己試試看!

說真的,我完全理解如果你現在覺得程式設計很可怕。剛開始時我也以為你一定要是數學天才,或是從五歲就開始寫程式的人才行。但真正改變我想法的是:寫程式就像學一種新語言的對話技巧。你先從「你好」和「謝謝」開始,再進階到點咖啡,最後你就能展開深度的哲學討論!不過這回你跟的是電腦對話,而說真的?它們是你能遇到最有耐心的對話夥伴——永遠不會因為你的錯誤評判你,且總是願意再嘗試!

今天,我們要探索使現代網頁開發不只是可能,而是令人上癮的強大工具。我說的正是那些 Netflix、Spotify 和你最愛的獨立 app 工作室裡,開發者每天都在用的編輯器、瀏覽器和工作流程。還有這個好消息會讓你忍不住跳起舞來:大多數這些專業級、業界標準的工具都是完全免費的!

Intro Programming

筆記圖由 Tomomi Imura 製作

journey
    title 你今天的程式設計旅程
    section 探索
      什麼是程式設計: 5: You
      程式語言: 4: You
      工具概覽: 5: You
    section 深入
      程式編輯器: 4: You
      瀏覽器與開發工具: 5: You
      命令列: 3: You
    section 練習
      語言偵探: 4: You
      工具探索: 5: You
      社群連結: 5: You

讓我們看看你已經知道什麼!

在開始有趣的部分之前,我很好奇—你對這個程式設計世界已經有什麼了解?如果你一看到這些問題就在想「我一點都不了解啊」,那不只沒問題,反而最好!這代表你來對地方了。把這個小測驗當成運動前的暖身,讓我們先暖暖腦袋!

做課前測驗

我們即將共同啟程的冒險

好啦,我對今天要探討的內容真心超興奮!說真的,我好想看到你某些概念「點亮」的表情。這段難以置信的旅程裡,我們將一起探索:

  • 什麼是程式設計(為什麼它是最酷的東西!)— 我們會發現程式碼就是那股看不見的魔力,驅動你周遭的一切,從那個不知怎麼知道是週一早上的鬧鐘,到完美分類你 Netflix 推薦的演算法
  • 程式語言與它們的驚人氣質— 想像你走進一場派對,每個人都擁有完全不同的超能力和解決問題的方式。這就是程式語言的世界,而你會愛上和它們見面!
  • 構成數位魔法的基本積木— 把它們想成終極創意的樂高組合。一旦了解這些零件如何結合,你會發現你可以建造任何你想像中的東西
  • 讓你感覺像拿到魔法師魔杖的專業工具— 我沒誇張,這些工具真的會讓你感覺自己有超能力,最棒的是?這些正是專業人士每天都在用的東西!

💡 重點是:今天不要試圖把所有東西都背起來!我現在只希望你感受到那種可能性的火花。詳細內容會在我們一起練習過程中自然記得——這才是真正的學習!

你也可以在 Microsoft Learn 上學這堂課!

那麼什麼是 程式設計 呢?

好啦,讓我們來討論這個價值千萬的問題:真正的程式設計是什麼?

我分享一個徹底改變我觀念的故事。上週我試著教我媽媽如何操作我們的新智能電視遙控器。我發現自己一直說:「按那個紅色按鈕,但不是大紅按鈕,是左邊的小紅按鈕…不,是你另一邊左邊…好了,現在按住兩秒,不是一秒,也不是三秒…」你有沒有聽過這種情況?😅

那就是程式設計!它是給一個非常強大的東西極度詳細且逐步的指令藝術,但必須完全說明清楚。只是你不是在解釋給媽媽(她還會問「哪個紅色按鈕?!」),而是解釋給電腦(它只會照字面指令去做,即使你說的其實不是你想表達的意思)。

當我第一次學到這點時,我被震驚了:電腦本質上其實很簡單。它只懂兩個東西——1 和 0,基本就是「是」和「不是」,或「開」和「關」而已!但神奇的是——我們不需要像電影《駭客任務》裡那樣講 1 和 0。這就是程式語言出場的地方。它們像是擁有世界上最好的一位翻譯官,能把你正常的人類想法轉成電腦能理解的語言。

接下來,每天早上醒來時仍讓我起雞皮疙瘩的是:你生活中幾乎所有數位事物,都是從像你一樣的人開始的,可能穿著睡衣,手握咖啡杯,坐在筆電前敲程式碼。那個讓你看起來完美的 Instagram 濾鏡?有人寫了那段程式。帶你聽到新歡歌曲的推薦演算法?有開發者打造了它。幫你和朋友分帳款的 app?誰想這太麻煩了,他們就想「我來解決它」,就這樣做了!

當你學會程式設計,你不只是學到技能——你加入了一個令人難以置信的社群,他們的日常工作就是思考:「如果我能造出某個東西,讓別人一天過得更好一點,那該多棒?」說實話,還有什麼比這更酷的事嗎?

趣味小搜尋:有空時查查,世界上的第一位程式設計師是誰?我給你提示:可能不是你想像中的那個!他/她的故事絕對令人著迷,也展現出程式設計自始至終都是關於創意解決問題與跳脫框架思考。

🧠 檢視時間:你的感受如何?

花點時間想一想:

  • 現在「給電腦下指令」的想法是否比較明白了?
  • 你能想到日常生活中想用程式自動化的任務是什麼嗎?
  • 對於這整個程式設計的世界,你有哪些問題正在浮現?

記住:現在覺得某些概念模糊很正常。學程式就像學外語——你的大腦需要時間建立神經迴路。你做得很好!

程式語言就像不同口味的魔法

好,這聽起來怪怪的,但請跟我一起想想——程式語言很像不同類型的音樂。想想看:有爵士樂,流暢且即興;搖滾樂,強而有力且直白;古典樂,優雅且結構嚴謹;還有嘻哈,創意豐富且富表現力。每種風格都有自己的氣氛,自己的熱情粉絲社群,而且各適合不同的心情和場合。

程式語言也是這樣!你不會用同一種語言去寫一款有趣的手機遊戲,又用它來計算龐大的氣候資料,就像你不會在瑜伽課放死亡金屬(好吧,大多數瑜伽課不會 😄)。

但每次想到這點,我都覺得超震撼:這些語言就像有世界上最有耐心、最聰明的口譯員坐在你旁邊。你可以用很自然的人類思維來表達想法,它則會處理所有超複雜的工作,翻譯成電腦能懂的 1 和 0。就像有個朋友,雙語能力超強,既通「人類創意」,又懂「電腦邏輯」——而且他永遠不會累、不需喝咖啡休息,也不會因你問同一個問題兩次而生氣!

受歡迎的程式語言與用途

mindmap
  root((程式語言))
    網頁開發
      JavaScript
        前端魔法
        互動式網站
      TypeScript
        JavaScript + 型別
        企業應用
    資料與人工智慧
      Python
        資料科學
        機器學習
        自動化
      R
        統計學
        研究
    行動應用
      Java
        Android
        企業
      Swift
        iOS
        蘋果生態系統
      Kotlin
        現代 Android
        跨平台
    系統與效能
      C++
        遊戲
        關鍵效能
      Rust
        記憶體安全
        系統程式設計
      Go
        雲端服務
        可擴展後端
語言最適合為什麼受歡迎
JavaScript網頁開發,使用者介面可在瀏覽器執行,驅動互動式網站
Python資料科學,自動化,人工智慧容易閱讀學習,擁有強大函式庫
Java企業應用,Android 應用平台獨立,大型系統強健
C#Windows 應用,遊戲開發微軟生態系統支援強
Go雲端服務,後端系統速度快、簡單,針對現代運算設計

高階語言與低階語言差異

說實話,這是我第一次學程式時,最讓我頭痛的概念,所以我想分享一個讓我真正理解的比喻——我也希望對你有幫助!

想像你去一個不會說當地語言的國家,你非常急著找廁所(大家都有這種經驗吧?😅):

  • 低階程式設計 就像你學會當地方言,連在街角賣水果的老奶奶說的文化典故、俚語和只有當地人懂的笑話都會聊。超厲害又有效率……如果你真的流利啦!但當你只是想找廁所時,這有點太多了。

  • 高階程式設計 就像你有那位超棒的當地朋友幫忙。你用英語說「我需要找廁所」,他幫你處理文化差異,然後用簡單你能理解的方式給方向。

用程式語言說:

  • 低階語言(像組合語言或 C)讓你跟電腦的硬體直接溝通,但你必須用機器式思考……嗯,有點心理轉換大挑戰。
  • 高階語言(像 JavaScript、Python 或 C#)讓你用人類思維寫程式,它們幕後處理所有機器語言。還有,它們擁有非常熱情的社群,大家都記得剛開始學的感覺,且真心樂意幫助新人!

你猜我會建議你從哪種語言開始呢?😉 高階語言就像有訓練輪一樣,讓整個體驗既有趣又順暢,你甚至都不想摘掉它!

flowchart TB
    A["👤 人類思考:<br/>'我想計算斐波那契數列'"] --> B{選擇程式語言層級}
    
    B -->|高階| C["🌟 JavaScript/Python<br/>易讀易寫"]
    B -->|低階| D["⚙️ 組合語言/C<br/>直接控制硬體"]
    
    C --> E["📝 編寫:fibonacci(10)"]
    D --> F["📝 編寫:mov r0,#00<br/>sub r0,r0,#01"]
    
    E --> G["🤖 電腦理解:<br/>翻譯器處理複雜度"]
    F --> G
    
    G --> H["💻 相同結果:<br/>0, 1, 1, 2, 3, 5, 8, 13..."]
    
    style C fill:#e1f5fe
    style D fill:#fff3e0
    style H fill:#e8f5e8

讓我來示範高階語言為何這麼友善

好,我要示範一個讓我愛上高階語言的程式範例,但首先——你得答應我一件事。當你看到第一個程式碼示範時,別害怕!它故意看起來嚇人。這就是我要說的重點!

我們將看完全相同的任務,用兩種完全不同的風格寫成。任務是用程式產生所謂的費氏數列——這是一個美麗的數學模式,每一個數字都是前兩個數字的和:0、1、1、2、3、5、8、13...(趣味小知識:這個模式會在自然界隨處可見——像是向日葵種子螺旋、松果圖案,甚至星系的形成!)

準備好了嗎?我們開始吧!

高階語言(JavaScript)—人類友善:

// 第 1 步:基本斐波那契設置
const fibonacciCount = 10;
let current = 0;
let next = 1;

console.log('Fibonacci sequence:');

這段程式碼做了什麼:

  • 宣告一個常數指定我們要產生多少個費氏數字
  • 初始化兩個變數追蹤目前與下一個數字
  • 設定起始值(0 和 1),這是費氏數列的定義
  • 顯示標題訊息識別輸出結果
// 步驟 2:使用迴圈產生序列
for (let i = 0; i < fibonacciCount; i++) {
  console.log(`Position ${i + 1}: ${current}`);
  
  // 計算序列中的下一個數字
  const sum = current + next;
  current = next;
  next = sum;
}

逐步解說:

  • 使用 for 迴圈巡訪序列中每個位置
  • 使用模板字串顯示每個數字及其位置
  • 計算下一個費氏數字為目前數字與下一個數字的總和
  • 更新追蹤變數,進到下一次迭代
// 步驟3:現代函數式方法
const generateFibonacci = (count) => {
  const sequence = [0, 1];
  
  for (let i = 2; i < count; i++) {
    sequence[i] = sequence[i - 1] + sequence[i - 2];
  }
  
  return sequence;
};

// 使用範例
const fibSequence = generateFibonacci(10);
console.log(fibSequence);

上面,我們:

  • 使用現代箭頭函式語法建立可重複使用的函式
  • 建立陣列儲存完整數列,而非逐一輸出
  • 透過陣列索引計算每個新數字
  • 把完整數列回傳,方便程式其他地方使用

低階語言(ARM 組合語言)—電腦友善:

 area ascen,code,readonly
 entry
 code32
 adr r0,thumb+1
 bx r0
 code16
thumb
 mov r0,#00
 sub r0,r0,#01
 mov r1,#01
 mov r4,#10
 ldr r2,=0x40000000
back add r0,r1
 str r0,[r2]
 add r2,#04
 mov r3,r0
 mov r0,r1
 mov r1,r3
 sub r4,#01
 cmp r4,#00
 bne back
 end

你可以看到 JavaScript 版本讀起來幾乎像英文指令,而組合語言則用晦澀的命令直接控制電腦的處理器。兩者完成相同任務,但高階語言更容易讓人讀懂、撰寫和維護。

主要差異你會發現的是:

  • 可讀性:JavaScript 使用像 fibonacciCount 這樣描述性名稱,而組合語言使用像 r0r1 這樣的神秘標籤
  • 註解:高階語言鼓勵解釋性註解,使程式碼具備自我說明能力
  • 結構:JavaScript 的邏輯流程符合人類逐步思考問題的方式
  • 維護性:根據不同需求更新 JavaScript 版本既直接又清晰

關於費波那契數列:這個絕美的數字排列(每個數字等於前兩個數之和:0、1、1、2、3、5、8……)幾乎在自然界的每個角落都能找到!你會在向日葵的螺旋、松果的排列、鹦鹉螺的螺旋曲線,甚至樹枝的生長方式中看到它。數學與程式碼竟然能幫助我們理解並重現自然創造美的模式,真是令人震撼!

創造魔法的基本元素

好啦,現在你已經看到程式語言的實際運作方式,讓我們拆解組成每個程式最基本的元素。把它們想成你最愛食譜中的關鍵材料 — 一旦知道每個材料的用途,你就能閱讀和撰寫任何語言的程式碼了!

這有點像學習程式語言的文法。還記得在學校學過名詞、動詞以及如何組成句子嗎?程式設計也有自己的文法,老實說,它比英文文法還要邏輯且寬容得多!😄

陳述句:逐步指令

先從 陳述句 開始 — 它們就像你和電腦對話中的獨立句子。每個陳述句告訴電腦做一件特定的事,就像給方向:「這裡左轉」、「紅燈停」、「停在那個位子」。

我喜歡陳述句的地方是它們通常很容易閱讀。看這個範例:

// 執行單一步驟的基本敘述
const userName = "Alex";                    
console.log("Hello, world!");              
const sum = 5 + 3;                         

這段程式碼做了什麼:

  • 宣告一個常數變數存放使用者名稱
  • 輸出一則問候消息到主控台
  • 計算並儲存一個數學運算的結果
// 與網頁互動的語句
document.title = "My Awesome Website";      
document.body.style.backgroundColor = "lightblue";

逐步來看這段程式:

  • 修改瀏覽器分頁中顯示的頁面標題
  • 改變整個頁面主體的背景顏色

變數:你的程式記憶系統

好啦,變數說實話是我最愛教的概念之一,因為它們實在太像你每天生活中會用到的東西了!

想想你的手機通訊錄,你不會記得每個人的電話號碼 — 你會儲存「媽媽」、「摯友」或「外送到凌晨2點的披薩店」,讓手機記住真實號碼。變數就是一樣的東西!它們就像標籤容器,你的程式可以把資訊存在裡面,再用合理的名稱去取得。

更棒的是:變數可以隨著程式執行而改變(這也是為什麼叫做「變數」——你看到了嗎?)。就好比你發現更棒的披薩店後更新聯絡方式一樣,變數能隨著程式取得新資訊或情況改變而更新!

讓我示範這有多麼簡單:

// 第一步:建立基本變數
const siteName = "Weather Dashboard";        
let currentWeather = "sunny";               
let temperature = 75;                       
let isRaining = false;                      

理解這些概念:

  • const 變數儲存不變的值(如網站名稱)
  • let 變數儲存程式中可能會變動的值
  • 指派不同的數據類型:字串(文字)、數字,以及布林值(true/false)
  • 選擇有描述性的名稱,來說明每個變數儲存什麼
// 步驟2:使用物件來組合相關的資料
const weatherData = {                       
  location: "San Francisco",
  humidity: 65,
  windSpeed: 12
};

以上我們做了什麼:

  • 建立一個物件,來把相關的天氣資訊組合在一起
  • 多筆資料組織於同一個變數名稱下
  • 鍵值對標籤每筆資訊,使其清晰明瞭
// 第三步:使用和更新變數
console.log(`${siteName}: Today is ${currentWeather} and ${temperature}°F`);
console.log(`Wind speed: ${weatherData.windSpeed} mph`);

// 更新可變變數
currentWeather = "cloudy";                  
temperature = 68;                          

來理解每部分:

  • 模板字串語法${}輸出資訊
  • 點符號存取物件屬性(weatherData.windSpeed
  • 更新let 宣告的變數以反映變化的狀況
  • 結合多個變數生成有意義的訊息
// 第4步:使用現代解構賦值來讓程式碼更簡潔
const { location, humidity } = weatherData; 
console.log(`${location} humidity: ${humidity}%`);

你需要知道:

  • 解構賦值从物件中提取特定屬性
  • 自動依物件鍵名創建同名變數
  • 簡化程式,避免重複使用點符號

控制流程:教你的程式如何思考

這部分讓程式設計真的讓人驚嘆不已!控制流程基本上就是教你的程式如何做出聰明的決策,就像你每天自然而然做的那樣。

想像一下:今天早上你可能遇過「如果下雨,我會帶傘;如果很冷,我會穿外套;如果遲到,我會跳過早餐並帶杯咖啡」的狀況。你的大腦每天會自動執行好多次這種 if-then(如果-則)邏輯!

這就是讓程式變得智能、活靈活現的關鍵,不只是死板執行固定腳本。它們其實能觀察狀況、評估情況,做出合適反應。就像給程式一個能夠適應和做決策的大腦!

想看看這怎麼完美實現嗎?跟我來:

// 第一步:基本條件邏輯
const userAge = 17;

if (userAge >= 18) {
  console.log("You can vote!");
} else {
  const yearsToWait = 18 - userAge;
  console.log(`You'll be able to vote in ${yearsToWait} year(s).`);
}

這段程式碼做了什麼:

  • 檢查使用者年齡是否達投票資格
  • 根據條件執行不同的程式區塊
  • 計算並顯示還要多久才可投票(如果未滿18)
  • 每種情況提供具體且有幫助的回饋
// 步驟 2:使用邏輯運算子的多重條件
const userAge = 17;
const hasPermission = true;

if (userAge >= 18 && hasPermission) {
  console.log("Access granted: You can enter the venue.");
} else if (userAge >= 16) {
  console.log("You need parent permission to enter.");
} else {
  console.log("Sorry, you must be at least 16 years old.");
}

這裡的結構拆解:

  • &&(且)符號結合多個條件
  • else if 建立多層條件判斷結構
  • 最後的 else 處理所有其他可能情况
  • 提供每種不同狀況清晰且具體的反饋訊息
// 第 3 步:使用三元運算符的簡潔條件判斷
const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet";
console.log(`Status: ${votingStatus}`);

你該記住的是:

  • 使用三元運算子 (? :) 處理兩種情況的簡單判斷
  • 先寫判斷條件,接著 ?,再寫真值結果,最後 : 和假值結果
  • 當你需要根據條件賦值時,這個寫法非常實用
// 第4步:處理多個特定情況
const dayOfWeek = "Tuesday";

switch (dayOfWeek) {
  case "Monday":
  case "Tuesday":
  case "Wednesday":
  case "Thursday":
  case "Friday":
    console.log("It's a weekday - time to work!");
    break;
  case "Saturday":
  case "Sunday":
    console.log("It's the weekend - time to relax!");
    break;
  default:
    console.log("Invalid day of the week");
}

這段程式實現了:

  • 變數的值與多個特定案例比對
  • 類似案例分組(平日 vs 週末)
  • 命中匹配案例時執行相對應程式區塊
  • default 處理非預期值
  • 使用 break 避免程式繼續執行下一案例

💡 現實比喻:把控制流程想成世界上最有耐心的GPS導航。它會說「如果主街塞車,就走高速公路;如果高速公路施工,試試風景路線。」程式用完全相同的條件邏輯聰明應對不同狀況,永遠給用戶最佳體驗。

🎯 概念檢核:理解基礎元素

讓我們看看你對基礎元素的掌握:

  • 你能用自己的話解釋變數與陳述句有何不同嗎?
  • 想想你日常生活中會用到 if-then 判斷的例子(像投票資格)
  • 有沒有哪個程式邏輯讓你感到特別驚喜?

小小信心加油站:

flowchart LR
    A["📝 陳述式<br/>(指令)"] --> B["📦 變數<br/>(儲存)"] --> C["🔀 控制流程<br/>(判斷)"] --> D["🎉 運作中的程式!"]
    
    style A fill:#ffeb3b
    style B fill:#4caf50
    style C fill:#2196f3
    style D fill:#ff4081

接下來我們會:一起深入挖掘這些概念,享受這段難以置信的學習旅程!現在先聚焦於對未來所有精彩可能性感到興奮。具體技能和技巧會隨著實作自然牢固 — 我承諾這過程比你想像中更有趣!

不可或缺的工具

老實說,這部分讓我激動得幾乎坐不住了!🚀 我們即將談論那些讓你感覺彷彿拿到數位太空船鑰匙的超讚工具。

你知道廚師為什麼有那種平衡完美的刀,感覺就像他們手的一部分嗎?音樂家為什麼有一把吉他,簡直一碰就能發聲歌唱?開發者也有類似魔法工具,接下來會介紹的這些,絕大多數都是免費的,保證讓你驚掉下巴!

我坐在椅子上都快跳起來了,迫不及待想跟你分享這些,它們徹底改變了我們寫軟體的方式。像是用人工智慧幫你寫程式碼的助理(真的不是開玩笑!)、可以從有無線網路的任何地方建置整套應用程式的雲端環境,以及超高級的除錯工具,彷彿擁有程式的X光視覺。

最酷的是:這些可不只是新手用完就不用的工具,而是 Google、Netflix、你愛的獨立工作室,現今全世界開發者同時在用的專業級利器。用它們你會感覺自己專業度飆升!

graph TD
    A["💡 你的想法"] --> B["⌨️ 程式碼編輯器<br/>(VS Code)"] 
    B --> C["🌐 瀏覽器開發工具<br/>(測試與除錯)"]
    C --> D["⚡ 命令列<br/>(自動化與工具)"]
    D --> E["📚 文件資料<br/>(學習與參考)"]
    E --> F["🚀 精彩的網頁應用程式!"]
    
    B -.-> G["🤖 AI 助手<br/>(GitHub Copilot)"]
    C -.-> H["📱 裝置測試<br/>(響應式設計)"]
    D -.-> I["📦 套件管理器<br/>(npm, yarn)"]
    E -.-> J["👥 社群<br/>(Stack Overflow)"]
    
    style A fill:#fff59d
    style F fill:#c8e6c9
    style G fill:#e1f5fe
    style H fill:#f3e5f5
    style I fill:#ffccbc
    style J fill:#e8eaf6

程式碼編輯器和整合開發環境:你的新數位好伙伴

現在我們談談程式碼編輯器 — 它們即將成為你最喜歡待的地方!想像成你專屬的程式碼聖地,大部分時間都會在這裡創造與雕琢你的數位作品。

現代編輯器的魔力在於:它們絕不只是華麗的文字編輯器,而是像有個才華洋溢、24/7隨時在旁支持你的導師。它們會在你發現錯誤前就捕捉到、建議令你看起來超棒的改善,幫助你掌握每行程式的意義,部分甚至能預測你接下來要輸入什麼,主動幫你完成思緒!

我記得第一次體驗自動完成功能那感覺,簡直像活在未來。你敲字母,它就問:「你是不是想用這函數,它正好能做到你想的事?」感覺像有讀心術的程式碼夥伴!

這些編輯器有多厲害?

現代程式碼編輯器擁有提升效率的多種強大功能:

功能作用好處
語法高亮為程式碼不同部分染色讓程式碼更容易閱讀並發現錯誤
自動完成輸入時建議代碼加快編碼速度並減少打字錯誤
除錯工具幫助你找到並修正錯誤節省大量排除問題的時間
擴充套件新增專門功能任意技術自訂你的編輯器
AI 助手建議程式碼和解釋加速學習與生產力

🎥 影片資源:想看這些工具如何運作?快看這支 Tools of the Trade video 做個全面介紹。

推薦給網頁開發的編輯器

Visual Studio Code(免費)

  • 網頁開發者中最受歡迎
  • 擴充套件生態系豐富
  • 內建終端與 Git 功能整合
  • 必裝擴充套件

JetBrains WebStorm(付費,學生免費)

  • 高級除錯與測試工具
  • 智慧型程式碼自動完成
  • 內建版本控制

雲端 IDE(價格各異)

💡 入門小建議:從 Visual Studio Code 開始 — 免費,業界廣泛使用,社群龐大,教學與擴充功能豐富。

網頁瀏覽器:你的秘密開發實驗室

準備好讓你的腦袋炸裂吧!你知道你一直用瀏覽器瀏覽社群媒體、看影片吧?其實這些瀏覽器一直藏著一個驚人的秘密開發實驗室,就等你來發現!

每次你在網頁點右鍵選「檢查元素」,你就在打開一個隱藏的開發者工具世界,功能強大到比我以前花大錢買過的專業軟體還強。這就像發現你家的廚房後面竟設有專業大廚實驗室的祕密通道! 第一次有人向我展示瀏覽器 DevTools 時,我花了大約三個小時不停地點擊,驚呼「等等,它竟然還能這樣?!」你真的能即時編輯任何網站,精確看到所有資源載入的速度,測試你網站在不同設備上的顯示效果,甚至像專家一樣除錯 JavaScript。這簡直令人難以置信!

這就是瀏覽器成為你秘密武器的原因:

當你建立網站或網頁應用程式時,你需要看到它在現實世界中的呈現與行為。瀏覽器不只展示你的成果,更提供有關效能、無障礙性及潛在問題的詳細反饋。

瀏覽器開發者工具(DevTools)

現代瀏覽器包含完善的開發套件:

工具類別功能說明範例應用
元素檢查器即時查看及編輯 HTML/CSS調整樣式並立即看到效果
主控台查看錯誤訊息並測試 JavaScript除錯問題及嘗試程式碼
網路監控追蹤資源載入狀況優化效能和載入速度
無障礙檢查器測試包容性設計確保網站適用所有使用者
裝置模擬器預覽不同螢幕尺寸不需多台裝置也能測試響應式設計

推薦發展用瀏覽器

  • Chrome — 業界標準 DevTools,擁有豐富文件資源
  • Firefox — 出色的 CSS Grid 與無障礙工具
  • Edge — 基於 Chromium,搭配微軟專屬開發資源

⚠️ 重要測試提示:請務必在多款瀏覽器中測試你的網站!Chrome 表現完美的內容,在 Safari 或 Firefox 可能會截然不同。專業開發者會跨所有主流瀏覽器測試,以確保使用者體驗一致。

命令列工具:開啟開發者超能力的入口

好啦,關於命令列,我想跟你誠實分享一個心聲,來自一位真心了解它的人。當我第一次看到命令列——那黑框閃爍的文字時——我真的想,「不行,完全不行!這活像1980年代駭客電影的場景,我絕對不夠聰明來用這玩意!」😅

但我希望當時有人跟我說,也就是我現在想告訴你的:命令列並不可怕——它其實就像跟你的電腦直接對話。你可以把它想像成,用漂亮介面附帶圖片與選單點餐(很方便)和走進你最愛的在地餐廳,廚師聽你一句「驚喜推薦」就能做出完美料理的差別。

命令列就是讓開發者感覺自己像超級法師的地方。你輸入幾個看起來像魔法的字(好啦,只是指令,但確實感覺超神奇),按下 Enter,砰——你可能創建了整個專案架構,安裝了來自世界各地的強大工具,或將你的應用部署到網路上,讓全世界看到。一旦嘗到這種力量,真的會讓人上癮!

為什麼命令列會成為你最愛的工具:

雖然圖形介面很適合多數工作,但命令列在自動化、精準度和速度上表現卓越。很多開發工具主要透過命令列介面運作,學會高效使用它們能大幅提升你的生產力。

# 第一步:創建並進入專案目錄
mkdir my-awesome-website
cd my-awesome-website

這段程式碼的作用是:

  • 建立 一個名為 "my-awesome-website" 的新資料夾作為專案目錄
  • 進入 新建的目錄開始工作
# 第 2 步:使用 package.json 初始化專案
npm init -y

# 安裝現代開發工具
npm install --save-dev vite prettier eslint
npm install --save-dev @eslint/js

逐步說明這裡發生的事:

  • 使用 npm init -y 初始化 新的 Node.js 專案並採用預設設定
  • 安裝 Vite 作為快速開發和生產部署的現代建構工具
  • 加入 Prettier 自動格式化和 ESLint 程式碼品質檢查
  • 使用 --save-dev 標記這些套件為開發時依賴
# 第3步:建立專案結構與檔案
mkdir src assets
echo '<!DOCTYPE html><html><head><title>My Site</title></head><body><h1>Hello World</h1></body></html>' > index.html

# 啟動開發伺服器
npx vite

在上述步驟中,我們:

  • 規劃 專案結構,分別建立原始碼與資源資料夾
  • 產生 基本的 HTML 檔案,包含完整文件結構
  • 啟動 Vite 開發伺服器,實現熱重載和模組熱替換

網頁開發必備命令列工具

工具用途你需要它的理由
Git版本控制追蹤變更、多人協作、備份工作
Node.js & npmJavaScript 執行環境與套件管理在瀏覽器外執行 JavaScript、安裝現代開發工具
Vite建構工具與開發伺服器極速開發,支援熱模組替換
ESLint程式碼品質自動找出並修復 JavaScript 問題
Prettier程式碼格式化保持程式碼格式統一與可讀性

平台特定選項

Windows:

macOS:

  • Terminal 💻 — 內建終端機應用程式
  • iTerm2 — 擁有更多進階功能的終端機

Linux:

  • Bash 💻 — 標準 Linux shell
  • KDE Konsole — 進階終端機模擬器

💻 = 作業系統預裝

🎯 學習路徑:從基本指令開始,如 cd(切換目錄)、lsdir(列出檔案)、mkdir(建立資料夾)。練習現代工作流程常用指令,例如 npm installgit statuscode .(在 VS Code 開啟目前資料夾)。隨著熟練度提升,自然會掌握更多高級指令和自動化技巧。

文件:隨時待命的學習良師

好吧,讓我分享一個小秘密,它會讓你作為初學者心情好很多:即使是最有經驗的開發者,也花很多時間閱讀文件。這不是因為他們不知道怎麼做,而是智慧的表現!

把文件當作全天候提供指導的最耐心、最博學的老師。凌晨兩點卡關?文件像溫暖的虛擬擁抱,給你準確解答。想了解大家都在討論的酷新功能?文件有逐步說明。試著搞懂為什麼某些東西會這樣運作?沒錯,文件能以讓你終於理解的方式解釋!

改變我觀念的是:網頁開發領域變化極快,沒有人(真的沒有人!)能把所有東西背得滾瓜爛熟。我親眼看過有 15 年資深開發者查語法,你猜怎樣?這不丟臉,反而是聰明!記憶力不是重點,重點是知道去哪找可靠答案,並理解如何運用它們。

真正的魔力在這裡:

專業開發者花大量時間看文件,不是因為沒智慧,而是因為網頁開發環境持續演進,保持最新需要不斷學習。優秀文件不只教你「怎麼用」,還告訴你「為什麼用」和「何時用」。

必備文件資源

Mozilla Developer Network (MDN)

  • 網頁技術文件的黃金標準
  • HTML、CSS、JavaScript 的詳盡指南
  • 包含瀏覽器相容性資訊
  • 附帶實用範例與互動示範

Web.dev(Google 提供)

  • 現代網頁開發最佳實務
  • 效能優化指南
  • 無障礙與包容設計原則
  • 真實專案案例研究

Microsoft Developer Documentation

  • Edge 瀏覽器開發資源
  • 漸進式網頁應用指南
  • 跨平台開發見解

Frontend Masters Learning Paths

  • 結構化學習課程
  • 業界專家影片教學
  • 實戰練習題目

📚 學習策略:不要死記文件內容,而是學會高效導航。收藏常用參考,練習利用搜尋功能快速找到關鍵資訊。

🔧 工具熟練度檢視:什麼讓你心動?

停下來想想:

  • 哪個工具是你最想先嘗試的?(答案沒有對錯!)
  • 命令列還感覺令人畏懼,還是你開始好奇了?
  • 你能想像用瀏覽器 DevTools 偷偷看你最愛網站的背後祕密嗎?
pie title "開發者在工具上花費的時間"
    "程式碼編輯器" : 40
    "瀏覽器測試" : 25
    "命令列" : 15
    "閱讀文件" : 15
    "除錯" : 5

有趣觀察:大多數開發者約花 40% 時間在程式碼編輯器,卻有相當多時間用在測試、學習和問題解決。程式設計不只是寫程式碼——它是打造體驗!

思考題:來思考一個有趣問題——你覺得打造網站功能的工具(開發),跟設計它外觀的工具(設計)有什麼不同?就像建築師設計美麗房屋,和承包商實際蓋出來是一回事。兩者都重要,但各自有不同工具箱!這樣的思考能幫助你看見網站誕生的全貌。

GitHub Copilot Agent 挑戰 🚀

使用 Agent 模式完成以下挑戰:

說明: 探索現代程式碼編輯器或 IDE 的功能,展示它如何提升你作為網頁開發者的工作流程。

提示: 選擇一款程式碼編輯器或 IDE(例如 Visual Studio Code、WebStorm、或雲端 IDE)。列出三項能幫助你更有效撰寫、除錯或維護程式碼的功能或擴充套件。並簡短說明每項如何優化你的工作流程。


🚀 挑戰

好了,偵探,準備好接你的第一個案件了嗎?

既然你已打好基礎,我有個冒險能讓你認識程式世界的多樣與迷人。聽著——這階段不必寫程式,別壓力大!把自己想像成一位程式語言偵探,在你人生中第一個刺激的案件現場。

你的任務,如果願意接受:

  1. 成為語言探索者:選三種來自完全不同世界的程式語言——也許一種做網站的,一種做手機 App 的,還有一種用來做科學計算的。找出相同的簡單任務用這三種語言寫成的例子。我保證你會驚艷它們做同一件事卻長得多不一樣!

  2. 挖掘起源故事:什麼讓各語言獨特?很酷的是,每種程式語言誕生時,設計師都想著:「我該有更好的方式解決這個特定問題。」你能找出那些問題是什麼嗎?有些故事真的很精彩!

  3. 遇見社群:觀察這些語言的社群有多歡迎新手並充滿熱情。有些社群擁有數百萬開發者分享知識、互相幫助,有些則較小而緊密團結。你會喜歡看到這些社群的各種個性!

  4. 跟隨直覺:現在哪個語言對你來說最友善?不用擔心做出「完美」決定——聽聽你的直覺!真心說,這裡沒有錯誤答案,你也能日後再去探索其他語言。

額外偵探任務:試著找出哪些大型網站或 App 是用這些語言建構的。我保證你會對 Instagram、Netflix 或那款你停不下來玩的手機遊戲背後的技術震驚不已!

💡 記住:你今天不需成為任何語言專家,只是在決定要在哪裡落腳之前先認識一下鄰居。慢慢來,玩得開心,讓好奇心引領你!

讓我們一起慶祝你的收穫!

天啊,你今天吸收了這麼多超棒的資訊!我真心期待看到你從這趟不可思議的旅程中學到了多少。記得——這不是測驗,不需要完美無缺。這更像是慶祝你剛剛探索這迷人世界的各種酷炫知識!

進行課後小測驗

複習與自學

慢慢探索,開心學習吧! 你今天學習了很多,這是值得驕傲的事!現在來到最有趣的部分——探索那些引起你好奇心的主題。記住,這不是作業——這是一場冒險!

更深入探索你感興趣的內容:

親身體驗編程語言:

  • 造訪你注意到的2-3個語言的官方網站。每個語言都有其獨特的個性和故事!
  • 嘗試一些線上編程平台,如 CodePenJSFiddle、或 Replit。不要害怕嘗試——你不會弄壞任何東西!
  • 閱讀你最喜歡的語言是怎麼誕生的。說真的,有些起源故事非常吸引人,能幫助你理解語言為什麼會那樣運作。

熟悉你的新工具:

  • 如果還沒下載 Visual Studio Code,趕快下載吧——它是免費的,你會愛上它的!
  • 花幾分鐘瀏覽擴充套件商店。它就像你的程式碼編輯器的應用程式商店!
  • 打開瀏覽器的開發者工具,隨意點點看。不用擔心是否能全懂——先熟悉它的介面就好。

加入社群:

  • 追蹤一些開發者社群,如 Dev.toStack Overflow、或 GitHub。程式設計社群對新手非常友善!
  • 在 YouTube 上觀看幾個適合初學者的程式教學影片。很多優秀的創作者都記得剛開始時的心情。
  • 考慮加入當地聚會或線上社群。相信我,開發者很樂意幫助新手!

🎯 聽我說,請記得:沒有人會期望你一夜之間變成程式高手!現在你只是在認識這個你即將成為一部分的神奇新世界。慢慢來,享受這段旅程,並且記住——你敬佩的每一位開發者,都曾經坐在和你現在一樣的位置,滿心期待,也許還有點手忙腳亂。這很正常,代表你在正確的道路上!

作業

Reading the Docs

💡 關於你的作業的小提醒:我非常希望你去探索一些我們還沒介紹過的工具!跳過我們已經討論過的編輯器、瀏覽器和命令列工具——這個世界中有無數驚人的開發工具正等著你去發現。找那些仍積極維護,並且有活躍、樂於助人的社群的工具(這類工具通常有最棒的教學,也有最多人在你卡關時伸出援手)。


🚀 你的程式學習時間表

接下來 5 分鐘你可以做的事

  • 書籤2-3個吸引你的程式語言官方網站
  • 如果還沒下載,立即下載 Visual Studio Code
  • 打開瀏覽器的 DevTools(F12),隨意點擊任何網站
  • 加入一個程式社群(Dev.to、Reddit r/webdev,或 Stack Overflow)

接下來一小時你可以完成的事

  • 完成課後測驗並反思你的答案
  • 安裝 GitHub Copilot 擴充套件到 VS Code
  • 在線上嘗試用兩種不同程式語言寫一個「Hello World」範例
  • 在 YouTube 上觀看一個「開發者的一天」影片
  • 開始你的程式語言偵探工作(來自挑戰題)

📅 接下來一週的冒險

  • 完成作業並探索3種新開發工具
  • 追蹤5位開發者或程式帳號的社交媒體
  • 在 CodePen 或 Replit 嘗試做點小作品(甚至只是一個「Hello, [你的名字]!」)
  • 閱讀一篇關於某人編程旅程的開發者部落格文章
  • 加入一場線上聚會或觀看一次程式講座
  • 用線上教學開始學習你選擇的程式語言

🗓️ 接下來一個月的蛻變

  • 建立你的第一個小專案(即使是簡單的網頁也算!)
  • 貢獻開源專案(可以從修正文檔開始)
  • 指導一位剛開始程式旅程的新手
  • 建立你的開發者作品集網站
  • 與當地開發者社群或讀書會連結
  • 開始規劃你的下一個學習里程碑

🎯 最後的反思檢查

在繼續前,花點時間慶祝一下:

  • 今天程式設計中,什麼事最讓你興奮?
  • 你最想先探索哪個工具或概念?
  • 關於開始這趟程式之旅,你感覺如何?
  • 你現在最想問開發者的一個問題是什麼?
journey
    title 你的自信建立之旅
    section 今天
      好奇: 3: You
      不知所措: 4: You
      興奮: 5: You
    section 本週
      探索中: 4: You
      學習中: 5: You
      連結中: 4: You
    section 下個月
      建立中: 5: You
      自信滿滿: 5: You
      幫助他人: 5: You

🌟 記住:每位專家曾經都是初學者。每位資深開發者都曾像你現在一樣感到興奮,或許還有些手忙腳亂,當然也好奇未來的可能性。你正處在一群了不起的夥伴中,這趟旅程將會非常精彩。歡迎來到美妙的程式世界!🎉


免責聲明
本文件經由 AI 翻譯服務 Co-op Translator 進行翻譯。雖然我們力求準確,但請注意自動翻譯可能包含錯誤或不準確之處。原始文件的原文版本應視為權威來源。對於重要資訊,建議尋求專業人員之人工翻譯。我們不對因使用本翻譯而產生的任何誤解或誤譯負責。