Python實(shí)現(xiàn)Java操作的“竅門”
Python 作為計(jì)算機(jī)語(yǔ)言,在廣泛的應(yīng)用之中,如果你有不解之處時(shí),例如,如何用Python實(shí)現(xiàn)Java,以及在Python實(shí)現(xiàn)Java的實(shí)際操作步驟中遇到的困難,你可以瀏覽我們的文章,此文章就是對(duì)其相關(guān)內(nèi)容的介紹。
要了解Jython,首先要了解Python。Python是用C編寫的高級(jí)的、面向?qū)ο蟮?、開(kāi)放源代碼的編程語(yǔ)言。Cuido vanRossum是Python的原創(chuàng)者,繼而在Python的快速發(fā)展中產(chǎn)生了一大群高水平的設(shè)計(jì)者和程序員。使用Python實(shí)現(xiàn)Java的開(kāi)發(fā)人員增長(zhǎng)迅速, 并一直在持續(xù)增長(zhǎng)。
然而Sun的Java編程語(yǔ)言也是深人人心的。隨著用Java實(shí)現(xiàn)的項(xiàng)目的數(shù)量接近了用C/C++實(shí)現(xiàn)的項(xiàng)目,Python的Java 實(shí)現(xiàn)也變得很有必要。Jython,最初叫做JPython,就是:Python語(yǔ)言的Java實(shí)現(xiàn)。
Jython 是一種完整的語(yǔ)言,而不是一個(gè)Java翻譯器或僅僅是一個(gè)Python編譯器,它是一個(gè)Python語(yǔ)言在Java中的完全實(shí)現(xiàn)。 Jython也有很多從CPython中繼承的模塊庫(kù)。最有趣的事情是Jython不像CPython或其他任何高級(jí)語(yǔ)言,它提供了對(duì)其實(shí)現(xiàn)語(yǔ)言的一切存取。所以Jython不僅給你提供了Python的庫(kù),同時(shí)也提供了所有的Java類。這使其有一個(gè)巨大的資源庫(kù)。
Jython和 Python強(qiáng)調(diào)了代碼的簡(jiǎn)明性、方便性和易讀性。Jython使用縮排來(lái)對(duì)代碼塊定界以避免使用在Java中的大括號(hào)。Jython 用新的一行來(lái)表示一個(gè)新的語(yǔ)句的開(kāi)始,并有幾個(gè)重要的區(qū)別,如允許在每個(gè)語(yǔ)句后省略分號(hào)。#t#
Jython沒(méi)有像在Java中的public、private 和protected存取符,這樣就給程序員提供了快速開(kāi)發(fā)所需要的靈活性,并將注意力集中在程序邏輯上。正像前面所提到的,Jython不用明顯的靜態(tài)的類型定義,故程序員不需要從程序邏輯轉(zhuǎn)移到類型定義上來(lái)。
Jython的歷史要追溯到JimHugunin,他是Guidovan Rossum在國(guó)家研究動(dòng)力中心(CNRI)的同事。JimHugunin認(rèn)識(shí)到Python編程語(yǔ)言用Java實(shí)現(xiàn)的重要性,并實(shí)現(xiàn)了最初名為 JPython的語(yǔ)言。由于要開(kāi)發(fā)aspectj(http://aspectj.org/),JimHugunin不能繼續(xù)致力于JPython了。所以當(dāng)Python實(shí)現(xiàn)Java的開(kāi)發(fā)者準(zhǔn)備離開(kāi)CNRI時(shí),由當(dāng)時(shí)也在CNRI的Barry Warsaw繼續(xù)領(lǐng)導(dǎo)開(kāi)發(fā)。
Python和 Jython項(xiàng)目組從CNRI離開(kāi)后,在Sourceforge上轉(zhuǎn)變?yōu)橐环N更開(kāi)放的語(yǔ)言模型。在此期間,一個(gè)對(duì) Jython(JPython)做了主要貢獻(xiàn)的人FinnBock領(lǐng)導(dǎo)了Jython項(xiàng)目小組。正是由于FinnBock所做的杰出貢獻(xiàn)使Jython現(xiàn)在成為一個(gè)如此有價(jià)值的工具。
類似Jython這樣的開(kāi)放源代碼項(xiàng)目與開(kāi)發(fā)和維護(hù)它們的人一樣杰出,從這個(gè)意義上說(shuō)Jython因?yàn)橛蠪innBack的貢獻(xiàn)和指導(dǎo)而很幸運(yùn)。另外一個(gè)對(duì)Jython做了最新有價(jià)值貢獻(xiàn)的人是SamuelePedroni。Samuele的貢獻(xiàn)主要在Jython的類裝載、導(dǎo)入機(jī)制等等。Finn和Samuele目前是Jython的兩個(gè)主要開(kāi)發(fā)者。