为什么尽管精简的Python程序员仍继续使用冗长的Java



来自翻译者:本文是作者试图展示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, Java

Python 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. Parallelism

Java 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 :

Source: https://habr.com/ru/post/zh-CN443412/


All Articles