Blog do TaQ

Biscoito da sorte - Parte 3 - chutando o balde

Publicado em General

Levando em conta as outras duas partes ali embaixo, deixa eu ser mais específico aqui com uma coisa: a pegação no pé do Java por um zilhão de pessoas. Incrível como a moda hoje em dia é falar "Java é uma @#$@# use Python" (sim, vou falar com todas as letras sim).
Eu acho Python muito massa. E acho Java muito massa. Já escrevi sobre a melhor solução para cada problema, mas parece que tem gente que acha que o mundo é feito de Python, outros acham que C# é lindo e que o C puro morreu, e coisas do tipo. Mas tem uns que insistem em falar mal de Java.
Vocês me desculpem a sinceridade, mas ninguém nunca conseguiu fazer alguma coisa decente com Java? Não? Então ou vocês a usaram para a coisa errada ou me desculpem de novo, vocês são péssimos programadores (entenderam agora o "chutando o balde"?) que não entenderam a linguagem, fizeram umas baitas burradas e querem tirar o seu da reta jogando a culpa na linguagem.
Deixa eu só falar que Python é a linguagem mais elegante que eu já programei até hoje e tem umas sacadas geniais. Mas serve para tudo que eu preciso? A resposta é não. E se você tentar usá-la para tudo o que precisar, das duas uma, ou você é teimoso pra cacete ou você é um mago do Python e sabe como usá-la a fundo, meus parabéns, mas pare de me encher o saco por que eu gosto de (e faço coisas boas com) Java.

Quando comecei um programa em 1999 para uma certa tarefa específica, analisei várias linguagens levando em conta qual seria mais adequada para o meu tipo de problema. Pasmem, levei em conta até Visual Basic, a qual tive a certeza que não era a coisa mais adequada em poucos minutos. Visual Basic pode ser bem útil para certas pessoas e certos casos, mas realmente não era para o que estava precisando. Não entendo por que algumas pessoas tem vergonha de analisar a ferramenta de acordo com o problema, será por gostarem de ficarem no "hype" do momento e mesmo que uma outra linguagem seja a mais adequada para um problema, eles preferem fazer uma torre de Babel com a linguagem que eles preferem? Que raios de profissionais são esses, sacrificando uma boa solução por causa de sua teimosia?

Pois bem, na época já pensei no problema à médio prazo, pois queria que ele fosse multiplataforma (eu já era usuário doméstico de Linux e já botava minhas fichas que era apenas uma questão de tempo para ele chegar com força nas empresas, tanto em servidores como desktops), então a opção do Visual Basic foi descartada (fica aqui um parenteses: sim, a empresa INTEIRA utilizava Windows, e era adepta ferrenha as padrões Microsoft, se alguém achou engraçado dizendo "mas em 1999 eu já utilizava Linux faz tempo, pô, que cara lammer" o problema é seu, a condição era aquela e o problema tinha que ser resolvido naqueles termos, capicci?), me sobrando a opção mais forte como C/C++ e Java, que estava se não me engano no JDK 1.1.5 sei lá. Escolhi aquele tal de Java que estava aparecendo lá para fazer o programa, pois ele me provia de modo relativamente fácil e muito eficientemente de multithreading, interface gráfica, conexão com o banco bastante otimizada, métodos sincronizados, o fato de rodar em ambas as plataformas (testei isso levando um código compilado no Windows para rodar no Linux em casa) entre muitas outras coisas. Fiz a interface gráfica usando AWT, já que Swing ainda era meio capenga e muito pesado na época.

Agora me digam, em 1999, que raios de opções eu tinha fora o C (que eu gosto muito, mas iria dar mais trabalho para implementar com ele em todo esse conceito), que diabos de coisas que vocês adoram tanto hoje em dia que já fazia todo esse trabalho com a mesma eficiência, na época? E que fazem hoje? Me enviem emails, gostaria de saber.

Mesmo que apareçam uma ou outra solução mais prática que o Java, o X da coisa é que eu fiz um bom programa (sim, ele é bom, obrigado) com a ferramenta a que me dispus a fazer, mesmo nem sabendo muita coisa de Java, que era "café recente" por aqui na época. Lógico que com o tempo fui aprimorando o programa, troquei a interface para Swing (que já rodou até em Pentium II, sim, demorava para carregar, mas rodava rápido, obrigado), e cheguei a escutar algumas chacotas por uma parte dele rodar em um servidor de produção que era um Pentium III, ora, diabos, um Apache não segura um site inteiro com uma configuração dessas, por que meu programa não rodaria? Por que era feito em Java??? Ele RODA, diabos. Roda bem e rápido. Quem quiser vir confirmar ao vivo e tomar um café é só falar (engraçado que todas as vezes que disse isso ninguém apareceu, por que será?). Vou ter prazer de explicar tudo que foi utilizado no código, assim como já o fiz para algumas pessoas que, modéstia à parte, gostaram bastante da solução.

Agora o ponto aqui: se um programador não consegue fazer uma coisa decente com a linguagem que lhe seja apresentada (alguém se lembra do Clipper? haviam programas enormes e muito eficientes criados naquela linguagem, que moviam empresas de médio/grande porte, quer exemplo? a Coca-cola aqui de São José do Rio Preto e algumas da região utilizavam programas em Clipper! o X da coisa era como saber fazer a coisa direito, contornando as limitações da linguagem), que raios de programador é esse, pô? É um programador ou um saco de batatas? Vai ficar chorando nos cantos por que as coisas não são como ele quer? Vai ficar botando a culpa em Deus e o mundo por que ele não tem a #%##$ da capacidade de tirar a bunda da cadeira e pelo menos tentar de verdade fazer alguma coisa? Comodismo? Teimosia? Idiotice mesmo? Sei lá. Mas se vocês são empregados, meus amigos, vocês sabem uma coisa: vocês tem que se virar. Experimentem ficar de birrinha para ver onde vão parar. Ninguém gosta de chorões. Já vi muitos indo pro olho da rua. Eu pelo menos tenho a consciência limpa em relação à tudo que fiz levando em conta os recursos apresentados durante todos esses anos de programação (mais de 14, mais do que o "geniozinho" do post abaixo tem de vida, engraçado, né?).

Graças ao Java, hoje na empresa temos vários desktops rodando no Linux, pois foi a partir daquele programa que pude instalar Linux (não precisava nem recompilar o código-pasmem, detratores!) e implementar soluções como uma intranet rodando em um servidor Linux com Apache e PHP (óóóóó não uso Java para tudo, que surpresa, hein) e eu posso trabalhar 100% do tempo utilizando meu sistema operacional preferido, em casa e na empresa, inclusive com a empresa animada com isso (todos os nossos servidores foram migrados para Linux, aumentando e muito a capacidade e velocidade de nossa rede e dos bancos de dados rodando lá).

Claro que não é só por causa disso que vou ficar pagando pau para o Java o resto da vida. Como mencionei ali, ainda prefiro usar o PHP para a intranet, tenho alguns programinhas em Python que me são uma mão na roda e mais uma penca de coisa (programas em C, scripts bash blá blá blá). Mas o Java foi, está sendo e acredito eu que será ainda a melhor opção de implementação do programa que mencionei. Se um dia ele virar uma porcaria, não terei dúvidas para migrar para outra coisa. Agora, se você não acha Java bom, o acha pesado e lento, etc e tal, o problema é seu, eu faço coisinhas muito legais (e profissionais) com ele e mais um monte de gente faz. Só você que não. Pare de birrinhas gratuitas e de encher o saco dos outros. Vá programar no que você gosta, e morra de medo e ódio do Java, quieto, no seu canto, mala.


Tags:


Comentários

Sem nenhum comentário.

comments powered by Disqus

Twitter