2017年1月5日 星期四

Ch01 - 簡單的歷史介紹跟 Objective-C 簡介

Objective-C 程式設計學習筆記 Ch01

  • Objective-C 程式設計學習筆記 Ch01-基本介紹
  • Ch01 將介紹簡單的歷史跟 Objective-C
  • 你要跳坑了嗎?

(1) 歷史與簡介

Objective-C 一種高階,物件導向的程式語言,他承襲了 C 語言以及 Smalltalk 的特性。早期是來自於 NeXTSTEP 的作業系統,主要的實作環境是 GCC 以及 LLVM (前端實作為 Clang),目前比較新版的 Objective-C 都是以 Clang 實作。
  • 1980 年,Bred J. Cox 與 Tom Love 發明 Objective-C。
  • 1988 年,賈伯斯成立 Next Computer 公司,買下 Objective-C 的授權,並且發開 Appkit 以及 Foundation Kit...函式庫。
  • 1994 年,NeXT 電腦 與 Sun Microsystem 發行了 NEXTSTEP 系統的規格,稱作為 OPENSTEP。而自由軟體基金會的 GUN 增加對 Objective-C 的支援,在自由軟體基金會的 ONESTEP 稱為 GUNstep。

(2) 關於 XCode v.s Objective-C v.s Cocoa

常常被人所搞混的部分就是 XCode 以及 Obejective-C,在這裡做這個簡單的介紹。
  • Xcode 是一個開發環境,也具有編譯的功能,他的地位可以想像成類似 Visual Studio。
  • Objective-C 是一種程式語言,就好比 JavaScript, Java 等等也是程式語言。
  • Cocoa 其實就是一堆函式庫的集合,你可以直接使用這些現成的函式庫。

(3) C 語言與 Objective-C

  • 為什麼叫 Objective-C ,因為承襲 C 語言的特性再加上物件導向的特性。
  • Objective-C 承襲了 C 語言的特性 (Objective-C 是 C 語言的嚴格母集合),也就是說任何可以編譯過的 C 語言都可以直接用在 Objectve-C。
  • 可以在 Objective-C 使用 C 語言。
  • Objective-C 是 ANSI-C 的超集,可以混編 C 以及 C++ 語言。
  • 而 Objective-C 的物件導向的語法承襲了 Smalltalk 訊息傳遞 (Message Passing) 風格,在一般的程式語言,都是物件呼叫方法 (ex: obj->method(arg)),而 Objective-C 裡,應該說是傳遞訊息給收訊息的對象 ([obj method: arg]),並且在 Objective-C 物件呼叫方法的語法與其他 C 不太一樣,將會在往後的章節提到。
  • Objective-C 除了物件宣告的方式與 C 語言不太一樣之外,其他像是型別的宣告 (int, float...),預處理器(preprocessing),流程控制,函式宣告與呼叫都與 C 類似。

下一章節,將會介紹開發 Objective-C 會用到的開發工具 Xcode。

  • 有個很現實的問題是,你必須具備 Mac。
  • 請先裝好 XCode (抱歉,下篇並不介紹安裝步驟),Xcode 連結網址
  • 我們會直接用 Xcode 講一個簡單的程式,並且告訴您從哪裡點按編譯的功能。

參考資料

0 意見:

張貼留言