Na WEB, Java e Python

Alguém já comparou as tecnologias de desenvolvimento web baseadas em pytohn (como o Django, por exemplo) e as tecnologias baseadas em Java?
Em termos de agilidade, produtividade, robustez, escalabilidade e facilidade de manutenção, o que se sai melhor?

Se eu quiser começar a aprender Java para WEB, por onde começo? Qual a seqüência de tópicos que eu devo estudar para dominar Java na WEB?

Obrigado.

Há 2 boas fontes de referência: Use a Cabeça JAVA e Use a Cabeça Servlets e JSP.
Estes 2 livros traduzidos pela Altabooks irão guiá-lo através do desenvolvimento na plataforma JAVA.
Um abraço. :wink:

Bom, se você quer comparar Python a Java, esquece. Python é uma linguagem fácil de aprender, Java não. Nem vou entrar no mérito de frameworks, mas o lado bom é que você pode desenvolver Python e colocar em uma JVM, através do Jython. Também roda Django :smiley: .
Agora, se for aprender a linguagem, tem as apostilas da Caelum, que particularmente são uma das melhores que já vi: http://blog.caelum.com.br/apostilas/
Em termos de livros, Head First Java é bom, rápido e atinge seu objetivo. Mas não recomendo a tradução tosca da Alta Books.
Já o Head First Servlets & JSP é focado para certificação. Poucos exemplos e se você veio de outra linguagem, vai sentir que o Java é burocracia em cima de burocracia. Entretanto, se quiser algo técnico e prático, eu recomendo Desenvolvendo Aplicações Web com JSP, SERVLETS, JAVASERVER FACES, HIBERNATE, EJB 3 PERSISTENCE E AJAX, tem coisas que todo iniciante Web quer saber, como enviar e-mail, fazer upload de arquivos, uma passeada no framework oficial da Sun (inclusive um dos mais usados em projetos Java Web onde trabalho), usar o Hibernate e a JPA (a.k.a EJB 3 Persistence).
Mas se puder escolher, fique com Python, Django e aprenda também Ruby e Rails :D, embora o mercado interno ainda seja precário nestas linguagens/frameworks.

Primeiro, não pense em Java como uma linguagem e sim uma plataforma. Portanto, é complicado comparar a plataforma Java com a linguagem Python. Cada uma tem propósitos diferentes. Na minha opinião, Python (como qualquer outra linguagem de script, tais como: Ruby e PHP), são melhores para sites e sistemas pequenos. Java é melhor quando você quer algo “enterprise”, distribuido, robusto, etc etc etc.

Embora você consiga fazer sistemas simples em Java, uma linguagem de script para esse caso é muito melhor.

Sobre estudos em Java, procure no fórum que isso já foi amplamente discutido, mas no geral, você deve aprender primeiro a linguagem Java e depois partir para o mundo Web (além dos design patterns).

Existem também grandes sites feitos em Python. Como já foi cansado de ser dito aqui no fórum, escalabilidade é principalmente uma questão de arquitetura e não apenas de linguagem.
Quanto ao Jython, acredito que ele não é muito usado no ‘mundo real’. Já ouvi falar muita gente apostando no JRuby e Groovy, mas Jython, não. Alguém sabe dizer sobre alguma aplicação conhecida que utilize Jython? Independente disso, Python é uma boa escolha de linguagem.

Dentro dos quesitos de comparação que vc citou, acredito que o único em que vc terá mais trabalho para alcançar o Java será o quesito escalabilidade, mas mesmo assim, se vc pensar direito na sua arquitetura pode conseguir grandes resultados com Python.

De uma maneira geral, o Python é muito mais produtivo, fácil de dar manutenção e legível do que o Java, mas isso também é relativo se vc levar em consideração o quanto vc domina de cada linguagem e o quanto vc é um bom programador.

[quote=Jair Rillo Junior]Primeiro, não pense em Java como uma linguagem e sim uma plataforma. Portanto, é complicado comparar a plataforma Java com a linguagem Python. Cada uma tem propósitos diferentes. Na minha opinião, Python (como qualquer outra linguagem de script, tais como: Ruby e PHP), são melhores para sites e sistemas pequenos. Java é melhor quando você quer algo “enterprise”, distribuido, robusto, etc etc etc.

Embora você consiga fazer sistemas simples em Java, uma linguagem de script para esse caso é muito melhor.

Sobre estudos em Java, procure no fórum que isso já foi amplamente discutido, mas no geral, você deve aprender primeiro a linguagem Java e depois partir para o mundo Web (além dos design patterns).[/quote]

Só gostaria de uma comprovação porque falam que Java não serve para coisas simples e jogam a responsabilidade para outras linguagens dizendo ser mais simples fazer as coisas, deveria ter um estudo baseado em provas comprovadas sobre esse assunto, assim as pessoas não perdem tempo usando determinada tecnologia.

Não estou falando de plataforma, e sim de solução, por exemplo, se preciso de um simples portal, já de cara então descarto Java? Ha! PHP resolve isso é bem mais simples pra isso e esses tipos de sistemas exigem pouco, e que Java é indicado para Enterprise, porque? Porque usa JVM e tem suporte maior para determinadas funções?

É incrível e categórico verificar que em todos os comentários, que o Java é mais profissional e Enterprise.

Você não precisa de um artigo ciêntifico para tirar sua conclusão, simplesmente estude Java (a fundo) e Ruby on Rails por exemplo, você vai notar a grande diferença.

Não é porque com Java você faz muitas coisas (desde de sistemas/sites simples, até grandes portais) que você deve utilizar ele EM TODAS AS SOLUÇÕES. Você deve utilizar a ferramenta certa para cada tipo de problema. (ponto)

obs: eu trabalho só com Java/JEE, vivo de Java, graças a ele eu pago minhas contas, mas não é por isso que eu o defendo em todos os casos.

O Jython ficou semi-abandonado quando o principal desenvolvedor foi contratado pela Microsoft para desenvolver o IronPython. Uma nova equipe está correndo atrás do prejuízo, mas ainda vai levar alguns meses para ele chegar a um release 2.5 estável.

Sinceramente, Python é muito legal. Django também é muito bom, maduro, e com uma documentação que deixa muito projeto Apache com inveja. O problema é ter ainda um milésimo do mercado de Java. (e isso não é uma hipérbole)

o grinder (http://grinder.sourceforge.net/) grava as ações de um usuário e os grava em um script jython. Quando voce pede pra reproduzir a ação, o script é executado.

Logo, o Grinder é uma aplicação que usa Jython =)

T+

Quem tem amigo que é obsecado por linux como eu tenho sempre teve de aguentar as frasezinhas de q pyton iria substituir java…e até hoje nem consegiu se estabelecer no mercado ainda… Pena que nao tenho mais contato com ele.