蒂姆Buchalka

Java和Python都是初学者的最佳选择。你选哪一个都不会错。这些语言有一些共同之处。

这两种语言确实有其不同之处,开发人员有时会出于各种原因选择其中一种。下面是对这些原因的讨论,希望能提供足够的信息帮助您决定哪种语言适合您。

了解Python编程MasterClass

最后更新2021年3月

  • 435讲座
  • 所有级别
4.6 (72801)

这个Python初学者课程快速教你Python语言。包括Python 3 |在线培训Tim Buchalka, Jean-Paul Roberts, Tim Buchalka的Learn Programming Academy

探索课程

学习曲线和可读性

对于许多开发者来说,这个因素在他们刚起步的时候很重要。编程语言是否容易阅读和学习?答案是:看情况而定。

Java

任何东西的学习曲线都取决于你已经知道的东西、你对学习主题的兴趣程度以及学习环境。例如,如果你已经编写过一些代码或脚本,即使是将一些JavaScript粘贴到网页中,你也可能熟悉使用Java这样的语言时所遇到的代码结构。下面是一个Java代码示例:

公共类AddTwoptegers {公共静态void main(String [] args){int first = 10;int second = 20;system.out.println(“输入两个数字:”+ first +“+秒);int = first +秒;system.out.println(“总和是:”+和);}}

Java还支持多种编程范例,包括面向对象的编程和功能编程。

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

Python

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

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

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

Python也是一个多因子语言。它支持面向对象的编程,功能编程和程序编程,您可以在同一应用程序中使用所有这些范例。这意味着您可以将应用程序的某些部分定制到其功能,而不是仅仅依赖一个编程范例。

句法

我们在上一节中讨论了语法。现在我们要深入研究一下。这两种语言在语法上有相当多的差异,这些差异是开发人员选择一种语言或另一种语言的主要原因。

Java

这是Java代码的另一个示例:

public class Fruit {String name;字符串的颜色;public Fruit(String name, String color) {this。颜色=颜色;this.name =名称;} public void myname() {System.out。println("Hello I'm a:" +name);} public void mycolor() {System.out。println("Hello my color is:" + color);}}水果水果=新的水果(“苹果”,“红”);fruit.myname ();//打印:Hello I'm a Apple fruit.mycolor(); // prints: Hello my color is red

以下是你应该知道的关于上述代码:

这是你在其他编程语言中会遇到的类似语法,包括:

语法可能很复杂,但是您从Java中学到的东西将为您学习其他流行语言提供一个良好的开端。

Python

下面是与上面的Java代码相同的Python代码示例:

班级水果:def_init_(self,name,color):self.name = name self.color = color def myname(self):print(“hello我是一个”+ self.name)def mycolor(self):print(“你好,我的颜色是”+ self.color)水果=水果=水果(“苹果”,“红色”)水果.Myname()#打印:你好,我是一个Apple Futhm.mycolor()#prints:你好我的颜色是红色的

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

Python的语法对编程语言是相当独一无二的。有几种语言靠近其语法 - 诸如Coffeescript,它与JavaScript编译 - 但不是很多。仍然,许多开发人员发现Python语法更容易管理,特别是在开始时。

类型

另一个区别是两种语言处理类型的方式。简而言之,Java是静态类型的,而Python是动态类型的。

Java

在Java中,当您创建一个对象时,总是需要指定它的类型。例如,假设我们想要创建一个整数和一个String类型。你必须显式指定每个每个类型:

int var1 = 10字符串var2 =“hello world”;

一旦Java中的变量初始化,就不能赋值任何与其原始类型不匹配的值。从上面的例子来看,整数var1永远不能被分配像“Hello World”这样的字符串。在某些级别上,这似乎是一种限制,但您的代码自然不太容易出错,因为这种限制将在代码编译时捕获任何拼写错误或错误。

Python

Python中的变量强烈但动态地键入,否则任何变量都可以接受任何类型 - 无关紧要。例如:

x = 10 + 12 x =“Hello World”

上述陈述在Python中完全合法。这是Python的解释器,它在他们来时读取和处理变量。因为Python解释了你的代码,所以它没有键入的键入java所拥有的检查。这种缺乏限制可以非常方便,但不小心使用变量,因为错误的类型也可能导致您的程序运行的很多问题,因此这是一个权衡。

建造和跑步

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

Java

一旦您的代码在Java中准备就绪,您需要将其编译为Java字节码,以便能够执行代码。

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

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

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

如上所述,一个.java文件不会让您有效,因为他们需要将其编译为.class文件。为此,您需要安装Java开发套件(JDK),其中包含Java编译器。bob外围官网

因此,简而言之,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运行得更快。

强烈推荐使用Python 3。因为截止到2020年1月,Python 2。X没有官方支持。

性能可以是衡量的硬质度量。它取决于您使用的语言的环境,库和版本,并且代码正在执行硬件。

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

社区和人气

当你是一个初学者,学习一门流行的语言意味着你将能够找到大量的教程和文章关于这门语言。当您正在构建一个全面的应用程序时,一种流行的语言将拥有大量的第三方库,您可以将这些库添加到您的项目中,从而使开发更快速、更无bug。bob外围官网

Python或Java更受欢迎吗?很难说。多年来,这两种语言和JavaScript之间的竞争和JavaScript在流行的编程语言中已经进行了多年,并且趋势似乎在继续。

如果您有兴趣了解Java,您可以在世界上大多数地区找到Java用户组(JUG)。你的城市可能有一个。您可以找到有关这些组的更多信息Java社区进程程序地点。还有高调的Java会议参加,如Javaone。

如果您倾向于使用Python,那么也有许多组可以帮助您找到方法。有超过来自191个城市和37个国家的1637个Python用户组超过860,000名成员。Python还有像Pycon这样的流行会议,来自世界各地的Python开发人员会面。

就社区和受欢迎程度而言,Java和Python非常平等。

用例

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

现在让我们看看每种语言的闪光点。

Java

你可能听过这个短语:Java到处都是。Java虚拟机已被移植到不仅仅是操作系统,而是移动电话,智能电视和其他设备。其面向对象的范式也适用于在企业开发中找到的大型应用程序。bob外围官网以下是您将找到java的一些地方:

Python

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

工作和工资

上面的用例将让您了解您将使用Python或Java完成什么样的工作。因此,根据您的选择,您最终可以从事不同的项目,但就薪水而言,您可以找到一份高薪的工作,编写Python或Java代码。这两种语言一直都是最受欢迎的三种编程语言之一,因此可以看出,二者的薪酬大致相同。这是另一个类别,其他因素可能在你的选择中更重要,比如你将从事的项目类型。

结论

在选择编程语言时,有很多事情需要考虑。以下是我们刚才提到的内容的细分:

比较 Python Java
学习曲线和可读性 容易 不那么容易
句法 空白和缩减 括号和分号
类型 动态 静止的
建造和跑步 由Python解释器执行 编译,然后在JVM上运行
表现 比Java慢 相对较快
社区和人气 非常受欢迎的 非常受欢迎的
用例 Android,企业发展bob外围官网 机器学习,数据处理
工作和工资 好支付 好支付

这两种选择都不会错。无论您选择哪种语言,您都会发现许多教程和许多支持。如果您是编程语言的新手,那么Python可能是一个很好的选择。许多初级程序员说,语法更像一种常规语言,更容易理解。如果您想从事企业开发,那么您可能想看看Java。bob外围官网这完全取决于你喜欢什么。尝试每种语言,形成自己的观点。而最终学习两者也不会有坏处。

Java的顶级课程

硒WebDriver与Java -基础到高级+框架
拉胡尔·赫尔蒂
4.6 (58,233)
畅销书
Java 8简单的新功能
DURGASOFT杜尔迦
4.6 (6,692)
开发Minecraft插件(Java)
斯蒂芬·金
4.7 (2,047)
畅销书
Java 9简单的新功能:JShell,JPMS等
DURGASOFT杜尔迦
4.9 (436)
Java设计模式
Bharath Thippireddy
4.5 (588)
java中集合,仿制和反射介绍
Holczer Balazs.
4.5 (1,852)
Java编程:逐步从A到Z
Holczer Balazs.
4.7 (571)
完整的Java开发人员课程:从初学者到大师!
Rob Percival,John P. Baugh的Codestars
4.8 (55)
使用IntelliJ IDEA进行Java调试
Swapan Kumar Dutta
4.6 (98)

更多的Java课程

Java学生还学习

赋予你的团队。引领行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求一个演示

Tim Buchalka的课程

软件开发人员的Java编程MasterClass
Tim Buchalka, Tim Buchalka的学习编程学院
4.6 (137,681)
畅销书
Android Java大师班-成为一个应用程序开发人员
Tim Buchalka,Jean-Paul Roberts,Tim Buchalka的学习编程学院
4.4 (9247)
了解Python编程MasterClass
Tim Buchalka,Jean-Paul Roberts,Tim Buchalka的学习编程学院
4.6 (72801)
Android应用开发大bob外围官网师类使用Kotlin
Tim Buchalka,Jean-Paul Roberts,Tim Buchalka的学习编程学院,David Reidy
4.5 (4,380)
Java Spring教程MasterClass - 学习Spring Framework 5
Tim Buchalka,Tim Buchalka的学习编程学院,Goran Lochert
4.6 (5286)
学习C#为初学者崩溃课程
Tim Buchalka,Jean-Paul Roberts,Tim Buchalka的学习编程学院
4.7 (797)
学习Java编程崩溃课程
Tim Buchalka,Goran Lochert,Tim Buchalka的学习编程学院
4.5 (1619)
数据结构和算法:使用Java的深度潜水
Tim Buchalka,Goran Lochert,Tim Buchalka的学习编程学院
4.5 (8,831)
畅销书
Kotlin for Java开发人员
Tim Buchalka,Goran Lochert,Tim Buchalka的学习编程学院
4.5 (2355)
Java SE 11 Developer 1Z0-819 OCP课程-第1部分
Tim Buchalka,Tim Buchalka的学习编程学院,Joe Sikuea
4.4 (1470)
畅销书
Java SE 11 Developer 1Z0-819 OCP课程-第2部分
Tim Buchalka,Tim Buchalka的学习编程学院,Joe Sikuea
4.4 (240)
持续整合和连续交付介绍
Tim Buchalka,Tim Buchalka的学习编程学院,Eduardo Rosas
4.2 (201)

Tim Buchalka的课程