Brad Cox

Brad Cox

1985年,被趕出蘋果公司的Steve Jobs成立了NeXT公司,致力於開發強大且經濟的工作站。NeXT選擇Unix作為其作業系統,並創建了NeXTSTEP Toolkit軟體包,這個工具包用於開發用戶界面,功能強大,其使用的程式語言就是Objective-C。1993年,NeXT中止了硬體業務,轉為專注與OpenSTEP軟體市場,並推出了一套網路程式架構WebObjects用於進行動態頁面的生成。1996年,蘋果公司以4億美金收購了NeXT,NeXTSTEP被重命名為Cocoa,WebObjects則集成到Mac OS Server和Xcode中。Objective-C自然而然成為Mac平台的首選開發語言,並受到Macintosh編程人員的廣泛認可;Cocoa成為蘋果免費提供的開發工具,提供Mac平台套用開發的環境。

基本介紹

  • 中文名:對象編程
  • 外文名:Objective-c
發展,Mac版本,

發展

對大多數人來說,Objective-C都是陌生的,原因在於它的走紅過程太短。但透過Objective-C的火爆,我們就不難理解蘋果程式商店的應用程式為什麼輕易就突破了十萬個。
Objective-C的走紅過程
TIOBE程式語言排行榜,是業界公認的程式語言的實力榜。2009年8月,Object-C自7月份上升至21位以後,又在8月份打進前二十名。這是一個信號,然而多數業界人士因為不熟悉Objective-C,並沒有讀懂這個信號意味著什麼。
時間過入到2009年10月,這個信號得到了解讀。就在這個月,AppStore(程式商店)中的程式數量超過了10萬。當時業界認為對於一款手機而言,除了強大的硬體支持以外,最受用戶關注的便是後續軟體支持。這也是智慧型手機之所以能夠一躍超過非智慧型手機成為市場寵兒的最大原因。不少專家認同這樣一個觀點:憑藉著為數眾多並且力作不斷的程式支持,蘋果iPhone在後期程式擴展能力方面的優勢要明顯高於其他品牌產品。
顯然,當時的人們更愛從iPhone硬體的角度去解讀AppStore的成功。
接下來的問題是,蘋果仍將研發出第四代以及後續iPhone產品,同期的程式數量更是為數可觀,那么接下來,AppStore的數量上限到底是多少。顯然,要想問答這一問題,單從硬體角度考慮,已是遠遠不夠了。因為智慧型終端已經發展成一個平台,並且這一平台顯然在未來的某一天要和PC、筆記本電腦等平台平起平坐。
何為Objective-C
也許相當數量的人,是從2009年8月以後認識Objective-C語言的。但在此之前,Objective-C的發展歷史著實有些驚人,因為它誕生於多數人都不知電腦為何物的1986年。
Objective-C是蘋果Mac OS X 上開發的首選語言。Mac OS X技術源自NextStep的OpenStep作業系統,而OPENSTEP的軟體架構都是用Objetive-C 寫成的。這樣,Objective-C就順理成章地成為了Mac OS X上的最佳語言。
1986年,Brad Cox在第一個純面向對象語言Smalltalk基礎上寫成了Objective-C語言。這之後,Brad Cox創立了StepStone公司從事Objective-C的推廣。1988年,Steve Jobs的NextStep採用Objective-C作為開發語言,1992年GNU GCC編譯器中包含了對Objective-C的支持。這以後的相當長時間內,套用Objective-C語言的都是日後編程界的大腕,象Richard Stallman、Dennis Glating等人。
還回到AppStore的數量上限這一問題,如果我們拿Objective-C當做一個參照指標來看,是再合適不過了。
Objective-C的輝煌
時間進入到了2010年5月,Objective-C又給了我們一個驚喜。因為Objective-C歷史性地打進了TIOBE程式語言排行榜的前十名。也許會有人對此不以為然,但別忘了,2001年6月TIOBE編程榜發布以來,總體只有13個程式語言曾經進入前十名。
而且還有一點不容忽略,這就是Objective-C語言自1986年發布以來,並沒有出現革命性的創新。Objective-C語言是唯一一種可以為iphone和ipad編程的語言,它的火爆完全是因為基於Mac OS X平台和iPhone平台移動開發的熱度升高所致。
儘管Objective-C語言擠進了TIOBE程式語言排行榜的前十名,但我們不得不說它的發展潛力還非常大。原因很簡單,Objective-C語言的實際使用率只有0.08%。但另一方面,我們不得不說,Objective-C語言從第二十名擠進第十名只用了九個月時間,但接下來再前進一步都是困難極大的,因為它的競爭對手已變成了C、Java、C++、PHP等老牌程式語言。
在接下來的時間裡,Objective-C語言如果能再把自己的名次往前提,完全可以說是:Objective-C語言前進的一小步,就是移動開發產業的一大步。
2010年2月程式語言榜單:Objective-C高歌猛進回目錄
Tiobe今日發布了2010年2月份的程式語言排行榜,在上月的榜單中,Go語言增長最多 ;本期榜單我們關注在2009年得到蓬勃發展的另一門程式語言——Objective-C,在年度程式語言評選中,它僅以0.01%的差距落後於Google Go。
2月程式語言排行榜TOP20

2010年2月程式語言排行榜TOP20
請留意排名第12位的Objective-C,在2008年1月和2009年1月發布的年度榜單中,Objective-C分別排名第47和37位。短短三年,Objective-C何以有如此快速的成長?

2002-2009年Objective-C趨勢走向
Objective-C的發展歷程
與C、C++、Java這樣的語言相比,我們可能對Objective-C有些陌生。其實,早在上世紀80年代Objective-C就已誕生。1980年代初,就職於Stepstone公司的Brad Cox發明了Objective-C,Brad當時想打造一門流行的、可移植的C語言與優雅的Smalltalk(關於Smalltalk的語言特性請參考Smalltalk之父的報導)的結合體。
Objective-C是C語言的一個擴展集,以C為基礎,並在其中增加了一些重要的特性。Objective-C是講究實用和效率的語言,使用過C++或者Java的開發者一定會驚嘆Objective-C的程式如此簡短,一般,Objective-C寫成的程式通常不會比其原始碼大很多。另外,Objective-C還繼承了Smalltalk語言的優雅和面向對象特性,而其經過改造的函式庫卻不像Smalltalk那樣需要過大的記憶體資源

Objective-C創始人Brad Cox
1985年,被趕出蘋果公司的Steve Jobs成立了NeXT公司,致力於開發強大且經濟的工作站。NeXT選擇Unix作為其作業系統,並創建了NeXTSTEP Toolkit軟體包,這個工具包用於開發用戶界面,功能強大,其使用的程式語言就是Objective-C。1993年,NeXT中止了硬體業務,轉為專注與OpenSTEP軟體市場,並推出了一套網路程式架構WebObjects用於進行動態頁面的生成。1996年,蘋果公司以4億美金收購了NeXT,NeXTSTEP被重命名為Cocoa,WebObjects則集成到Mac OS Server和Xcode中。Objective-C自然而然成為Mac平台的首選開發語言,並受到Macintosh編程人員的廣泛認可;Cocoa成為蘋果免費提供的開發工具,提供Mac平台套用開發的環境。
Objective-C的詠嘆調
由於蘋果公司的市場定位和Mac平台的特殊要求,Objective-C一直在程式語言領域保持一種低調的形象。與Windows平台下的套用開發技術和程式語言的繁盛景象相比,Objective-C更像是孤獨盛開在Mac平台上的技術奇葩。

Mac版本

但iPhone的發布改變了這一切。基於App Store模式的iPhone軟體開發不但為iPhone用戶提供品類豐富的應用程式擴展,還為眾多軟體公司和獨立開發者提供機會(詳細請參考51CTO之前的報導《獨立軟體開發者,你準備好了嗎》)。09年7月,App Store上線一周年後,軟體數量已達到6萬,每日新上線近千款iPhone軟體。考察一門程式語言是否受歡迎,其套用場景和項目需求是最重要的一點;iPhone套用開發的火爆帶動Objective-C語言的繁榮。眾多軟體開發者由其他語言或平台轉向Objective-C開發iPhone應用程式,一時之間,Objective-C和iPhone的開發書籍持續熱銷。
這種熱度還將持續。蘋果公司最近發布了採用iPhone OS的iPad,51CTO曾就蘋果iPad發布背後的意義做過報導,雖然業界對這一款產品也是褒貶不一,但是這一點也不妨礙iPad的擴展套用成為App Store的下一個熱點。行業、市場需求和套用場景的廣泛性將決定一門程式語言的流行程度。可以預見,Objective-C將迎來在iPad上進行套用開發的高潮,在移動開發的舞台上唱響更動聽的技術詠嘆調。
在本期的程式語言排行榜中,TIOBE指出,Scratch、Scala、 Erlang和JavaFX Script這幾種程式語言正在向前20名挺進,讓我們看看他們目前的排名。

相關詞條

熱門詞條

聯絡我們