Python 相比 Java的優勢是什嗎?缺點又是什麼?
來源:互聯網
上載者:User
回複內容:
瞭解的不全,拋個磚等大神吧。
優點:
1. Python作為動態語言更適合初學編程者。Python可以讓初學者把精力集中在編程對象和思維方法上,而不用去擔心文法、類型等等外在因素。而Python清晰簡潔的文法也使得它調試起來比Java簡單的多。至於哪個更“優雅”純屬個人喜好,但對於初學編程的人Python更直觀應該沒什麼異議。
2. Python有一些Java沒有的強大的架構2.1. Advanced Python Constructs,可以表達非常複雜的Logic
3. Python有非常強大的支援非同步架構如Eventlet Networking Library,而據我所知Java要實現這些功能要麻煩的多。也因此Python適合一些可擴充的後台應用。(但除此以外Python可擴充性是不如Java的)
2. Python作為指令碼語言,更適合開發小的應用,而且極其適合在應用發展初期時用來做原型
缺點:
1. 由於Python的優點也無可避免會有犧牲------由於是動態語言,比Java還慢。你可以想象一下編譯器對於沒有typing的變數,需要一個一個check具體type所耗得時間。而Java相比起C++等等本來就不快,可想而知更慢的效果... 但很多人覺得Python code更短小精悍,所以實際跑起來不見得比Java耗時。
2. Java很適合發展跨平台應用,幾乎常見的電腦、智能機都能跑Java。而Python就不一樣了...
關於他們的異同可參考Python vs Java: Key Differences
說得不對的地方請大家指出 :)多範型 怎麼寫都行-
為了回報題主的感謝,我想再多說一點。我也只是剛剛入門不久,只能給不太瞭解的人一點簡單的資訊。
Python有著跟C/C++相似的基本文法,比如邏輯結構上有判斷,迴圈,資料結構上有更靈活的列表、字典,也有物件導向方面的類。在這些基本的方面,Python都比C++/Java 更靈活,易理解,給人的感覺就是作者在發明Python時應該是受夠了C++/Java中一些彆扭、冗餘的規範。由於沒有各種條條框框,Python在做一些簡單的資料處理的時候很方便,跟MATLAB很像。
Python另外一個強大的地方就是各種各樣的庫(module),這些庫功能強大到你感覺你用他們寫代碼似乎沒有技術含量一樣。比如你想把一些網頁上的資料抓取下來,儲存成符合要求的格式,只需要利用urllib.request庫寫5行左右代碼把網頁抓取下來,然後再利用beautifulsoup庫用10行左右的代碼把網頁裡的資料解析成一定的格式。而這隻是Python應用的一個小方面。
-
歡迎各種賜教和討論。寫著爽.很直觀的感覺是,python寫出來的代碼,每一行的平均長度往往比java少。Python開源,收費困難優點:沒有Java流行
缺點:沒有多大存在感的語言我覺得缺點是:
1、Python有點慢,似乎CPython(官方實現)沒有開發JIT解譯器的計劃。現在有個PyPy項目做的就是這件事,進度不錯,值得期待。
當然,Python快點慢點這個真沒什麼重要的,Python主打的特性不是這個。需要更快、更小的動態語言可以選擇Lua。
2、很容易被反編譯。公開的商業項目用之前可能要掂量掂量……
3、類庫命名風格不統一,隨意性大。不說缺點了,兩者都是好語言,隨便說下優點吧(其實缺點也可以從各自優點裡體味得到,另外本人小白,如果說錯請指正)
Java的優點:
1.將JDK和Java虛擬機器分離,JDK就是用Java寫的,而Java虛擬機器則是用C/C++編寫,開發人員不需要花很大的功夫就能理解它的來龍去脈;
2.跨平台:一次編譯,到處運行;
3.靜態語言,速度快~
Python的優點:
1.介面簡單,對初學者上手應用很容易上手,開發效率高;
2.應用領域廣,什麼都能幹~優勢:寫的爽。平均行長度和平均行數都小得多,表達能力以五到十倍計。
劣勢:沒有編譯器檢查,沒有足夠強大的 IDE 支援,蠢人寫不來。
某司內訓格言:隨便抓一個本科生,培訓三個星期 Java 就可以進項目了。