Por que os programadores continuam a usar Java detalhado, embora haja Python conciso



De um tradutor: este artigo é uma tentativa do autor de mostrar as vantagens (e não as desvantagens) das linguagens de programação Python e Java, além de demonstrar a dualidade de quaisquer comparações. Algo que parece uma vantagem pode vir a ser uma desvantagem e vice-versa. Talvez alguns pontos possam parecer controversos, mas isso é para melhor - nos comentários, você pode discutir tudo fundamentando corretamente seu ponto de vista. O artigo é adequado para iniciantes e programadores com experiência.

Java e Python são linguagens de programação igualmente populares. No entanto, o Python é mais produtivo: possui menos código necessário para resolver o problema. Por que os programadores ainda estão trabalhando com Java, onde você pode usar o Python? Vamos acertar.

Lembramos que: para todos os leitores de "Habr" - um desconto de 10.000 rublos ao se inscrever em qualquer curso Skillbox usando o código promocional "Habr".

A Skillbox recomenda: O curso educacional on-line "Profissão Java-developer" .

Comparação de desempenho


Primeiro, vamos discutir por que o Python é mais eficiente e economiza tempo ao desenvolver um aplicativo da web.

Digitado dinamicamente

Um dos principais motivos pelos quais o Python é uma linguagem mais produtiva é a digitação dinâmica. Isso significa que não precisamos declarar nada - apenas damos um nome à variável e atribuímos um valor. O Python determina independentemente seu tipo de acordo com o valor atribuído.

Mas Java é uma linguagem de tipo estaticamente. Todos os tipos de variáveis ​​aqui devem ser declarados. Se você cometer um erro, o programa não funcionará ou funcionará, mas com problemas.

Brevidade

Python é uma linguagem muito concisa: apenas algumas palavras podem ser usadas em poucas linhas. Mas o Java é detalhado, usa muito sem necessidade direta. Um exemplo é o programa "Olá, Mundo", escrito nos dois idiomas.

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/pt443412/


All Articles