Objective-C小白入門:什麼是Objective-C

Objective-C

私教美少女開始上課。

接觸一門新語言,先要了解它的歷史。

此篇博文主要是瞭解下什麼是Objective-C,朵朵主要學習的Java,以前沒聽說過Objective-C,但是多學一點總是沒有壞處,所以就從頭開始咯。

熱心網友提供了很多資料。

Objective-C

縱向看來,Apple公司領導着Objective-C語言的發展與維護,包括Objective-C運行時,Cocoa/Cocoa-Touch框架以及Objective-C語言的編譯器。

什麼是Objective-C

什麼是Objective-C呢?朵朵網上查了一下,百科詞條它是這樣說的:

Objective-C,通常寫作ObjCOC和較少用的Objective CObj-C,是擴充C的面向對象編程語言。它主要使用於Mac OS XGNUstep這兩個使用OpenStep標準的系統,而在NeXTSTEPOpenStep中它更是基本語言
GCC與Clang含Objective-C的編譯器,Objective-C可以在GCC以及Clang運作的系統上編譯。

好多術語看不懂,沒關係,重點知道:它是擴充C的面向對象編程語言,主要使用在Mac OS X系統中,Objective-C的流行歸功於iPhone的成功。編寫iPhone應用程序的主要編程語言是Objective-C。就可以了。

具體的大家點進去百科詞條的鏈接看一下:Objective-C_百度百科上面已經把這門語言的歷史和內容講的很清楚了。
在這裏插入圖片描述繼續打開一個網頁,出現了Objective-C入門教程,以下資料查自:Objective-C入門教程
先講了什麼是Objective-C,和百度百科查的差不多。

Objective-C 是一種簡單的計算機語言,設計爲可以支持真正的面向對象編程
Objective-C 通過提供類定義方法以及屬性的語法,還有其他可以提高類的動態擴展能力的結構等,擴展了標準的 ANSI C 語言。類的語法和設計主要是基於 Smalltalk,最早的面向對象編程語言之一

對象的使用和對象對象架構是 iPhone 程序設計的基礎,理解他們如何交互對創建你的程序非常重要。

最後該網站還提供了一個鏈接:Objective-C參考鏈接。不知道爲什麼這個鏈接我加載不出來。

Objective-C的歷史

接下來的資料查自簡書上的熱心網友:Objective-C 基礎,他對Objective-C是這樣理解的:

Objective-C 是一種通用、高級、面向對象的編程語言。它擴展了標準的 ANSI C 編程語言,將 Smalltalk 式的消息傳遞機制加入到 ANSI C 中。目前主要支持的編譯器有 GCC 和 Clang

這裏也講到了Objective-C的歷史:

歷史
Objective-C 主要由 Stepstone 公司的 Brad Cox 和 Tom Love 在 19 世紀 80 年代發明。
1981年 Brad Cox 和 Tom Love 還在 ITT 公司技術中心任職時,接觸到了 SmallTalk語言。Cox 當時對軟件設計和開發問題非常感興趣,他很快地意識到 SmallTalk 語言在系統工程構建中具有無法估量的價值。
1983 年,Cox 與 Love 合夥成立了 Productivity Products International(PPI)公司,將 Objective-C 及其相關庫商品化販售,並在之後將公司改名爲StepStone。
1988年,斯蒂夫·喬布斯(Steve Jobs)離開蘋果公司後成立了 NeXT Computer 公司,NeXT 公司買下 Objective-C 語言的授權,並擴展了 GCC 使之支持 Objective-C 的編譯,基於 Objective-C 開發了 AppKit 與 Foundation Kit 等庫,作爲 NeXTSTEP 的的用戶界面與開發環境的基礎。
1996年12月20日,蘋果公司宣佈收購 NeXT Software 公司,NEXTSTEP/OPENSTEP 環境成爲蘋果操作系統下一個主要發行版本 OS X 的基礎。

熱心網友https://www.jianshu.com/p/7e45eb0fbfc2提供了資料Objective-C的起源
還有一篇講了爲什麼學習Objective-C非常難:http://www.code4app.com/blog-960094-3531.html,中間講到:

實際上Objective-C是很嚴格的C語言的超集。而與流行的編程語言風格又差距太大。作爲C語言的超集,它增加了很多東西,我們將簡單看看它到底增加了什麼複雜的東西。

Objective-C是一個很“大”的語言,我是說它的語法很複雜而且又具備彈性。Apple公司已經儘可能減小了Objective-C語言的體積,然而,他們還是添加了一些東西來讓Objecive-C表達式更加簡單。
Synthesizing properties
Dot-syntax for accessing getters/setters
Garbage Collection
Blocks (closures)
Automatic Reference Counting
Weak references
所以雖然這個語言越來越大了,但是在表達同樣的目的使用的代碼卻越來越簡單。

當你去學習Objective-C時,它不僅僅就是一個框架, 一個運行時或者一個編譯器;而是它們全部。還有個很重要的部件就是 Automatic Reference Counting(使用後無法直接調用dealloc方法),這玩意會讓你使用Cocoa/Cocoa-Touch編程時更加方便。

緊密耦合系統代碼設計是Objective-C獨有的。其他語 言比如在.Net框架下運行的Iron Python。以及一大堆運行在JVM的非Java語言,比如Clojure。甚至Ruby以及Rails都是兩個不同的項目。當你打算使用其他語言配合 Cocoa/Cocoa-Touch以及Objective-C運行時時。你唯一的選擇就是Mac Ruby。

啊哈,以上就是Objective-C的簡單瞭解,就到這裏吧,下課。

對了,覺得朵朵講不清楚想要指點的大佬,請直說,不要因爲我是朵嬌花而憐惜我。

發佈了145 篇原創文章 · 獲贊 172 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章