# 歷史 相傳貝爾實驗室的布萊恩(Brian Kernighan)於1972年撰寫的內部技術文件"A Tutorial Introduction to the Language B"中首次使用B語言展示一字串"hello, world"顯示於螢幕。於1974年在內部技術文件"Programming in C: A Tutorial"再次使用C語言展示字串"hello, world"。 這件事情就這樣流行了起來,現在幾乎各大程式語言或是框架的第一個程式都會命名為hello world,其功能就是展示字串"hello, world"於螢幕上。其代表的意義則是將輸入(字串hello, world)經過系統(撰寫的程式)輸出(展示於螢幕上)。當有人問你某程式語言的掌握程度如何時,你可以回答:差不多hello world!這樣大家都會懂的:joy: :::info 有一說BCPL更早就使用過"hello, world"來當展示範例,但目前一是沒有明確的資料來源,二是資料顯示是布萊恩讓這件事情流行起來,所以保持與Wiki相同的說法,僅為博君一笑,若有明確的資料來源也歡迎聯繫我指教討論。 ::: --- # 安裝Swift 學習程式語言的第一步永遠是建置相對應的編輯執行環境,實際將程式碼執行起來,藉由不斷地修改、增減慢慢地掌握度也會越來越高。程式語言也是一種語言,不要害怕犯錯,勇敢地使用下去吧! Swift支援macOS、Linux以及Windows的作業系統,您可參照[安裝網址](https://www.swift.org/install/)自行進行安裝。 也有線上版本(https://swiftfiddle.com/),可以在瀏覽器上直接執行您的程式碼。 :::info 較不建議使用,因為實際測試後延遲時間有點大,條件許可的狀況下建議安裝於本地端電腦上。 ::: Swift是由蘋果公司開發並用來取代Objective-C的現代程式語言,它借鑒了許多程式語言的思想(Objective-C、Rust、Haskell、Ruby、Python、C#...等),因此在性能上有優異的表現,可作為一通用的程式語言。然而更多時候,Swift被用來打造iOS、Mac、Apple TV與Apple Watch的App,因此未來的演示將會基於macOS,不同作業系統也會有相同的結果。 :::danger 雖然Swift也可以開發Web Service,但大多數的狀況Swift會搭配SwiftUI框架開發App,沒有macOS電腦的朋友請自行思考是否需要投入時間學習。 ::: 安裝完畢後開啟終端機,輸入 `$ swift --version` 看到swift版本的資訊就代表安裝成功了 :::success 類似以下資訊但並不會完全相同: swift-driver version: 1.87.3 Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) Target: x86_64-apple-macosx14.0 ::: --- # 第一支程式 開啟終端機,進入工作目錄後,輸入 `$ mkdir first_program` `$ cd first_program` `$ swift package init --name hello_world --type executable` `$ swift run hello_world` 會得到以下結果 :::success Building for debugging... [3/3] Linking hello_world Build complete! (1.20s) Hello, world! ::: 其中 `$ mkdir first_program` 代表建立一個名為first_program的資料夾 `$ cd first_program` 代表進入first_program這個資料夾 `$ swift package init --name hello_world --type executable` 代表建立一個名為hello_world的package,而這個package的型態為executable(可執行的) `$ swift run hello_world` 代表執行hello_world這個package --- 可以看到first_program資料夾的階層關係如下 ```mermaid graph LR; first_program-->id1[[Package.swift]] first_program-->Sources Sources-->id2[[main.swift]] ``` 其中Package.swift紀錄著著個package的資訊(亦即name為hello_world和type為executable),main.swift則是程式碼所在。 更改main.swift的內容 ``` //print("Hello, world!") print("Sup, man!") ``` 在first_program的目錄下,再次執行 `$ swift run hello_world` 會得到以下結果,其中最後一行從"Hello, world!"被更改為"Sup, man!" --- # Yes, you did it! 抓緊了,要正式啟航了! --- # 參考資料來源 [1] https://en.wikipedia.org/wiki/%22Hello,_World!%22_program [2] https://www.swift.org/getting-started/cli-swiftpm/