偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

2012年5月編程語言排行榜:從愛立信走出來的Erlang

原創(chuàng)
開發(fā)
2012年5月9日,Tiobe公布了最新一期編程語言排行榜。C語言繼續(xù)壓制Java位居第一,兩者之間的差距有越拉越大的趨勢(shì)。而Object-C上升勢(shì)頭良好,已經(jīng)開始威脅C++的老三位置。本期排行榜給我們一個(gè)問題,誰會(huì)是下一個(gè)最受歡迎的編程語言?Tiobe給出5個(gè)答案,分別是Scala、F#、Groovy、Erlang和Clojure。今天我們要關(guān)注的,是從愛立信計(jì)算機(jī)科學(xué)實(shí)驗(yàn)室走出來的Erlang。

【51CTO獨(dú)家特稿】2012年5月9日,Tiobe公布了***一期編程語言排行榜。C語言繼續(xù)壓制Java位居***,兩者之間的差距有越拉越大的趨勢(shì)。而Object-C上升勢(shì)頭良好,已經(jīng)開始威脅C++的老三位置。本期排行榜給我們一個(gè)問題,誰會(huì)是下一個(gè)***的編程語言?Tiobe給出5個(gè)答案,分別是Scala、F#、Groovy、Erlang和Clojure。今天我們要關(guān)注的,是從愛立信計(jì)算機(jī)科學(xué)實(shí)驗(yàn)室走出來的Erlang。往期編程語言排行榜點(diǎn)這里。

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

2012年5月編程語言排行榜

對(duì)于愛立信(Ericsson),大家首先想到是那個(gè)大名鼎鼎的手機(jī)廠商。在上世紀(jì)九十年代,愛立信的地位與當(dāng)初的諾基亞和今天的蘋果一樣,用戶數(shù)量巨大。不過英雄也有落幕之時(shí),現(xiàn)在的索愛早已不如當(dāng)年的愛立信那般風(fēng)光了。

Erlang專為電信行業(yè)而生

在Erlang出生之前,軟件行業(yè)中沒有一款編程語言包容電信行業(yè)所需要的所有的特性。為了下一代電信產(chǎn)品的研發(fā),在20世紀(jì)80年代中期,愛立信的計(jì)算機(jī)科學(xué)實(shí)驗(yàn)室接到為下一代電信產(chǎn)品尋找合適語言的任務(wù)。Joe Armstrong、Robert Virding和Mike Williams在Bjarne Dcker的帶領(lǐng)下,他們兩年里嘗試了所有的開發(fā)語言。在測(cè)試的過程中,實(shí)驗(yàn)室發(fā)現(xiàn)盡管有一些語言在某些方面符合電信行業(yè)的要求,但都無法覆蓋所有的特性??磥砗苡斜匾?jiǎng)?chuàng)造一門編程語言來滿足需求。

[[71761]] 

Erlang之父Joe Armstrong

51CTO推薦:Erlang之父Joe Armstrong訪談:程序調(diào)試與啤酒

從此Erlang誕生了,它受到了函數(shù)語言(比如ML和Miranda),并發(fā)語言(比如ADA、Modula、Chill)以及邏輯編程語言Prolog語言的啟發(fā)和影響。與愛立信專有語言EriPascal和PLEX一樣,Smalltalk語言的軟件升級(jí)特性在Erlang中也得到了深刻的體現(xiàn)。

1991年,Mike Williams終于寫成了以C語言為基礎(chǔ)的Erlang虛擬機(jī)的最初版本,一年之后,***個(gè)應(yīng)用Erlang的商業(yè)項(xiàng)目也在一個(gè)小團(tuán)隊(duì)的帶領(lǐng)下誕生了。該項(xiàng)目是一個(gè)移動(dòng)服務(wù)器,它允許DECT無線電話的用戶漫游于私人辦公室網(wǎng)絡(luò)。該產(chǎn)品在1994年成功問世,并隨后得到了用戶很多關(guān)于技術(shù)改進(jìn)和新特性的寶貴反饋, 這些建議都在1995年的Erlang新的版本中得以實(shí)現(xiàn)。

Erlang到底能做什么?

雖然Erlang本身是一種很有吸引力的編程語言,但當(dāng)你把它與虛擬機(jī)(VM)、OTP中間件和類庫相結(jié)合的時(shí)候,其真正的實(shí)力才能完全體現(xiàn)出來。其中的每一點(diǎn)都使Erlang軟件開發(fā)變得如此特別。那么,具體有哪些功能體現(xiàn)出Erlang與其他類似語言的不同呢?

51CTO技術(shù)文章推薦:Erlang實(shí)戰(zhàn)文本排版Erlang實(shí)戰(zhàn)建立文本索引

高級(jí)構(gòu)造

Erlang是一種聲明性的語言。聲明性語言工作的原則是去描述應(yīng)該計(jì)算什么,而不是去解釋這個(gè)值是如何計(jì)算而來的。一個(gè)函數(shù)定義就像一組等式,尤其是當(dāng)使用模式匹配從不同的情況中去選擇和從復(fù)雜的數(shù)據(jù)結(jié)構(gòu)中抽取組件的時(shí)候。下面是一個(gè)簡(jiǎn)單的例子:

  1. area({square, Side}) -> Side * Side ;
  2. area({circle, Radius}) -> math:pi() * Radius * Radius.

這個(gè)函數(shù)定義包含一個(gè)形狀參數(shù)(這里是一個(gè)方形或者圓形),依靠它收到的形狀類型,系統(tǒng)匹配正確的函數(shù)定義,并返回面積計(jì)算結(jié)果。

并發(fā)進(jìn)程和消息傳遞

并發(fā)是Erlang成功的根本。Erlang不提供共享內(nèi)存的線程,而是每個(gè)Erlang進(jìn)程都在它自己的內(nèi)存空間里執(zhí)行,并擁有它自己的堆和棧。 進(jìn)程之間不能隨意相互干擾,而這在線程模型中很容易發(fā)生,從而極易導(dǎo)致死鎖和其他可怕的事情

可擴(kuò)展、安全和高效的并發(fā)

Erlang的并發(fā)具有快速和可擴(kuò)展的特性。它的進(jìn)程是輕量級(jí)的,Erlang虛擬機(jī)不會(huì)為每一個(gè)已生成的進(jìn)程創(chuàng)建一個(gè)操作系統(tǒng)線程。Erlang進(jìn)程在虛擬機(jī)中生成、調(diào)度和處理,而與底層的操作系統(tǒng)無關(guān)。因此,進(jìn)程的生成時(shí)間是以微秒為單位的,并且獨(dú)立于現(xiàn)存的進(jìn)程的數(shù)量。比較而言,Java和C#為每一個(gè)進(jìn)程生成一個(gè)底層的操作系統(tǒng)線程:由此你能得出一個(gè)有競(jìng)爭(zhēng)性的結(jié)論是,Erlang在這方面以絕對(duì)的優(yōu)勢(shì)勝過其他兩種語言。

軟實(shí)時(shí)性

盡管Erlang是一種高級(jí)語言,但你同樣可以利用它的軟實(shí)時(shí)性。Erlang中的存儲(chǔ)管理是自動(dòng)的,垃圾收集的實(shí)現(xiàn)是以每個(gè)進(jìn)程為基礎(chǔ)。即使存在需要垃圾收集的內(nèi)存,系統(tǒng)的響應(yīng)時(shí)間也能以毫秒級(jí)計(jì)算。正因?yàn)槿绱?,即使在持續(xù)高峰的時(shí)候,Erlang也能不降低吞吐量而高負(fù)荷運(yùn)行。

健壯性

如何創(chuàng)建一個(gè)健壯的系統(tǒng)呢?雖然Erlang未必能解決你的所有問題,但和其他語言相比它在很大程度上給你的工作提供了便利。Erlang擁有一整套簡(jiǎn)單但有效的錯(cuò)誤處理機(jī)制和異常監(jiān)控機(jī)制,并且已經(jīng)內(nèi)置了大量通用庫模塊,其內(nèi)核加入了健壯性的設(shè)計(jì)。通過針對(duì)正確分支進(jìn)行編程和由類庫來處理錯(cuò)誤,程序變得簡(jiǎn)短易懂,而且錯(cuò)誤往往更少。

#p#

下面是本期榜單第21-50的編程語言排名:

Position Programming Language Ratings
21 RPG (OS/400) 0.557%
22 Assembly 0.517%
23 MATLAB 0.485%
24 Bash 0.465%
25 SAS 0.456%
26 Fortran 0.411%
27 COBOL 0.405%
28 Scheme 0.394%
29 R 0.381%
30 cg 0.372%
31 ABAP 0.372%
32 Groovy 0.344%
33 Scratch 0.343%
34 D 0.327%
35 Haskell 0.295%
36 Prolog 0.293%
37 (Visual) FoxPro 0.268%
38 NXT-G 0.252%
39 PL/I 0.245%
40 F# 0.239%
41 Smalltalk 0.238%
42 Awk 0.237%
43 APL 0.236%
44 Erlang 0.229%
45 Forth 0.224%
46 Scala 0.221%
47 ML 0.214%
48 JScript.NET 0.195%
49 VBScript 0.194%
50 Alice 0.180%

以下是本期第51-100的語言排名

ActionScript, Algol, Apex, bc, Boo, C shell, CFML, CL (OS/400), Clean, Clojure, Curl, Dart, Dylan, Eiffel, Euphoria, Factor, Felix, Go, Icon, Inform, J, JavaFX Script, LabVIEW, Ladder Logic, Lingo, LPC, Mathematica, Max/MSP, MUMPS, NATURAL, Oberon, OCaml, Occam, OpenCL, OpenEdge ABL, Oz, PowerShell, Processing, Q, REALbasic, REXX, S, S-PLUS, SPARK, SuperCollider, Tcl, Verilog, VHDL, X10, xBase

Tiobe編程語言變化趨勢(shì)

 

【2012年榜單回顧】

  1. 2012年1月編程語言排行榜:Objective-C成為年度語言
  2. 2012年2月編程語言排行榜:用圖形編程的LOGO語言
  3. 2012年3月編程語言排行榜:JavaScript語言的回歸
  4. 2012年4月編程語言排行榜:C語言榮歸寶座

 

 

 

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

2012-05-22 17:05:47

開發(fā)技術(shù)周刊

2012-07-05 16:59:42

編程語言排行榜

2012-03-12 09:41:01

編程語言排行榜

2012-02-07 08:48:00

編程語言排行榜

2012-04-09 01:53:04

編程語言排行榜

2012-11-06 11:09:13

編程語言排行榜

2020-02-14 09:19:12

編程語言JavaPython

2021-07-07 05:42:24

編程語言開發(fā)

2019-07-23 14:14:59

編程語言JavaPython

2021-09-23 10:50:42

編程語言Python排行

2023-06-09 15:39:40

編程語言Python

2013-05-09 10:01:58

編程語言排行榜

2010-05-17 09:04:50

動(dòng)態(tài)語言

2015-07-07 10:52:46

RedMonk編程語言

2013-07-30 10:00:36

RedMonk編程語言排行榜

2012-01-09 10:11:20

編程語言排行榜

2020-03-07 22:01:58

編程語言JavaPython

2012-12-03 11:23:28

編程語言排行榜

2019-01-09 10:00:19

編程語言Python

2021-01-06 12:55:08

編程語言Python開發(fā)
點(diǎn)贊
收藏

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