Java vs. Python: 你应该选择哪个?

比较世界上两种最流行的编程语言,并在我们的投票中告诉我们你更喜欢哪一个。
144 位读者喜欢这个。
3 cool machine learning projects using TensorFlow and the Raspberry Pi

Opensource.com

这篇文章是我比较世界上两种最流行和强大的编程语言的方式:Java 和 Python! 两种语言都拥有巨大的社区支持和库,可以执行几乎任何编程任务,尽管选择编程语言通常取决于开发人员的用例。 在您比较和对比之后,请务必回答投票,分享您对哪种语言是最好的意见

它是什么?

  • Java 是一种通用面向对象编程语言,主要用于开发从移动应用程序到 Web 应用程序到企业应用程序的各种应用程序。
  • Python 是一种高级面向对象编程语言,主要用于 Web 开发、人工智能、机器学习、自动化和其他数据科学应用程序。

创建者

  • Java 由 James Gosling (Sun Microsystems) 创建。
  • Python 由 Guido van Rossum 创建。

开源状态

  • Java 是免费的,并且(大部分)是开源的,除了商业用途。
  • Python 对于所有用例都是免费且开源的。

平台依赖性

  • Java 是平台独立的(尽管 JVM 不是),这符合其 WORA(“一次编写,随处运行”)理念。
  • Python 依赖于平台。

编译型或解释型

  • Java 是一种编译型语言。 Java 程序在编译时而不是运行时被翻译成字节码。
  • Python 是一种解释型语言。 Python 程序在运行时被翻译。

文件创建

  • Java:编译后,生成 <filename>.class
  • Python:在运行时,创建 <filename>.pyc

错误类型

  • Java 有 2 种类型的错误:编译时错误和运行时错误。
  • Python 有 1 种错误类型:回溯(或运行时)错误。

静态类型或动态类型

  • Java 是静态类型的。 当初始化变量时,需要在程序中指定它们的类型,因为类型检查是在编译时完成的。
  • Python 是动态类型的。 初始化变量时不需要指定类型,因为类型检查是在运行时完成的。

语法

  • Java:每个语句都需要以分号 ( ; ) 结尾,并且代码块由花括号 ( {} ) 分隔。
  • Python:代码块由缩进分隔(用户可以选择使用多少个空格,但它应该在整个块中保持一致)。

类的数量

  • Java:在 Java 的单个文件中只能存在一个公共顶级类。
  • Python:在 Python 的单个文件中可以存在任意数量的类。

代码多还是少?

  • 与 Python 相比,Java 通常涉及编写更多的代码行。
  • 与 Java 相比,Python 涉及编写更少的代码行。

多重继承

  • Java 不支持多重继承(从两个或多个基类继承)
  • Python 支持多重继承,但由于继承复杂性、层次结构、依赖性问题等各种问题,很少实现。

多线程

  • Java 多线程可以支持两个或多个并发线程同时运行。
  • Python 使用全局解释器锁 (GIL),一次只允许单个线程(CPU 核心)运行。

执行速度

  • Java 的执行时间通常比 Python 快。
  • Python 的执行时间通常比 Java 慢。

Java 中的 Hello world

public class Hello {
   public static void main(String[] args) {
      System.out.println("Hello Opensource.com from Java!");
   }
}

Python 中的 Hello world

print("Hello Opensource.com from Java!")

运行程序

Java vs. Python

要运行 Java 程序“Hello.java”,您需要先对其进行编译,这将创建一个“Hello.class”文件。 要仅运行类名,请使用“java Hello”。 对于 Python,您只需运行文件“python3 helloworld.py”。

接下来阅读什么
标签

评论已关闭。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.