来自翻译者:本文是作者试图展示Python和Java编程语言的优点(而非缺点),并演示任何比较的双重性。 似乎是一种优势的东西可能最终被证明是不利的,反之亦然。 也许有些观点可能引起争议,但这是最好的-在评论中,您可以通过正确地证实自己的观点来讨论所有问题。 本文适合有经验的初学者和程序员。Java和Python是同样流行的编程语言。 但是,Python的生产力更高:解决问题所需的代码更少。 为什么程序员仍然在使用可以使用Python的Java上工作? 让我们做对。
我们提醒您: 对于所有“哈勃”读者来说,使用“哈勃”促销代码注册任何Skillbox课程时均可享受10,000卢布的折扣。
Skillbox建议:在线教育课程“专业Java开发人员” 。
性能比较
首先,让我们讨论为什么在开发Web应用程序时Python更高效并节省时间。
动态类型Python是一种更具生产力的语言的主要原因之一是动态类型。 这意味着我们不需要声明任何内容-我们只需给变量命名并分配值即可。 Python根据分配的值独立确定其类型。
但是Java是一种静态类型的语言。 这里必须声明所有类型的变量。 如果您输入有误,该程序将无法正常运行,但会出现问题。
简洁Python是一种非常简洁的语言:只有几行可以使用几个单词。 但是Java非常冗长,不需要直接使用就使用很多。 一个示例是用两种语言编写的“ Hello,World”程序。
Java:public class HelloWorld{
public static void main (String[] args){
System.out.println("Hello, World!");
}
}
Python 2:print "Hello, world!"
, Python , . .
Java:int x = 5;
int y = 6;
int temp;
temp = x; // temp has the value of 5
x = y; // x has the value of 6
y = temp; // y has the value of 5
Python 2:y, x = x, y
Boilerplate code, JavaPython Boilerplate code, Java, . Java, Boilerplate code - , ( ), .
, , Python. , . Java .
Java?
, Java , , Python.
, . , . , , Java , , , Python. , . . ( -, , Python) , .
, Java- , Python, , . Java- , , Python- -. , , .
, Java, Python , . JIT (Just-in-Time Compiler), . Java- , /++.
Python- Cython Jython /++ Java- Python. . Python Java.
. Java .
Python Java, Python , , ++ Fortran. , , Python, , , , C C/C++. , , Python. Java — Java.
Concurrency vs. ParallelismJava concurrency . , . Java , Python. - GIL (Global Interpreter Lock), Python , .
Python, Java . Java , . . , . , JVM: Scala, Kotlin, Clojure, Groovy .. , Java , Gradle Maven.
IT, , , , . , Python , . — , Java.
, Java Android, Kotlin. , Android, , Java. .
Python, Kiwi, .
Java JDBC (Java DataBase Connectivity). Java- , java.sql, Java SE. JDBC , URL.
Java Python — , . , , , , , , . . Java , , Python , .
Skillbox :