蒂姆·布查尔卡

Java和Python对一个开始程序员来说都是出色的选择。选择一个人真的不能出错。以下是这些语言的共同点。

两种语言确实有它们的差异,开发人员有时会出于各种原因而喜欢一个或另一个。下面是对这些原因的讨论,希望有足够的信息来帮助您决定哪种语言是您的一个语言。

学习Python编程大师班

2021年9月

  • 492课
  • 各级
4.5 (81,823)

这门Python初学者课程教您快速掌握Python语言。包括Python3的Python在线培训|Tim Buchalka,Jean-Paul Roberts,Tim Buchalka的学习编程学院

探索课程

学习曲线与可读性

对于很多开发人员来说,这个因素在他们刚开始的时候很重要。编程语言的阅读和学习有多容易?答案是:视情况而定。

java.

任何东西的学习曲线都取决于你已经知道的内容、你对学习主题的兴趣以及学习环境。例如,如果您已经完成了某种类型的编码或脚本编写,即使它正在将一些JavaScript粘贴到web页面中,您可能已经熟悉了使用Java等语言将遇到的代码结构。下面是一个Java代码示例:

public class AddTwoIntegers {public static void main(String[] args) {int first = 10;Int second = 20;system . out。println("输入两个数字:" +第一+ " +第二);Int sum =第一+第二;system . out。println("The sum is: " + sum);} }

Java还支持多种编程范式,包括面向对象编程和函数式编程。

用Java编写代码与使用类,然后使用这些类来创建对象密切相关。虽然可能,但它不是一种通常用于简单一次性脚本的语言。

python

如果您是初学者,并且发现上面的代码很难阅读,那么Python可能是一个不错的选择。可读性只是这种语言声名远扬的原因之一。下面是Python代码的一个示例:

#此程序添加两个数字num1=10 num2=10#添加两个数字sum=num1+num2#显示总和打印({0}和{1}之和为{2})。格式(num1,num2,sum))

如果您以前从未编程,Python代码通常更容易阅读。您还可以使用更简单的代码结构来获得您想要的结果。由于这个原因,它是一种非常流行的用于编写快速脚本的语言。它在科学界也被广泛使用,编程语言只是被认为是另一种工具,而不是一种职业选择。

Python也是一种多半径语言。它支持面向对象编程、函数编程和过程编程,您可以在同一应用程序中使用所有这些范例。这意味着您可以根据应用程序的功能自定义应用程序的某些部分,而不是仅依赖于一种编程范式。

语法

我们在最后一节中触及了语法。现在我们将深入了解它。两种语言之间的语法中存在相当多的差异,这些差异是开发人员选择一种语言或另一语言的重要原因。

java.

下面是另一个Java代码示例:

公共类水果{字符串名称;字符串颜色;公共水果(字符串名称,字符串颜色){this.color =颜色;this.name = name;public void myname(){system.out.println(“Hello我是:”+名称);public void mycolor(){system.out.println(“Hello My Color:”+颜色);}}果实=新水果(“苹果”,“红色”);Fruit.Myname();//打印:你好,我是一个苹果果实.mycolor();//打印:你好我的颜色是红色的

以下是您应该了解上面的代码的内容:

这是一种与其他编程语言一起携带的类似语法,包括:

语法可能很复杂,但从Java学习的内容将使您在学习这些其他流行语言时处于领先地位。

python

下面是一个Python代码示例,其作用与上面的Java代码相同:

水果类:def_init(self,name,color):self.name=name self.color=color def myname(self):print(“你好,我是”+self.name)def mycolor(self):print(“你好,我的颜色是”+self.color”)水果=水果(“苹果”,“红色”)水果。myname()#prints:你好,我是苹果水果。mycolor()#prints:你好,我的颜色是红色

关于上面的Python代码,您应该注意以下几点:

Python的语法对于编程语言来说是相当独特的。有一些语言和它的语法很接近——比如CoffeeScript,它可以编译成JavaScript——但不是很多。尽管如此,许多开发人员发现Python语法更容易管理,特别是在他们开始使用时。

类型

另一个语言处理类型的途中。简而言之,Java是静态打字的,而Python是动态键入的。

java.

在Java中,创建对象时,您始终需要指定其类型。例如,假设我们想创建一个整数和字符串类型。你必须明确指定每种类型的类型:

int var1 = 10 String var2 = "Hello World";

一旦Java中的变量初始化,我们就不能分配与原始类型不匹配的任何其他值。在上面的例子中,var1是一个整数,它永远不能被指定一个类似“Hello World”的字符串。这在某些级别上似乎是有限制的,但您的代码自然不太容易出错,因为在代码编译时,该限制将捕获任何输入错误或错误。

python

Python中的变量是强类型但动态类型的,这意味着任何变量都可以采用任何类型——这没关系。例如:

x = "Hello World"(你好世界)

以上语句在Python中是完全合法的。这样做的原因是Python的解释器,它读取并处理变量。因为Python解释您的代码,所以它没有Java应有的类型检查。这种不受限制的做法非常方便,但是在程序运行时意外地使用错误类型的变量也会导致许多问题,所以这是一种折衷。

建设和运行

Java和Python之间的一个巨大区别是这两种语言是如何构建和运行的。

java.

在Java中准备好代码之后,您需要将其编译为Java字节码,以便能够执行代码。

代码的构建输出(或工件)以.class文件的形式出现。

为了执行.class文件,您需要在该计算机上安装Java运行时环境(JRE)。class文件可以在任何具有JRE版本的平台上执行,几乎所有现代操作系统都有可用的版本。

您还可以将项目构建为一个.jar文件,方便地打包.class文件,还有一些商业产品可以将代码打包为可执行格式。

如前所述,.java文件对您没有多大好处,因为他们需要先将其编译成.class文件。为了做到这一点,您需要安装Java开发工具包(JDK),其中包括Java编译器。betwayapp下载安装

因此,简而言之,Java代码需要以.class文件的形式编译成Java字节码,然后在JRE下执行。

设置程序有很多步骤。

python

另一方面,Python是一种脚本语言。编写.py文件时,在运行它之前不需要编译代码。对于Python和其他脚本语言,您需要一个解释器来运行代码。您可以从下载Python的解释器它的官方网站

当您启动Python解释器时,它将显示一个提示,您可以在其中输入Python代码行并显示每行的结果。当你可以将Python编译为.pyc文件,允许翻译更有效地运行程序,您不是必修的来构建你的项目。一旦你用Python编写了代码,你只需要用你的.py文件运行解释器,就这样!

这两种语言都是跨平台的,因此您可以在Windows、OS X、Linux和其他平台上运行它们。

表演

程序员认为解释的语言是缓慢的。因为Python是解释的,Java是编译的,所以Python比Java慢——但有时它并不像您想象的那么重要。

如果应用程序的要求是压缩机器的每一点性能,那么您应该选择Java。但大多数时候,您不需要这种类型的性能。通常,Java和Python在某个特定用例中的性能差异并不是大小,而是百分比。

此外,现代、快速的计算机可以快速执行Java和Python代码,并有助于减少纯粹出于性能原因而选择语言的需求。

这取决于你需要做什么以及您所在的环境。图书馆和您使用的编码风格也很重要。Python提供多种编码样式,您选择的一个编码样式会影响应用程序的性能。您使用的Python版本也很重要。Python 3.x通常比Python 2.x更快地运行。

强烈建议使用Python3.x,因为截至2020年1月,Python2.x还没有官方支持。

性能可能是一个难以衡量的指标。它取决于环境、库、所使用语言的版本以及代码执行所在的硬件。

如果性能是您的项目的最高要求,那么Java可能是您想要的语言,但如果它无关紧要,您仍然可以编写执行良好的Python代码。

社区与知名度

当你是初学者时,学习一种流行的语言意味着您将能够找到语言的大量教程和文章。在构建全尺度应用程序时,流行的语言将有大量的第三方库,您可以添加到您的项目中,以便更快地制作开发更快,更大的错误。betwayapp下载安装

Python和Java哪个更流行?这很难说。这两种语言和JavaScript在流行编程语言中排名前三的竞争已经持续了多年,而且这种趋势似乎还在继续。

如果你对学习Java感兴趣,你可以在世界上大多数地区找到Java用户组(JUG)。你所在的城市可能就有一家。你可以在Java社区处理程序网站。还有一些高调的Java会议需要参加,比如JavaOne。

如果您倾向于Python,那么那里的群体就可以帮助您找到自己的方式。结束了191个城市和37个国家的1637个Python用户组会员超过86万。Python也有像PyCon这样的流行会议,来自世界各地的Python开发人员在此聚会。

就社区和流行程度而言,Java和Python是相当平等的。

用例

虽然Python和Java都被用于创建相同类型的软件,并且可以在几个项目中可互换,但有一个语言更优选的应用程序。以下是两种语言经常使用的一些地方:

现在,让我们看看这些语言中的每一种都在哪里发光。

java.

您可能听说过这样一句话:Java无处不在。Java虚拟机不仅移植到操作系统上,还移植到移动电话、智能电视和其他设备上。它的面向对象范式也适用于大型应用程序,比如您将在企业开发中发现的那些应用程序。betwayapp下载安装以下是一些使用Java的地方:

python

Python在科学家和数学家中很受欢迎,因此,虽然这两种语言都用于机器学习,但您会发现更多用于处理Python数据的库。下面是一些您可以找到Python的地方:

乔布斯和薪水

上面的用例将让您了解使用Python或Java将做什么样的工作。因此,根据您的选择,您可能会从事不同的项目,但就工资而言,您可以找到一份编写Python或Java代码的高薪工作。这两种语言一直处于前三大流行编程语言的行列,因此它估计薪酬将大致相同。这是另一个类别,在你的选择中,其他因素可能更重要,比如你将要从事的项目类型。

结论

选择编程语言时需要考虑很多事情。这是我们刚覆盖的内容的细分:

比较 python java.
学习曲线与可读性 简单 不那么容易
语法 空格和缩进 括号和分号
类型 动态 静态
建设和运行 由Python解释器执行 编译,然后在JVM上运行
表演 比Java慢 比较快
社区与知名度 非常受欢迎 非常受欢迎
用例 Android,企业发展betwayapp下载安装 机器学习,数据处理
乔布斯和薪水 高薪 高薪

任何一个选择都不能出错。无论您选择哪种语言,您都会找到许多教程和很多支持。如果您是编程语言的新功能,那么Python可能是一个很好的选择。许多开始编程人员说语法更像是常规语言,更容易理解。如果您想进入企业发展,那么您可能希望查看Java。betwayapp下载安装这一切都归结为你喜欢的东西。尝试每种语言并形成自己的意见。最终,它从来没有伤害学习。

页面上次更新:2021年3月

Java顶级课程

含Java的Selenium WebDriver-从基础到高级+框架
拉胡尔谢蒂
4.6 (68,195)
畅销书
学习JAVA编程——从初级到精通
阿卜杜勒·巴里
4.7 (3,069)
涵盖Java11和Java17的Java编程大师级
Tim Buchalka,Tim Buchalka的学习编程学院
4.6 (148,826)
畅销书
java编程完成初学者
in28Minutes官方
4.5 (19,392)
Java深入:成为一个完整的Java工程师!
德鲁·蒙德鲁鲁
4.5 (14,285)
完整的Java认证课程
Imtiaz艾哈迈德
4.5 (15,550)
Java面试指南:200多个面试问答
in28Minutes官方
4.4 (4,954)
畅销书
开发Minecraft插件(Java)
斯蒂芬金
4.7 (2404)
畅销书
现代Java - 通过编码吧,学习Java 8功能
务实的学校代码
4.5 (3,638)

更多Java课程

Java学生也会学习

让你的团队。领导行业。

使用Udemy for Business订阅您所在组织的在线课程和数字学习工具库。

请求演示

蒂姆·布查尔卡的课程

涵盖Java11和Java17的Java编程大师级
Tim Buchalka,Tim Buchalka的学习编程学院
4.6 (148,825)
畅销书
Android Java Masterclass-成为应用程序开发人员
Tim Buchalka,Jean-Paul Roberts,Tim Buchalka的学习编程学院
4.5 (9,688)
学习Python编程大师班
Tim Buchalka,Jean-Paul Roberts,Tim Buchalka的学习编程学院
4.5 (81,823)
使用Kotlin的Andbetwayapp下载安装roid应用程序开发大师级
Tim Buchalka, Jean-Paul Roberts, Tim Buchalka的Learn Programming Academy, David Reidy
4.3 (5,073)
Java Spring教程Masterclass -学习Spring Framework 5
Tim Buchalka,Tim Buchalka的学习编程学院,Goran Lochert
4.5 (5,623)
为初学者学习C#速成课程
Tim Buchalka,Jean-Paul Roberts,Tim Buchalka的学习编程学院
4.6 (1,086)
学习Java编程速成课程
Tim Buchalka, Goran Lochert, Tim Buchalka的编程学习学院
4.6 (2,090)
数据结构和算法:使用Java进行深入研究
Tim Buchalka, Goran Lochert, Tim Buchalka的编程学习学院
4.5 (10,255)
畅销书
面向Java开发人员的Kotlin
Tim Buchalka, Goran Lochert, Tim Buchalka的编程学习学院
4.5 (2,775)
Java SE 11开发人员1Z0-819 OCP课程 - 第1部分
Tim Buchalka,Tim Buchalka的学习编程学院
4.5 (2,073)
畅销书
Java SE 11 Developer 1Z0-819 OCP课程 - 第2部分
Tim Buchalka,Tim Buchalka的学习编程学院
4.4 (471)
持续集成和持续交付简介
Tim Buchalka,Tim Buchalka的学习编程学院,Eduardo Rosas
4.2 (896)

蒂姆·布查尔卡的课程