Java 與 Python:你應該選擇哪個?

Archit Modi發表於2019-12-16

比較世界上最流行的兩種程式語言,並在投票中讓我們知道你喜歡哪一個。

讓我們比較一下世界上兩種最受歡迎、最強大的程式語言:Java 和 Python!這兩種語言有巨大的社群支援和庫來執行幾乎任何程式設計任務,儘管選擇程式語言通常取決於開發人員的場景。在比較和對比之後,請投票分享你的觀點。

是什麼?

  • Java 是一門通用物件導向的程式語言,主要用於開發從移動端到 Web 到企業級應用的各種應用。
  • Python 是一門高階物件導向的程式語言,主要用於 Web 開發、人工智慧、機器學習、自動化和其他資料科學應用。

建立者

  • Java 是由 James Gosling(Sun Microsystems)創造的。
  • Python 是由 Guido van Rossum 創造的。

開源狀態

  • Java 是免費的,(大部分)開源,但商業用途除外。
  • Python 對於所有場景都是免費、開源的。

平臺依賴

  • Java 根據它的 WORA (“一次編寫,到處執行write once, run anywhere”)哲學,它是平臺無關的。
  • 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 vs. Python

要執行 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

本文由 LCTT 原創編譯,Linux中國 榮譽推出

Java 與 Python:你應該選擇哪個?

訂閱“Linux 中國”官方小程式來檢視

相關文章