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

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

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

Lynn Greiner的文章《腳本世界現(xiàn)狀》遭到痛批。一些人對文章明顯的疏漏表示出了不滿,因為文章只涵蓋了PHP ,Perl,Python,Ruby,Tcl和JavaScript。Lynn只選擇這些語言,因為她是為三年前的一篇文章做的后續(xù)報道。此外,大多數(shù)IT經(jīng)理即使沒有親自編寫過代碼,也都至少熟悉其中一種腳本語言。

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

Scala

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

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

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

但是,Maclver并不推崇Scala的一切。他說:“為了發(fā)揮并行優(yōu)勢,人們會推動Scala的發(fā)展。但請不要受制于這種誘惑。因為它不能取代Java?!?/P>

Groovy

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

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

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

Closure

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

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

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

Lua

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

通俗點說,這只是一個非常小的語言工具用它辦事很快。

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

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

F#

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

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

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

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

Boo

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

這不是一種解釋語言,因為它的編纂是為了CLI。由于它在.Net上運行,您擁有.Net的所有權(quán)力,只有它更靈活,而且您把它當(dāng)作一個腳本或編好的程序。Boo也有足夠的技術(shù)優(yōu)勢,如能在匯編過程中操縱編譯器輸出。

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

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

【編輯推薦】

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

2009-09-10 14:18:03

PHP庫

2017-10-11 13:20:56

Linux命令工程師

2020-01-27 16:28:57

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

2024-09-18 15:39:10

JavaScript開發(fā)閉包

2023-04-07 16:11:56

前端開發(fā)

2022-09-08 08:07:21

編程語言程序員

2023-10-26 16:56:24

2017-02-24 19:10:45

C#開發(fā)人員

2022-12-16 08:14:00

2022-09-07 07:06:11

編程語言開發(fā)人員

2013-01-10 10:10:11

Web開發(fā)Web工具

2023-03-08 15:13:32

Git工具開發(fā)

2022-04-30 08:58:00

SpringJava開發(fā)

2013-01-28 10:25:46

開發(fā)人員設(shè)計技巧

2011-07-10 15:18:11

開發(fā)

2024-06-04 14:31:16

2023-07-11 16:45:32

VS Code開發(fā)技巧

2019-11-01 10:30:37

Reac測試工具開源

2024-06-03 10:35:41

2015-07-28 16:38:56

App移動開發(fā)
點贊
收藏

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