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

開(kāi)發(fā)人員應(yīng)該知道的六種腳本語(yǔ)言

開(kāi)發(fā) 后端
開(kāi)發(fā)人員使用的程序語(yǔ)言并不僅限于某一種或幾種,由于每種編程語(yǔ)言都是適合于解決某個(gè)具體問(wèn)題的工具,因此每個(gè)IT公司都能挑選一個(gè)最適合自己的語(yǔ)言。在本文中,我們會(huì)分享一些新興的腳本語(yǔ)言。

Lynn Greiner的文章《腳本世界現(xiàn)狀》遭到痛批。一些人對(duì)文章明顯的疏漏表示出了不滿,因?yàn)槲恼轮缓w了PHP ,Perl,Python,Ruby,Tcl和JavaScript。Lynn只選擇這些語(yǔ)言,因?yàn)樗菫槿昵暗囊黄恼伦龅暮罄m(xù)報(bào)道。此外,大多數(shù)IT經(jīng)理即使沒(méi)有親自編寫(xiě)過(guò)代碼,也都至少熟悉其中一種腳本語(yǔ)言。

然而,盡管我們已經(jīng)深入了解上述五種語(yǔ)言,但是開(kāi)發(fā)人員使用語(yǔ)言的卻不僅限于這五種。由于每種編程語(yǔ)言都是適合于解決某個(gè)具體問(wèn)題的工具,因此每個(gè)IT公司都能挑選一個(gè)最適合自己的語(yǔ)言。在本文中,我們會(huì)分享一些新興的腳本語(yǔ)言,以提供些指導(dǎo)。

Scala

Scala對(duì)開(kāi)發(fā)人員而言是別具吸引力的。按照其網(wǎng)站所說(shuō):“Scala...既是對(duì)象面向型又是實(shí)用型的。它混合了一些現(xiàn)代語(yǔ)言功能,同時(shí)與Java保持著密切的兼容性。”

Object Mentor的高級(jí)顧問(wèn)Wampler說(shuō):“Scala是我見(jiàn)到的最好的一體適用的語(yǔ)言。Scala彌補(bǔ)了Java的不足,比方Java為對(duì)象面向型編程提供的支持冗繁而有限。此外,Scala支持功能性編程——在學(xué)術(shù)計(jì)算機(jī)科學(xué)界已存在很長(zhǎng)一段時(shí)間的一種方法,但現(xiàn)在被證明用來(lái)編寫(xiě)強(qiáng)效并行軟件非常有用。并行技術(shù)對(duì)在大型網(wǎng)站和企業(yè)擴(kuò)展軟件十分重要?!?/P>

Trampoline Systems開(kāi)發(fā)人員David Ritchie Maclver認(rèn)為,Scala的主要好處是能避開(kāi)Java。他說(shuō):“就圖書(shū)庫(kù)的支持,性能和易于部署而言,我可以匹配Java。”許多Java工具也推到Scala。他認(rèn)為,他的公司正為可視化軟件的軟件采用Scala,隨著這一更新,將減少Java和Ruby的使用。

但是,Maclver并不推崇Scala的一切。他說(shuō):“為了發(fā)揮并行優(yōu)勢(shì),人們會(huì)推動(dòng)Scala的發(fā)展。但請(qǐng)不要受制于這種誘惑。因?yàn)樗荒苋〈鶭ava?!?/P>

Groovy

另一種語(yǔ)言就是Groovy,根據(jù)其網(wǎng)站所稱(chēng),Groovy是為Java虛擬機(jī)(JVM)而設(shè)計(jì)的一種靈活而動(dòng)態(tài)的語(yǔ)言。集Java之長(zhǎng),但受Python , Ruby和Smalltalk的啟發(fā),具備額外的功能和特點(diǎn)。

Groovy令人信服之處在哪里呢?首先提出這一問(wèn)題的開(kāi)源新聞平臺(tái)批評(píng)家說(shuō):“我感到驚訝的是Groovy沒(méi)有出現(xiàn)在任何地方。如果有一個(gè)動(dòng)態(tài)語(yǔ)言能平衡企業(yè)的擁堵,那它就是Groovy。它能匯編進(jìn)Java字節(jié)碼,并直接利用龐大的Java庫(kù),卻省去了繁瑣的Java句法。幾年的時(shí)間后,Python和Ruby被Groovy取代將不會(huì)使我感到驚訝?!?/P>

Groovy讓Java開(kāi)發(fā)的指令有效表達(dá),同時(shí)又與Java代碼保持相互兼容性。

Closure

您的公司可能會(huì)采用最新的硬件,但您的軟件可以充分利用其多線程功能嗎?您可能想看看Clojure,它是一個(gè)以虛擬機(jī)為目標(biāo)的動(dòng)態(tài)編程語(yǔ)言。其網(wǎng)站上解釋說(shuō), Clojure被設(shè)計(jì)成一個(gè)通用語(yǔ)言,它是將高效和強(qiáng)勁的基礎(chǔ)設(shè)施同腳本語(yǔ)言的可接近性和互動(dòng)發(fā)展相結(jié)合的多線程編程。 Clojure是一種直接編輯JVM字節(jié)碼的語(yǔ)言,卻保存了完整的動(dòng)態(tài)特點(diǎn)。每個(gè)由Clojure支持功能在運(yùn)行時(shí)也獲得支持。 Clojure提供對(duì)Java框架的輕松訪問(wèn),通過(guò)可選類(lèi)型提示和類(lèi)型推斷確保調(diào)用的Java可避免映射。

小?強(qiáng)大?Java?這三個(gè)能并存嗎? Clojure是一種體積小,功能強(qiáng)大的語(yǔ)言,它在虛擬機(jī)上編輯并運(yùn)行,因此不需要新的基礎(chǔ)設(shè)施。此外,它也可以讓您以更少的代碼處理更多事情。這對(duì)發(fā)展進(jìn)程和維護(hù)都是好事。特別有益于在缺乏像Java那樣足夠多的程序員開(kāi)銷(xiāo)時(shí),利用多核硬件。

現(xiàn)在軟件開(kāi)發(fā)中最緊迫的問(wèn)題在于如何更好地利用多核CPU ,以提高性能和降低能源成本。就方便與安全性而言,Clojure用于并行要比其他任何語(yǔ)言都要優(yōu)越。它繼承的Lisp極大地提高程序員的生產(chǎn)方式,隨著時(shí)間的增長(zhǎng),它能實(shí)現(xiàn)簡(jiǎn)單的DSL創(chuàng)建以便商家驗(yàn)證程序的正確性。它能在模擬機(jī)上運(yùn)行并能順利與數(shù)百萬(wàn)行遺留的Java代碼融合還僅是其表面現(xiàn)象。”

Lua

正式點(diǎn)說(shuō),Lua是一個(gè)強(qiáng)大,快速,輕量,可嵌入的腳本語(yǔ)言。Lua結(jié)合了簡(jiǎn)單的程序句法并具備強(qiáng)大的基于關(guān)聯(lián)數(shù)組和可擴(kuò)展的語(yǔ)義的數(shù)據(jù)描述。Lua是動(dòng)態(tài)型的,它的運(yùn)行通過(guò)為基于寄存器的虛擬機(jī)解釋字節(jié)碼來(lái)實(shí)現(xiàn),通過(guò)增量垃圾收集自動(dòng)管理內(nèi)存,非常適合配置,撰寫(xiě)腳本,和快速原型。

通俗點(diǎn)說(shuō),這只是一個(gè)非常小的語(yǔ)言工具用它辦事很快。

開(kāi)發(fā)人員RalphHempel將Lua描述為“編程語(yǔ)言中最棒的小秘密”,他還說(shuō):“雖然它沒(méi)有一個(gè)正式認(rèn)可的庫(kù)分配機(jī)制。但卻有大量的標(biāo)準(zhǔn)庫(kù)供文件系統(tǒng)訪問(wèn),網(wǎng)絡(luò)連接,數(shù)據(jù)庫(kù)訪問(wèn)等等。對(duì)我來(lái)說(shuō),該系統(tǒng)最好的部分是堅(jiān)如磐石的語(yǔ)言核心和考慮周密的升級(jí)和補(bǔ)丁。Lua的發(fā)布由從一開(kāi)始就參與該語(yǔ)言的‘Three Amigos’控制。”Hempel已向LEGO Mindstorms NXT移植Lua。

Lua的優(yōu)勢(shì)在于它的快速敏捷式開(kāi)發(fā)超過(guò)了傳統(tǒng)的語(yǔ)言。它給你所需要的積木,您可以以任何方式建立你想要的任何東西。驚人的小和快是Lua特點(diǎn)。就技術(shù)層面而言,它是杰作。

F#

.NET開(kāi)發(fā)社區(qū)并非沒(méi)有一套腳本語(yǔ)言增強(qiáng)功能。其中最突出的是F#,它起先作為微軟的編程語(yǔ)言研究,集安全,簡(jiǎn)潔,性能,表達(dá)和腳本于一身,能高品質(zhì)運(yùn)行,支持現(xiàn)代運(yùn)行系統(tǒng)?,F(xiàn)在微軟把F#轉(zhuǎn)變成.NET平臺(tái)上的充分支援語(yǔ)言。

F#促進(jìn)編程的功能性不可改變類(lèi)型,而這適合并行和分布式程序的編寫(xiě)。此外,它支持編程的陳述風(fēng)格。陳述風(fēng)格可以讓你區(qū)分為解決問(wèn)題開(kāi)發(fā)一些智能庫(kù)的高級(jí)程序員和使用它來(lái)解決日常問(wèn)題的初級(jí)程序員。

許多編程語(yǔ)言可以很容易地寫(xiě)一些小東西,再擴(kuò)展成一個(gè)較大的應(yīng)用程序,但當(dāng)軟件需要變成一個(gè)真正的有強(qiáng)大邏輯結(jié)構(gòu)的庫(kù)時(shí),問(wèn)題就來(lái)了。F#就可以讓你做得很好,你可以從簡(jiǎn)單的(就像使用動(dòng)態(tài)類(lèi)型語(yǔ)言如Python或Ruby那樣)開(kāi)始,最終完成一個(gè)非常強(qiáng)大的程序(如同C #或Java )。F#的關(guān)鍵益處是做到過(guò)渡完全流利而無(wú)須經(jīng)歷任何痛苦的步驟。事實(shí)上,你不需要重寫(xiě)任何開(kāi)始時(shí)的代碼。

F#額外的好處是通過(guò)學(xué)習(xí)F#有助于你成為更好的C#程序員, ”F#有助于人們了解LINQ。如果你未來(lái)想平行運(yùn)行什么東西,它可能是很好的準(zhǔn)備。

Boo

Boo在其主頁(yè)上宣布,它是“為CLI(通用語(yǔ)言基礎(chǔ)設(shè)施)設(shè)計(jì)的,一個(gè)新的面向?qū)ο蟮撵o態(tài)類(lèi)型的編程語(yǔ)言,具備Python-inspired句法并特別側(cè)重于語(yǔ)言和編譯器的可擴(kuò)展性。”

這不是一種解釋語(yǔ)言,因?yàn)樗木幾胧菫榱薈LI。由于它在.Net上運(yùn)行,您擁有.Net的所有權(quán)力,只有它更靈活,而且您把它當(dāng)作一個(gè)腳本或編好的程序。Boo也有足夠的技術(shù)優(yōu)勢(shì),如能在匯編過(guò)程中操縱編譯器輸出。

計(jì)算機(jī)語(yǔ)言是制作軟件的一種工具,Boo作為一種計(jì)算機(jī)語(yǔ)言與其他工具(.Net 生態(tài)系統(tǒng))一樣表現(xiàn)出色,但Boo更具競(jìng)爭(zhēng)力,因它給予開(kāi)發(fā)者空前的力量開(kāi)發(fā)自己的語(yǔ)言工具。大多數(shù)語(yǔ)言圍繞一套固定的概念工作,Boo賦予開(kāi)發(fā)者制作自己的語(yǔ)言概念的能力。此外,Boo句法也很奇妙,并配備了各種口譯以加速發(fā)展。

該語(yǔ)言在輕量特定領(lǐng)域子語(yǔ)言和微型格式中取得優(yōu)勢(shì)。它也是微小的,自我控制和跨平臺(tái)的,所以在Windows編寫(xiě)代碼和在Linux或Mac OS X是一樣的。它有一個(gè)內(nèi)置的GUI庫(kù),能夠發(fā)送電子郵件和訪問(wèn)內(nèi)內(nèi)置的網(wǎng)絡(luò)資源。沒(méi)有包含文件,只有兩條簡(jiǎn)單的線??蓤?zhí)行程序也很小,在Java做同樣的事情將有數(shù)以百計(jì)兆數(shù)據(jù),在C將有以噸計(jì)的包含文件和許多代碼。

【編輯推薦】

  1. 在Java平臺(tái)上使用腳本語(yǔ)言做Java開(kāi)發(fā)
  2. 讓Java動(dòng)起來(lái)的腳本語(yǔ)言
責(zé)任編輯:佚名 來(lái)源: IT專(zhuān)家網(wǎng)
相關(guān)推薦

2009-09-10 14:18:03

PHP庫(kù)

2024-09-18 15:39:10

JavaScript開(kāi)發(fā)閉包

2017-10-11 13:20:56

Linux命令工程師

2020-01-27 16:28:57

開(kāi)發(fā)命令遠(yuǎn)程服務(wù)器

2023-04-07 16:11:56

前端開(kāi)發(fā)

2022-09-08 08:07:21

編程語(yǔ)言程序員

2022-09-07 07:06:11

編程語(yǔ)言開(kāi)發(fā)人員

2017-02-24 19:10:45

C#開(kāi)發(fā)人員

2022-12-16 08:14:00

2023-10-26 16:56:24

2013-01-10 10:10:11

Web開(kāi)發(fā)Web工具

2011-07-10 15:18:11

開(kāi)發(fā)

2022-04-30 08:58:00

SpringJava開(kāi)發(fā)

2023-03-08 15:13:32

Git工具開(kāi)發(fā)

2013-01-28 10:25:46

開(kāi)發(fā)人員設(shè)計(jì)技巧

2024-06-04 14:31:16

2023-07-11 16:45:32

VS Code開(kāi)發(fā)技巧

2019-11-01 10:30:37

Reac測(cè)試工具開(kāi)源

2025-03-10 07:30:00

2023-12-20 08:00:00

人工智能工具開(kāi)發(fā)
點(diǎn)贊
收藏

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