A maior rede de estudos do Brasil

Python ou java?

Defina as vantagens e desvantagens  do Python e do Java.


57 resposta(s)

User badge image

henrique de paula

Há mais de um mês

Discordo da primeira resposta. Programo nas duas linguagens e afirmo que Python te faz escrever de forma muito mais legível. Além de te forçar a identar o código de forma correta, necessita de bem menos linhas de código para construir seus blocos de código, sem contar que é bastante intuitiva.

A menos que você pretenda trabalhar com algum código legado, ou precise de uma biblioteca/framework que faça algo que nenhuma outra em Python consiga fazer (o que é bem difícil), recomendo que use Python.

Se duvida, experimente em um único projeto e depois tente voltar ao Java!

Discordo da primeira resposta. Programo nas duas linguagens e afirmo que Python te faz escrever de forma muito mais legível. Além de te forçar a identar o código de forma correta, necessita de bem menos linhas de código para construir seus blocos de código, sem contar que é bastante intuitiva.

A menos que você pretenda trabalhar com algum código legado, ou precise de uma biblioteca/framework que faça algo que nenhuma outra em Python consiga fazer (o que é bem difícil), recomendo que use Python.

Se duvida, experimente em um único projeto e depois tente voltar ao Java!

User badge image

Jones Alves

Há mais de um mês

Em termos de foco:

Python, Ruby e Groovy são linguagens de script orientadas à produtividade.

Java, por exemplo, é uma linguagem orientada à manutenção.


Isso significa que é bem rápido escrever código em Python, mas essa "rapidez" pode criar pesadelos de manutenção mais tarde.

Na outra ponta, linguagens "rígidas" como o Java te obrigam a escrever mais, porém o código mantém obrigatoriamente uma legibilidade mínima durante todo o ciclo de vida no projeto.

Em relação ao suporte a bibliotecas, vc. pode ter "porte" de linguagens de script para qualquer API existente. É muito fácil usar a linguagem Python e a API/VM Java, como é o caso do Jython.

User badge image

Leonel Odair Arnold

Há mais de um mês

Python - Vantegens

  1. Sugere um desenvolvimento rápido, do tipo "editar-executar" (Python compila automaticamente quando executamos o programa).
  2. Suas estruturas nativas de dados, tais como listas e dicionários.
  3. A facilidade de leitura em contraste ao modo "somente de escrita".
  4. É uma linguagem sem objetivo principal: pode ser tanto utilizada em programas modo texto, quanto suporte a objetos gráficos e páginas dinâmicas. Aprendendo Python, você terá a capacidade de montar programas para diversas plataformas e objetivos sem nem mesmo prescisar trocar de linguagem.
  5. Em termos de Win32, o Python oferece o acesso completo ao MFC e outras bibliotecas gráficas mais produtivas.
  6. Outras vantagens importantes são o custo/benefício e o fato de ser multi-plataforma. Em termos de .Net, o Python oferece bom suporte, com a vantagem de suportar também o Mono.

Python - Desvantegens

  1. Lentidão.
  2. Arquivos grandes.
  3. Sujeito a erros.

Java - Vantegens

  1. Arquitetura robusta e bem pensada por uma comunidade de pessoas e empresas.
  2. Facilita o desenvolvimento em equipe, já que permite modularizar melhor os projetos em pacotes, jars, etc.
  3. Facilita encontrar erros mais cedo, já que as variáveis são fortemente tipadas e isso facilita que os compiladores e IDEs mostrem os erros antes da execução.
  4. Independência de fornecedor: existem JVMs alternativas, diversas implementações de servidores de aplicação e inúmeros frameworks web e desktop.
  5. Permite a criação de apps desktop multiplataforma. Embora haja as dificuldades intrínsecas a isso, o java resolve essa questão melhor que a maioria das plataformas.
  6. A Orientação a Objetos do Java é mais consistente.

Java - Desvantegens

  1. As vezes parece que você precisa ser um especialista em 10 APIs para você criar um "hello world".
  2. Os desenvolvedores Java costumam matar moscas usando bombas nucleares, isto é, muitas vezes um problema que seria simples de resolver, acaba gerando um sistema que precisa de um servidor de aplicação JEE Full Profile e 1 GB de RAM.
  3. Embora hoje o conceito de CoC (Convertion over Configuration) esteja presente em diversas APIs do Java, você ainda vai se preocupar com inúmeros XMLs numa aplicação complexa.

Essa pergunta já foi respondida por um dos nossos estudantes