Migrando de Python para Java

Postado por Rafael Sierra em 1/04/2009

É consenso que o fluxo natural de todos seja o amadurecimento, e é com vista nisso que passei a enchergar Java com outros olhos.

Antes eu via Java como uma linguagem muito prolixo, verboso, parecido com aquele momento em que você tem que documentar o seu TCC, porém, começo a sentir que isso é um mal necessário.

Como você pode confiar em um sistema que num determinado momento assume que uma variável é um inteiro e no outro é uma conexão em um servidor IRC pronta para receber comandos de algum mestre? Pois é, é exatamente assim que as linguagens com tipagem dinâmica se comportam, uma vez que o invasor alcança seu objetivo, ele poderá fazer o que quiser. Mas pode ficar tranquilo, esse tipo de coisa não acontece em Java, pois sua estrutura rígida impede que o invasor (ou mesmo o desenvolvedor, por que não?) faça o que bem entende do seu aplicativo.

Outro ponto que considerei, foi com relação a segurança de distribuição do seu sistema. Em linguagens dinâmicas e de script como Python, PHP e Ruby, você normalmente é obrigado a entregar o código-fonte de seus scripts (!!), existem soluções de obscuração de código, mas nada se compara ao excelente sistema de bytecodes do Java, com ele, você pode tranquilamente (sem trema) compilar seu programa e entregar a seu cliente, simples assim :D

E claro, não posso concluir sem antes falar sobre o número de pacotes de terceiros disponíveis, de acordo com o gráfico claro e lúcido que pode ser encontrado em http://www.cs.berkeley.edu/~flab/languages.html, a linguagem Java (uma das linhas vermelhas) é a que em 2006 mais possui projetos no SourceForge, ou seja, é muita gente criando projetos que com certeza serão úteis a você.

Então não perca tempo, comece logo a estudar Java, pois definitivamente esse será o futuro.

9 Comentário para “Migrando de Python para Java”

  1. Fábio Cerqueira disse em 1/04/2009 as 18:49

    “Antes eu via Java como uma linguagem muito prolixo, verboso, parecido com aquele momento em que você tem que documentar o seu TCC, porém, começo a sentir que isso é um mal necessário.” Ainda não amadureci

    “Outro ponto que considerei, foi com relação a segurança de distribuição do seu sistema. Em linguagens dinâmicas e de script como Python, PHP e Ruby, você normalmente é obrigado a entregar o código-fonte de seus scripts (!!),” Engenharia reversa no java você consegue fazer isso.

    Em relação ao uso, sem dúvida Java é altamente difundida, mas vejo a redução do uso e a procura por outras soluções.

    “Então não perca tempo, comece logo a estudar Java, pois definitivamente esse será o futuro.” Não creio.

  2. Ricardo disse em 1/04/2009 as 15:34

    Haaaaaaaaa

  3. Henry disse em 1/04/2009 as 14:29

    Primeiro de abril?

  4. Rodrigo disse em 1/04/2009 as 13:38

    Era primeiro de abril mesmo né?! ou você tava falando sério?

  5. RANAN disse em 1/04/2009 as 09:00

    olá, eu estava fazendo uma pesquisa sobre winsock no google e encontrei seu site, em um artigo de 2008 onde vc fazia um programa servidor-cliente utilizando winsock. achei bastante interessante já que programação e telecomunicações são 2 coisas das quais gosto bastante, porém nao sou um expert em programação… na verdade o maximo que eu sei é fazer um contador, utilizando alguns fors, e alguns comandos como cls(), e talz, mas nao consigo nem fazer um arquivo que salve dados no computador, para serem modificados posteriormente. Gostaria de saber se vc nao possui alguma apostila ou livro bem didático e de fácil entendimento, para que eu possa anvançar no meu estudo, e assim quem sabe, chegar a fazer alguns programas utilizando protocolos de rede. Se você conseguir tais dados, solicito que sejam bem didáticos e de fácil entendimento pois estudo C de forma auto-didata, e nao tenho ninguém para mastigar o assunto para mim. Desde já agradeço.

    ranan164@hotmail.com

  6. Marcos disse em 1/04/2009 as 09:29

    Bom, com relação ao bytecode java, baixei do superdownloads um pequeno aplicativo que me retorna o código fonte! E detalhe, ele permite que eu compile novamente o código e não deu nenhum erro!

    Outro ponto a se pensar é, fala-se tanto em Open-Source (a maioria dos projetos Java distribuídos hoje), então porque (tentar) ocultar o código?

    Não sou defensor de php, python ou ruby… mas acho que cada um na sua. Não existe linguagem melhor ou pior, existem “programadores e programadores”. Ou seja, um excelente programador PHP pode fazer um código muito mais seguro que um programador java. Essa parte é relativa.

    E se for falar em segurança, o melhor mesmo é desenvolver em C, que gera o binário (não um bytecode), é rígido, leve e roda realmente em qualquer lugar (onde será que ouvi isso).

    Bom, fica aí a minha humilde opinião.

  7. Rafael Sierra disse em 1/04/2009 as 20:24

    @Henry, @Rodrigo ^^ (tá, com 4 meses de atraso :P )

  8. Sérgio Luiz Araújo Silva disse em 1/04/2009 as 08:05

    Sobre o modo como python trata variáveis o Luciano Ramalho tem um excepcional artigo:
    http://blog.ramgarlic.com/2009/04/python-e-o-caminho-do-meio.html

    Dizer que python é insegura por tratar variáveis dinamicamente não é correto. Na verdade o python é polimorfico por natureza, coisa que java não é. Ocultar código pra min leva a duas coisas:

    1 – Modelo de (in)segurança tipo Microsoft
    2 – Modelo de softwares Microsoft
    em que se cria uma dependência de um único fornecedor e no dia que ele vai embora você fica na mão.

    Pense também que ocultar o código não é garantia de segurança (vide windows)

    Por fim eu diria que programar em python é divertido. Mas cada um com sua opinião. Todas as linguagens merecem respeito.

  9. Ricardo Perez disse em 1/04/2009 as 10:07

    Sérgio Luiz este post é uma “pegadinha” de April Foll’s Day hehehe, estamos pensando em tirar ele.

Trackback URI | RSS dos comentários

Deixe um comentário

Av. Conselheiro Nébias, 368A, Cj. 413
Vila Mathias - Santos - SP
Telefone: (13) 3345-4580

© 2008 - 2009 Stiod. Todos os direitos reservados.