Java 與 Python:你應該選擇哪個?
比較世界上最流行的兩種程式語言,並在投票中讓我們知道你喜歡哪一個。
讓我們比較一下世界上兩種最受歡迎、最強大的程式語言:Java 和 Python!這兩種語言有巨大的社群支援和庫來執行幾乎任何程式設計任務,儘管選擇程式語言通常取決於開發人員的場景。在比較和對比之後,請投票分享你的觀點。
是什麼?
- Java 是一門通用物件導向的程式語言,主要用於開發從移動端到 Web 到企業級應用的各種應用。
- Python 是一門高階物件導向的程式語言,主要用於 Web 開發、人工智慧、機器學習、自動化和其他資料科學應用。
建立者
- Java 是由 James Gosling(Sun Microsystems)創造的。
- Python 是由 Guido van Rossum 創造的。
開源狀態
- Java 是免費的,(大部分)開源,但商業用途除外。
- Python 對於所有場景都是免費、開源的。
平臺依賴
- Java 根據它的 WORA (“一次編寫,到處執行”)哲學,它是平臺無關的。
- Python 依賴於平臺。
編譯或解釋
- Java 是一門編譯語言。Java 程式在編譯時轉換為位元組碼,而不是執行時。
- Python 是一門解釋性語言。Python 程式在執行時進行解釋。
檔案建立
- Java:編譯後生成
<filename>.class
檔案。 - Python:在執行期,建立
<filename>.pyc
檔案。
錯誤型別
- Java 有 2 種錯誤型別:編譯和執行時錯誤。
- Python 有 1 種錯誤型別:回溯(或執行時)錯誤。
靜態或動態型別
- Java 是靜態型別。當初始化變數時,需要在程式中指定變數的型別,因為型別檢查是在編譯時完成的。
- Python 是動態型別。變數不需要在初始化時指定型別,因為型別檢查是在執行時完成的。
語法
- Java:每個語句都需要以分號(
;
)結尾,並且程式碼塊由大括號({}
)分隔。 - Python:程式碼塊通過縮排分隔(使用者可以選擇要使用的空格數,但在整個塊中應保持一致)。
類的數量
- Java:在 Java 中的單個檔案中只能存在一個公有頂級類。
- Python:Python 中的單個檔案中可以存在任意數量的類。
程式碼多少?
- Java 通常比 Python 要寫更多程式碼行。
- Python通常比 Java 要寫更少程式碼行。
多重繼承
- Java 不支援多重繼承(從兩個或多個基類繼承)。
- Python 支援多重繼承,但由於繼承複雜性、層次結構、依賴等各種問題,它很少實現。
多執行緒
- Java 多執行緒可以支援同時執行的兩個或多個併發執行緒。
- Python 使用全域性直譯器鎖 (GIL),一次只允許執行單個執行緒(一個 CPU 核)。
執行速度
- Java 的執行時間通常比 Python 快。
- Python 的執行時間通常比 Java 慢。
Hello world
Java 的:
public class Hello {
public static void main([String][3][] args) {
[System][4].out.println("Hello Opensource.com from Java!");
}
}
Python 的:
print("Hello Opensource.com from Java!")
執行程式
要執行 java 程式 Hello.java
,你需要先編譯它,這將建立一個 Hello.class
檔案。只需執行類名 java Hello
。對於 Python,只需執行檔案 python3 helloworld.py
。
via: https://opensource.com/article/19/12/java-vs-python
作者:Archit Modi 選題:lujun9972 譯者:geekpi 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- Python和Java該如何選擇?選哪個好?PythonJava
- Python和Java,你會選擇哪個?PythonJava
- python和java該如何選擇?PythonJava
- C+、Java、Python選擇哪個程式語言?JavaPython
- C和Python,小白應該選擇學習哪門語言?Python
- 小遊戲市場大洗牌,你知道你的產品應該選擇哪個渠道嗎?遊戲
- 零基礎學習程式設計,Java、Python你會選擇哪個?程式設計JavaPython
- 學習Java哪個好?選擇哪個版本Java
- 你應該選擇 Ubuntu 還是 Fedora?Ubuntu
- SUSE和Ubuntu,Linux版本該選擇哪個?UbuntuLinux
- 小白轉行,python、Java、c++選擇哪個合適?PythonJavaC++
- 【譯】13 個你應該選擇/考慮使用 Flutter 的理由Flutter
- Bash vs Python:你該使用哪個?Python
- Kafka 與 RabbitMQ 如何選擇使用哪個?KafkaMQ
- 學Python應該選擇怎樣的機構?Python
- Java和Python哪個就業前景好?初學者如何選擇?JavaPython就業
- Python2與Python3有何區別?選擇哪個合適?Python
- 個人雲主機應該怎麼選擇
- concurrent-map 和 sync.Map,我該選擇哪個?
- 你應該使用哪個雲資料庫?資料庫
- 當下應該學習Python哪個版本?哪個方向好?Python
- 轉行學IT,Java、Python、大資料選擇學哪個發展好?JavaPython大資料
- 初學程式語言,選擇python和Java哪個比較合適?PythonJava
- openSUSE Leap 與 Tumbleweed,我該選擇哪一個
- 我應該選擇哪款 iPhone?從SE到13,哪款最值得入手iPhone
- 學習程式設計,python和GO語言應該選擇哪一個?程式設計PythonGo
- Python和Web前端選擇哪個比較合適?哪個前景好?PythonWeb前端
- CRM銷售管理軟體哪個好,該如何選擇?(一)
- CRM銷售管理軟體哪個好,該如何選擇?(二)
- .Net Core ORM選擇之路,哪個才適合你ORM
- 測試開發應該選擇 Java 還是 Go 呢?JavaGo
- Time Machine 與 iCloud Drive:應該使用哪個來備份你的Mac?MacCloud
- Python和Web前端選擇哪個比較合適?PythonWeb前端
- PHP和Python如何選擇?哪個更有發展前途?PHPPython
- java與python哪個執行快?JavaPython
- 應該如何選擇CDP平臺?
- 伺服器託管與租用應該怎麼選擇?伺服器
- cross-plateform 跨平臺應用程式-03-如果只選擇一個框架,應該選擇哪一個?ROSORM框架