国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Java發(fā)展趨勢(shì):走在最前線的腳本語(yǔ)言

2019-11-18 11:50:27
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  雖然只有8歲,卻如同35歲的青壯年一般,java已經(jīng)迅速地在眾多領(lǐng)域確立了其地位:對(duì)等網(wǎng)絡(luò)、開(kāi)放源代碼、無(wú)線開(kāi)發(fā)和嵌入式應(yīng)用程序等等,這還只是其中一些。要準(zhǔn)確地把握這門語(yǔ)言的走向是很困難的,因?yàn)樗谕瑫r(shí)向各個(gè)方向齊頭并進(jìn)。
  
  在本系列的文章里,我邀請(qǐng)了經(jīng)驗(yàn)豐富的Java開(kāi)發(fā)人員來(lái)討論他們認(rèn)為重要的發(fā)展趨勢(shì)。第一部分涵蓋了Java社區(qū)的發(fā)展(Java Community PRocess)及其官僚作風(fēng)的問(wèn)題?,F(xiàn)在,我們要看看Java王國(guó)里腳本語(yǔ)言正在增強(qiáng)的影響力,以及使用它們的優(yōu)勢(shì)和劣勢(shì)。
  
  關(guān)于快速開(kāi)發(fā)的一切
  
  
  
  毫無(wú)疑問(wèn):腳本編寫(xiě)語(yǔ)言,例如Jython、Python、Perl和php,正在被越來(lái)越多地使用。Jython事實(shí)上就是Python編程語(yǔ)言的完整實(shí)現(xiàn)。它100%使用純Java編寫(xiě)而成,并答應(yīng)對(duì)Java庫(kù)的輕松訪問(wèn)。
  
  這種腳本編寫(xiě)的趨勢(shì)在很大程度上是由快速應(yīng)用程序開(kāi)發(fā)(RAD)推動(dòng)的,這是一種始終都能夠贏得追隨者的開(kāi)發(fā)風(fēng)格。由于市場(chǎng)營(yíng)銷的執(zhí)行者逼迫IT的生產(chǎn)公司加速產(chǎn)品的開(kāi)發(fā),因此IT的治理者被迫尋找最有效的方式來(lái)滿足最終期限的要求。在這里RAD是主要的源動(dòng)力。
  
  “你可能很擅長(zhǎng)某些腳本語(yǔ)言,并且能夠完成常規(guī)Java所不能完成的任務(wù),”Mukund Balasubramanian說(shuō)。他是位于加利福尼亞州雷德伍德城的Infravio的首席技術(shù)官,負(fù)責(zé)著Java和Web服務(wù)的集成?!凹偃缒阒廊绾问褂靡婚T優(yōu)秀的語(yǔ)言,你就可以在開(kāi)發(fā)中省下很多的時(shí)間和金錢。”
  
  
  
  腳本語(yǔ)言的優(yōu)勢(shì)
  
  Balasubramanian說(shuō),腳本語(yǔ)言具有下列優(yōu)勢(shì):
  
  快速開(kāi)發(fā):腳本語(yǔ)言極大地簡(jiǎn)化了“開(kāi)發(fā)、部署、測(cè)試和調(diào)試”的周期過(guò)程。
  輕易部署:大多數(shù)腳本語(yǔ)言都能夠隨時(shí)部署,而不需要耗時(shí)的編譯/打包過(guò)程。
  同已有技術(shù)的集成:腳本語(yǔ)言被Java或者COM這樣的組件技術(shù)所包圍,因此能夠有效地利用代碼。
  易學(xué)易用:很多腳本語(yǔ)言的技術(shù)要求通常要低一些,因此能夠更輕易地找到大量合適的技術(shù)人員。
  動(dòng)態(tài)代碼:腳本語(yǔ)言的代碼能夠被實(shí)時(shí)生成和執(zhí)行,這是一項(xiàng)高級(jí)特性,在某些應(yīng)用程序里(例如javascript里的動(dòng)態(tài)類型)是很有用也是必需的。
  腳本語(yǔ)言的劣勢(shì)
  
  但是,Java腳本語(yǔ)言有下面這些劣勢(shì):
  
  腳本語(yǔ)言不夠全面。它們會(huì)要求一門“真正的”編程語(yǔ)言的存在;例如,你必須找一個(gè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序?qū)⑵鋬?nèi)置進(jìn)腳本語(yǔ)言里。
  腳本語(yǔ)言并不是軟件工程和構(gòu)建代碼結(jié)構(gòu)的最佳選擇,例如面向?qū)ο蠛突诮M件的開(kāi)發(fā)。
  腳本語(yǔ)言通常不是“通用”語(yǔ)言,但是能夠根據(jù)專門的應(yīng)用來(lái)調(diào)整,例如PHP和萬(wàn)維網(wǎng)。
  
  “因此,腳本語(yǔ)言能夠在很大程度上加速軟件的開(kāi)發(fā),但是必須要根據(jù)具體的應(yīng)用來(lái)仔細(xì)選擇——例如動(dòng)態(tài)Web頁(yè)面,或者對(duì)‘真正的’編程語(yǔ)言進(jìn)行補(bǔ)充,就像Jython是對(duì)Java的補(bǔ)充一樣,”Balasubramanian說(shuō)。
  
  第三方的工具能夠有助于將腳本和基礎(chǔ)框架融合在一起
  
  
  
  像IBM的Bean腳本編寫(xiě)框架(Bean Scripting Framework)這樣的工具使得將Tcl、Python、Perl和其他腳本語(yǔ)言融合進(jìn)Java應(yīng)用程序變得相當(dāng)輕易。Sun、Borland、BEA和其他的公司也提供了類似的工具。但是俄勒岡州威爾遜維爾的Mentor Graphics的資深Java開(kāi)發(fā)人員David Kearns指出,支持一門腳本語(yǔ)言就存在耗時(shí)和耗錢的風(fēng)險(xiǎn),不要說(shuō)支持六門語(yǔ)言了。
  
  在其最近為Java世界所撰寫(xiě)的一篇文章中,Kearns描述了在你Java應(yīng)用程序里支持腳本語(yǔ)言所固有的風(fēng)險(xiǎn)。
  
  “在我看來(lái),Jython具有最快的腳本解釋器,并有一些強(qiáng)大的編程特性,”他說(shuō)?!拔椅ㄒ徽嬲P(guān)心的是Jython的控制流句法(control-flow syntax),這可能對(duì)你來(lái)說(shuō)很重要,也可能不重要。對(duì)于Jacl而言,編寫(xiě)用于Jython的腳本的學(xué)習(xí)曲線可能要比Javascript或者BeanShell高,(即學(xué)習(xí)前者要比學(xué)習(xí)后兩者困難),因?yàn)橛懈嗟男聳|西要學(xué)習(xí)。假如你想要在Python里編寫(xiě)不同平常的腳本,那么我推薦你去買本書(shū)看看。Python是一門很常見(jiàn)的編程語(yǔ)言,所以你在書(shū)店里會(huì)有很多的選擇。
  
  
  
  其他Java腳本語(yǔ)言
  
  下面列舉出了一些使用最廣泛的面向Java的腳本語(yǔ)言,感謝Java老手——About.com的William Wagers提供這些內(nèi)容:
  
  Beanshell
  BeanShell是一個(gè)簡(jiǎn)短的、免費(fèi)的、可下載的、可嵌入的Java源代碼解釋器,它具有使用Java編寫(xiě)成的對(duì)象腳本語(yǔ)言的特性。除了普通的腳本命令和句法之外,BeanShell還能夠執(zhí)行標(biāo)準(zhǔn)的Java陳述式和表達(dá)式。它能夠?qū)⒛_本對(duì)象作為簡(jiǎn)單的方法閉塞(method closure)來(lái)支持,就像Perl和JavaScript里的一樣。
  
  Jess
  Jess是一個(gè)完全使用Java語(yǔ)言編寫(xiě)的規(guī)則引擎(rule engine)和腳本環(huán)境。Jess最初的靈感來(lái)自CLIPS專家系統(tǒng),但是現(xiàn)在它已經(jīng)發(fā)展成為一個(gè)完整的、卓越的動(dòng)態(tài)環(huán)境。使用Jess,你能夠創(chuàng)建Java applet以及應(yīng)用程序,并讓這些程序根據(jù)以說(shuō)明規(guī)則(declarative rule)的形式所提供的信息進(jìn)行“推理”。
  
  JudoScript
  JudoScript是一個(gè)Java類的腳本,它具有很多特性:HTTP客戶端和服務(wù)器編程、文件系統(tǒng)和歸檔、xml和XSLT腳本編寫(xiě)、JDBC腳本編寫(xiě),以及Html修飾能力(scraping)。它還有值得炫耀的帶有監(jiān)控程序的調(diào)度程序、sendmail、運(yùn)行可執(zhí)行(run executable)、Java GUI的創(chuàng)建、FTP、SSH和SCP,以及Windows注冊(cè)表等等。這個(gè)軟件可下載,包括源代碼,都是免費(fèi)的。
  
  Rhino
  Rhino使用純Java編寫(xiě)而成,是一個(gè)開(kāi)放源代碼的JavaScript的實(shí)現(xiàn)。它通常被嵌入到Java應(yīng)用程序里,用來(lái)向終端用戶提供腳本編寫(xiě)的能力。
  
  
  腳本編寫(xiě)是Java的未來(lái)嗎?
  
  你認(rèn)為腳本編寫(xiě)穩(wěn)固地扎根在Java的未來(lái)里嗎?將你的看法發(fā)布在下面。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 苍溪县| 阳曲县| 吴桥县| 隆尧县| 延吉市| 格尔木市| 获嘉县| 龙游县| 富裕县| 宜宾市| 曲阜市| 会东县| 娄烦县| 清水河县| 汉川市| 铜鼓县| 许昌县| 丰顺县| 聊城市| 浦城县| 眉山市| 怀柔区| 泾阳县| 三门峡市| 德州市| 鞍山市| 涿鹿县| 时尚| 尼勒克县| 西藏| 伽师县| 治多县| 高密市| 英超| 白城市| 安阳市| 承德市| 英超| 佛山市| 黄冈市| 历史|