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

2011年12月編程語言排行榜:C++11它就像一個(gè)新語言

原創(chuàng)
開發(fā) 前端
2011年12月5日Tiobe發(fā)布了2011年12月的編程語言排行榜。新一期排行榜Objective-C持續(xù)給力躍居第五位,而上一期關(guān)注的谷歌Dart語言也上升到第68名,但PHP由第四位跌到第6名。

2011年12月5日Tiobe發(fā)布了2011年12月的編程語言排行榜。新一期排行榜Objective-C持續(xù)給力躍居第五位,而上一期關(guān)注的谷歌Dart語言也上升到第68名,但PHP由第四位跌到第6名。從2001年Tiobe編程語言排行榜開始發(fā)布至今,C++幾乎一直占據(jù)著第三名。雖然Perl, Visual Basic 和PHP曾經(jīng)也排到第3名,但和C++相比,他們就顯得弱爆了,因?yàn)樗麄冏疃嘀荒鼙3謳讉€(gè)月而已。然而相比C++,微軟的編程語言C#卻更被看好,甚至有人認(rèn)為C#勢必會(huì)取代C++,C++是垃圾語言。因?yàn)槲④浀拇罅ν茝V,使用C#的人越來越多,而老將C++卻正在被人遺忘。不甘寂寞,2011年C++再次亮劍,13年來***個(gè)重大修訂版,C++11橫空出世!

下面是前20名的編程語言排行

 

掀起C++ 11的神秘面紗

C++標(biāo)準(zhǔn)在1998年獲得通過后,有兩位委員會(huì)委員預(yù)言,下一代C++標(biāo)準(zhǔn)將“肯定”包括內(nèi)置的垃圾回收器(GC),但可能不會(huì)支持多線程,因?yàn)槎x一個(gè)可移植的線程模型涉及到的技術(shù)太復(fù)雜了,13年后,新的C++標(biāo)準(zhǔn)C++11也接近完成,你猜怎么著?讓那兩位委員沒想到的是,本次更新還是沒有包括GC,但卻包括了一個(gè)先進(jìn)的線程庫。C++之父Bjame Stroustrup說C++11就像一個(gè)新語言,的確,C++11核心已經(jīng)發(fā)生了巨大的變化,它現(xiàn)在支持Lambda表達(dá)式,對(duì)象類型自動(dòng)推斷,統(tǒng)一的初始化語法,委托構(gòu)造函數(shù),deleted和defaulted函數(shù)聲明nullptr,以及最重要的右值引用。

C++11中值得關(guān)注的幾大變化

Lambda表達(dá)式

自動(dòng)類型推斷和decltype

統(tǒng)一初始化語法

Deleted和Defaulted函數(shù)

nullptr

委托構(gòu)造函數(shù)

右值引用

C++11標(biāo)準(zhǔn)庫

C++于2003年以庫技術(shù)報(bào)告1(TR1)的形式經(jīng)歷了重大改版,TR1包括新的容器類(unordered_set,unordered_map,unordered_multiset和unordered_multimap)和多個(gè)支撐正則表達(dá)式、元組和函數(shù)對(duì)象封裝器等的新庫。隨著C++11標(biāo)準(zhǔn)獲得通過,TR1和自它***發(fā)布以來新增的庫被正式納入標(biāo)準(zhǔn)的C++標(biāo)準(zhǔn),下面是C++11標(biāo)準(zhǔn)庫的一些特性:

線程庫

站在程序員的角度來看,C++11最重要的新功能毫無疑問是并行操作,C++11擁有一個(gè)代表執(zhí)行線程的線程類,在并行環(huán)境中用于同步,async()函數(shù)模板啟動(dòng)并行任務(wù),為線程獨(dú)特的數(shù)據(jù)聲明thread_local存儲(chǔ)類型。如果你想找C++11線程庫的快速教程,請閱讀Anthony William的“C++0x中更簡單的多線程”。

新的智能指針類

C++98只定義了一個(gè)智能指針類auto_ptr,它現(xiàn)在已經(jīng)被廢棄了,C++11引入了新的智能指針類shared_ptr和最近添加的unique_ptr,兩者都兼容其它標(biāo)準(zhǔn)庫組件,因此你可以在標(biāo)準(zhǔn)容器內(nèi)安全保存這些智能指針,并使用標(biāo)準(zhǔn)算法操作它們。

新的算法

C++11標(biāo)準(zhǔn)庫定義了新的算法模仿all_of(),any_of()和none_of()操作,下面列出適用于ispositive()到(first, first+n)范圍,且使用all_of(), any_of() and none_of() 檢查范圍的屬性的謂詞:

  1. #include <algorithm>   
  2. //C++11 code    
  3. //are all of the elements positive?  
  4. all_of(first, first+n, ispositive()); //false  
  5. //is there at least one positive element?   
  6. any_of(first, first+n, ispositive());//true    
  7. // are none of the elements positive?    
  8. none_of(first, first+n, ispositive()); //false 

一種新型copy_n算法也可用了,使用copy_n()函數(shù),復(fù)制一個(gè)包含5個(gè)元素的數(shù)組到另一個(gè)數(shù)組的代碼如下:

  1. #include  
  2. int source[5]={0,12,34,50,80};  
  3. int target[5];  
  4. //copy 5 elements from source to target  
  5. copy_n(source,5,target);  
  6.   

算法iota()創(chuàng)建了一個(gè)值順序遞增的范圍,好像分配一個(gè)初始值給*first,然后使用前綴++使值遞增,在下面的代碼中,iota()分配連續(xù)值{10,11,12,13,14}給數(shù)組arr,并將{‘a(chǎn)’,’b’,’c’}分配給char數(shù)組c。

  1. include <numeric> 
  2. int a[5]={0};  
  3. char c[3]={0};  
  4. iota(a, a+5, 10); //changes a to {10,11,12,13,14}  
  5. iota(c, c+3, 'a'); //{'a','b','c'} 

C++11仍然缺乏一些有用的庫,如XML API,套接字,GUI,反射以及前面提到的一個(gè)合適的自動(dòng)垃圾回收器,但C++11的確也帶來了許多新特性,讓C++變得更加安全,高效,易學(xué)易用。

如果C++11的變化對(duì)你來說太大的話,也不要驚慌,多花些時(shí)間逐漸消化這一切,當(dāng)你完全吸收了C++11的變化后,你可能就會(huì)同意Stroustrup的說法:C++11感覺就像一個(gè)新語言,一個(gè)更好的新語言。

#p#

下面是本期編程語言排行榜的其他排名數(shù)據(jù)和趨勢走向。

前10名編程語言走勢圖

 

20到50名語言排行

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

(Visual) FoxPro, ABC, ActionScript, Algol, Alice, Bash, bc, BETA, BlitzMax, Boo, Bourne shell, CFML, cg, CL (OS/400), Clean, Clojure, cT, Dart, Dylan, Eiffel, Euphoria, Factor, Icon, IDL, Io, J, JavaFX Script, JScript.NET, Korn shell, Lingo, MAD, MUMPS, NATURAL, Oberon, Occam, OpenCL, OpenEdge ABL, Oz, PowerShell, REXX, S, Scala, SPSS, Standard ML, SuperCollider, VBScript, Verilog, X10, xBase, Z shell

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

【2011年榜單回顧】

  1. 2011年11月編程語言排行榜:Google新利器Dart
  2. 10月編程語言排行榜:不成大器的D語言
  3. 9月編程語言排行榜:專為機(jī)器人玩具設(shè)計(jì)的語言NXT-G
  4. 8月編程語言排行榜:以總統(tǒng)為名的語言新貴Lua
  5. 2011年7月編程語言排行榜:COBOL五角大樓出品
  6. 2011年6月編程語言排行榜:為孩子創(chuàng)造的語言Scratch
  7. 2011年5月編程語言排行榜:用MATLAB構(gòu)建宇宙
  8. 2011年4月編程語言排行榜:告別Smalltalk
  9. 2011年3月編程語言排行榜:用Ada向人類首位程序員致敬
  10. 2011年2月編程語言排行榜:冰河時(shí)代的Fortran
  11. 2011年1月編程語言排行榜:Python稱霸2010


 

責(zé)任編輯:陳貽新 來源: 51CTO
相關(guān)推薦

2011-11-08 09:17:28

編程語言排行榜

2011-04-05 00:19:11

編程語言SmalltalkJava

2009-11-11 10:35:59

2011-01-09 14:47:23

編程語言排行榜

2023-06-09 15:39:40

編程語言Python

2012-12-03 11:23:28

編程語言排行榜

2011-06-07 09:08:12

Scratch編程語言排行榜

2020-02-14 09:19:12

編程語言JavaPython

2019-07-23 14:14:59

編程語言JavaPython

2021-09-23 10:50:42

編程語言Python排行

2021-07-07 05:42:24

編程語言開發(fā)

2012-04-09 01:53:04

編程語言排行榜

2014-11-11 17:23:32

編程語言排行榜

2013-11-11 11:00:39

編程語言排行榜

2016-12-05 09:57:35

編程語言排行榜C語言評(píng)級(jí)

2011-02-11 23:21:00

Fortran編程語言排行榜

2012-11-06 11:09:13

編程語言排行榜

2010-12-10 14:59:23

Lisp編程語言排行榜

2015-07-07 10:52:46

RedMonk編程語言

2013-07-30 10:00:36

RedMonk編程語言排行榜
點(diǎn)贊
收藏

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