Linux中國
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 中國: https://github.com/Linux-CN/archive
對這篇文章感覺如何?
太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
More in:Linux中國
捐贈 Let's Encrypt,共建安全的互聯網
隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
Let's Encrypt 正式發布,已經保護 380 萬個域名
由於 Let's Encrypt 讓安裝 X.509 TLS 證書變得非常簡單,所以這個數量增長迅猛。
關於Linux防火牆iptables的面試問答
Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
Lets Encrypt 已被所有主流瀏覽器所信任
旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...

















