日本午夜精品理论片a级_日韩限制级视频在线观看_亚洲制服丝袜中文字幕无码_亚洲精品在线看

車間負(fù)壓風(fēng)機(jī)_Facebook宣布開源Hack:支撐全球12億人訪問的編程

是由Facebook的愛爾蘭工程師Bryan O’Sullivan,Julien Verlaguet和Alok Menghrajani在過去幾年中設(shè)計(jì)出來的編程語言,和其他語言不同,Hack能在系統(tǒng)崩潰前發(fā)現(xiàn)問題。

通過與其他社交網(wǎng)絡(luò)內(nèi)部工程師合作,Hack被進(jìn)一步完善,讓編程者能在構(gòu)建復(fù)雜代碼的同時(shí),保持較快的編程速度和代碼的準(zhǔn)確性,單從這些特點(diǎn)上看,很少有目前通用的編程語言能達(dá)到。據(jù)介紹Hack已經(jīng)在Facebook內(nèi)部使用了一年,如今它的網(wǎng)站的大部分都是用Hack構(gòu)建的,該語言已經(jīng)成功支撐起這個(gè)服務(wù)于全球12億人的社交網(wǎng)絡(luò)。

參與Hack設(shè)計(jì)的工程師O’Sullivan表示,Hack已經(jīng)通過了充分實(shí)踐的考驗(yàn)。O’Sullivan是科技公司Sun Microsystems和Linden實(shí)驗(yàn)室的老牌工程師,曾在Haskell語言研發(fā)中發(fā)揮關(guān)鍵作用。

O’Sullivan今天早晨向全球公開了Hack語言,宣稱其為“開源”編程語言,在分享這一語言的同時(shí),希望世界各地的編程者能進(jìn)一步完善Hack。

軟件編碼從來不缺編程語言,新的語言屢見不鮮。但如果嘗試體驗(yàn)一下Hack,或是知道Hack設(shè)計(jì)者的背景,就會(huì)知道它絕非等閑之輩。計(jì)算機(jī)編程專家David Pollak昨天才第一次聽說Hack這種語言的存在,他表示“如果是O’Sullivan的作品,無論如何我都想嘗試一下。”

扎克2003年下半年推出Facebook,選擇當(dāng)時(shí)很流行的PHP編程語言建立網(wǎng)站。PHP是一種“動(dòng)態(tài)語言”,不需要程序員花時(shí)間定義程序中每個(gè)變量的特定參數(shù),完成一段代碼后就能馬上運(yùn)行,而省下了編譯的過程,編譯過程在程序編寫的同時(shí)在后臺(tái)運(yùn)行,車間負(fù)壓風(fēng)機(jī)。

但隨著Facebook的用戶擴(kuò)大到上千萬,PHP開始顯示出局限性。PHP網(wǎng)站擴(kuò)大時(shí),需要處理器運(yùn)行網(wǎng)站的數(shù)量要比其他語言多,并且容易出現(xiàn)故障。網(wǎng)站規(guī)模足夠大時(shí),最好采用靜態(tài)語言來構(gòu)架,比如Java,更容易管理各種變量,需要的服務(wù)器數(shù)量少,更容易管理。但這種語言又有另一種局限:構(gòu)架的速度很慢,需要完成代碼和編譯過程后才能運(yùn)行。

去年Facebook的三名頂級(jí)工程師為PHP的局限性提出了解決方案:在PHP代碼虛擬機(jī)HHVM(Hip Hop Virtual Machine)上運(yùn)行程序,HHVM構(gòu)成了Facebook的新基礎(chǔ),大大減少了網(wǎng)站運(yùn)行需要的服務(wù)器數(shù)量。而對(duì)于Java等靜態(tài)代碼的局限性,車間負(fù)壓風(fēng)機(jī),則被這種新的編程語言解決了,Hack讓能簡(jiǎn)化代碼編輯過程的同時(shí)減少出錯(cuò)量。

O’Sullivan介紹說,“開發(fā)Hack語言的動(dòng)機(jī),是提高我們程序開發(fā)人員的工作效率。隨著工程師團(tuán)隊(duì)的擴(kuò)大,由于PHP動(dòng)態(tài)語言的特性,讓他們的工作復(fù)雜程度大大提高,工作中對(duì)代碼的預(yù)測(cè)能力下降,更容易出錯(cuò)。”

Hack是新型PHP? 你可以這么想。Hack也可以在HHVM虛擬機(jī)上運(yùn)行,但編程者可以同時(shí)通過動(dòng)態(tài)或靜態(tài)的方式編寫。這種運(yùn)作方式被稱為“gradual typing”。這種編寫方式此前還只在實(shí)驗(yàn)室研究中提出過,Hack首次在現(xiàn)實(shí)中實(shí)現(xiàn)了其“實(shí)際的產(chǎn)業(yè)價(jià)值”。

有了Hack,F(xiàn)acebook可以逐步用它來替換已有的PHP程序,把原本的動(dòng)態(tài)編輯系統(tǒng)轉(zhuǎn)變成靜態(tài)編輯系統(tǒng)。O’Sullivan解釋說,“這種語言讓編寫者能自由選擇動(dòng)態(tài)或靜態(tài)的程度,比如可以用動(dòng)態(tài)語言開始,然后逐步往其中添加靜態(tài)語句,從而將這兩種不同特點(diǎn)的語言優(yōu)勢(shì)發(fā)揮到最大。”

Hack的其他優(yōu)點(diǎn)還包括:提供了更加精確的編輯語言以減少出錯(cuò)率,為編程者提供了“安全網(wǎng)”(safety net),工程師在重新訪問代碼時(shí)更容易讀懂等等。

Hack在提供這些優(yōu)勢(shì)的同時(shí),沒有影響編程者的速度。和其他靜態(tài)語言不同,Hack可以在不編譯的情況下直接運(yùn)行。在完成代碼書寫后,可以直接在網(wǎng)頁上運(yùn)行并得到運(yùn)行結(jié)果,如下圖所述,沒有普通靜態(tài)語言編輯和運(yùn)行上的延遲,同時(shí)保證了安全性(及時(shí)糾錯(cuò))和速度。

用戶反饋:Nils Adermann是Forumatic公司軟件工程師兼聯(lián)合創(chuàng)始人,他也用Hack語言。Adermann表示,這種語言超越了其他任何語言。PocketRent的工程師James Miller和Simon Welsh也適用Hack,并認(rèn)可了上述評(píng)價(jià)。他們認(rèn)為此前最接近Hack的語言是Haskell,Haskell是一種靜態(tài)編譯語言,代碼反饋的速度也很快,能動(dòng)態(tài)查看編輯效果,但Hack顯然在這一點(diǎn)上做的更好。

Adermann表示,Hack對(duì)于已經(jīng)采用PHP編輯的網(wǎng)站來說具有很大的吸引力,“有些諷刺,PHP采用Hack的最主要原因,是因?yàn)樗蚉HP的不同之處。”這些網(wǎng)絡(luò)也可以模仿Facebook,從PHP逐步轉(zhuǎn)化到Hack。但Adermann相信,即便是還沒有采用PHP的工程師也會(huì)意識(shí)到Hack的實(shí)用性,因?yàn)镻HP是目前網(wǎng)絡(luò)構(gòu)架最常用的語言,而Hack解決了它連貫性差的一大缺陷,讓原有的語言的可用性大大擴(kuò)展了。”

但對(duì)于Hack最大的肯定,莫過于在Facebook這一全球最大社交網(wǎng)絡(luò)上的成功應(yīng)用。一個(gè)新語言能通過如此矚目的方式被業(yè)界所認(rèn)識(shí)實(shí)屬難得。但有些人對(duì)Hack的身份提出了質(zhì)疑:算不上是PHP的替代,更像是PHP的補(bǔ)丁。那么Facebook對(duì)于這種聲音的態(tài)度如何呢?O’Sullivan笑稱,這是茶余飯后爭(zhēng)論的好話題。

原作者介紹:Cade Metz,Wired.com科技網(wǎng)站編輯。

(via 譯/快鯉魚) 相關(guān)的主題文章:

推薦案例