自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

6月編程語言排行榜:Objective-C非常“實(shí)際”的語言

原創(chuàng)
開發(fā)
TIOBE近日公布了2012年6月份的編程語言排行榜,本月排名前兩位的仍是C和Java,呈較好上升趨勢(shì)的依舊是Objective-C。依舊排在第四的位置,并且近一步拉近了與C++的距離。C++雖依舊排在老三的位置,相比之下,還是有少量的減少。由此可見Objective-C具有很大的發(fā)展空間。

【51CTO獨(dú)家特稿】TIOBE近日公布了2012年6月份的編程語言排行榜,本月排名前兩位的仍是C和Java,呈較好上升趨勢(shì)的依舊是Objective-C。依舊排在第四的位置,并且近一步拉近了與C++的距離。C++雖依舊排在老三的位置,相比之下,還是有少量的減少。由此可見Objective-C具有很大的發(fā)展空間。

Objective-C流行的主要原因可能是它是***一種可以為iPhone和iPad等基于iOS系統(tǒng)編程的語言。但單從編程語言的角度來看,誕生于1986年的Object-c并沒有表現(xiàn)出多少新意。然而Objective-C卻又是非常“實(shí)際”的語言。

大家先看看2012年6月的編程語言排行榜的榜單

Objective-C是非常“實(shí)際”的語言

它使用一個(gè)用C寫成、很小的運(yùn)行庫,只會(huì)令應(yīng)用程序的大小增加很小,和大部分OO系統(tǒng)使用極大的VM執(zhí)行時(shí)間會(huì)取代了整個(gè)系統(tǒng)的運(yùn)作相反。ObjC寫成的程序通常不會(huì)比其原始碼大很多。而其函式庫(通常沒附在軟件發(fā)行本)亦和Smalltalk系統(tǒng)要使用極大的內(nèi)存來開啟一個(gè)窗口的情況相反。

Objective-C的最初版本并不支持垃圾回收。在當(dāng)時(shí)這是爭論的焦點(diǎn)之一,很多人考慮到Smalltalk回收時(shí)有漫長的“死亡時(shí)間”,令整個(gè)系統(tǒng)失去功用。Objective-C為避免此問題才不擁有這個(gè)功能。雖然某些第三方版本已加入這個(gè)功能(尤是GNUstep), Apple在其Mac OS X 10.3中仍未引入這個(gè)功能。不過令人欣慰的是在Apple發(fā)布的xCode4中已經(jīng)支持自動(dòng)釋放啦,我不敢冒昧地說那是垃圾回收,因?yàn)閮烧邫C(jī)制不同,在xCode4中的自動(dòng)釋放,也就是ARC(Automatic Reference Counting)機(jī)制,是不需要用戶手動(dòng)去Release一個(gè)對(duì)象,而是在編譯期間,編譯器會(huì)自動(dòng)幫你添加那些以前你經(jīng)常寫的[NSObject release]。

雖然Objective-C是C的母集,但它也不視C的基本型別為***級(jí)的對(duì)象。

和C++不同,Objective-C不支援運(yùn)算子多載(它不支持ad-hoc多型)。亦與C++不同,但和Java相同,Objective-C只容許對(duì)象繼承一個(gè)類別(不設(shè)多重繼承)。Categories和protocols不但可以提供很多多重繼承的好處,而且沒有很多缺點(diǎn),例如額外執(zhí)行時(shí)間過重和二進(jìn)制不兼容。

Objective-C和C++的比較

單一繼承:Objective-C不支持多重繼承,(同Java和Smalltalk),而C++語言支持多重繼承。

動(dòng)態(tài):Objective-C是動(dòng)態(tài)定型(dynamicaly typed)所以它的類庫比C++要容易操作。Objective-C 在運(yùn)行時(shí)可以允許根據(jù)字符串名字來訪問方法和類,還可以動(dòng)態(tài)連接和添加類。

C++ 跟從面向?qū)ο缶幊汤锏腟imula 67(一種早期OO語言)學(xué)派,而Objecive-C屬于Smalltalk學(xué)派。

在C++里,對(duì)象的靜態(tài)類型決定你是否可以發(fā)送消息給它,而對(duì)Objecive-C來說,由動(dòng)態(tài)類型來決定。Simula 67學(xué)派更安全,因?yàn)榇蟛糠皱e(cuò)誤可以在編譯時(shí)查出。 而Smalltalk學(xué)派更靈活,比如一些Smalltalk 看來無誤的程序拿到Simualr 67那里就無法通過。

從很多方面來看,C++和Objective-C的差別,與其說時(shí)技術(shù)上的, 不如說是思維方式上的。你是否想更安全而舍棄靈活性?Simular67學(xué)派的支持者聲稱既然程序設(shè)計(jì)出色何必再要靈活性(謊話?。?,而Smalltalk學(xué)派則辯稱為了靈活可以容忍運(yùn)行時(shí)多出錯(cuò)(也是謊話?。?/p>

#p#

前10名編程語言走勢(shì)圖

 

20到50名語言排行

下面是第50到100的編程語言排名

ABC, bc, Boo, C shell, cg, CHILL, CL (OS/400), Clean, Clojure, Cobra, cT, Curl, Dylan, Eiffel, Euphoria, F#, Factor, Gambas, Go, Groovy, Icon, Informix-4GL, J, JavaFX Script, JScript.NET, LabVIEW, Lingo, Magic, Modula-2, MUMPS, NATURAL, Oberon, OCaml, Occam, OpenCL, OpenEdge ABL, Oz, PL/I, Q, REXX, S, SPARK, Standard ML, SuperCollider, Tcl, VBScript, VHDL, X10, xBase, XSLT

下面給出了編程語言類別的一年變化趨勢(shì)

 

【2012年榜單回顧】

  1. 2012年1月編程語言排行榜:Objective-C成為年度語言
  2. 2012年2月編程語言排行榜:用圖形編程的LOGO語言
  3. 2012年3月編程語言排行榜:JavaScript語言的回歸
  4. 2012年4月編程語言排行榜:C語言榮歸寶座
  5. 2012年5月編程語言排行榜:從愛立信走出來的Erlang
責(zé)任編輯:張偉 來源: 51CTO
相關(guān)推薦

2015-06-08 14:41:30

編程語言排行榜

2012-01-09 10:11:20

編程語言排行榜

2013-04-15 10:00:51

IT技術(shù)周刊

2013-04-09 09:59:59

編程語言編程語言排行榜

2010-02-08 13:10:00

Objective-C編程語言排行榜

2012-12-03 11:23:28

編程語言排行榜

2014-06-09 12:58:48

編程語言排行榜

2023-06-09 15:39:40

編程語言Python

2014-06-16 14:01:01

IT技術(shù)周刊

2013-08-05 15:36:57

編程語言排行榜

2021-04-09 15:20:47

編程語言Fortran程序員

2009-11-11 10:35:59

2015-07-07 10:52:46

RedMonk編程語言

2013-07-30 10:00:36

RedMonk編程語言排行榜

2010-06-07 15:57:02

編程語言排行榜框架

2020-03-07 22:01:58

編程語言JavaPython

2009-06-09 09:07:06

編程語言排行榜JavaScript

2012-08-07 10:10:23

編程語言排行榜

2012-04-09 01:53:04

編程語言排行榜

2020-02-14 09:19:12

編程語言JavaPython
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)