Resolvendo o problema do Java nos Browsers de Macs com OS X Lion

Depois da última atualização do meu Mac, reparei que os módulos de segurança do Santander e do Itaú pararam de funcionar e já não podia fazer nenhuma transação bancária, só consultas.

Apurando o problema, vi que ambos são feitos em Java e que nenhum outro applet em Java estava funcionando.

Após algumas buscas achei a solução nesse site aqui.

1) Abra o painel de controle do Java colando o código abaixo no terminal.

/Applications/Utilities/Java\ Preferences.app/Contents/MacOS/Java\ Preferences

2) Marque o checkbox indicado na figura abaixo.

3) Feche os browsers (Cmd+Q)

Pronto, quando os browsers forem iniciados novamente, eles conseguirão rodar os applets.

Que mancada essa da Apple! Ou será que foi da Oracle?

O império contra ataca

Quem achava que o Google ia tomar o processo da Oracle e ficar de boca calada hoje teve sua resposta no comunicado postado no blog de desenvolvimento do Google:

Segue o texto (tradução minha):

Como muitos de vocês, a cada ano ficamos com muita expectativa dos workshops, conferências e eventos relacionados a software livre. Em nossa opinião, estas estão entre as melhores formas de relacionar com a comunidade, compartilhando nossas experiências e aprendendo com vocês. Então, nós estamos tristes em anunciar que não poderemos estar presentes ao JavaOne deste ano. Nós queríamos, mas ação judicial recente da Oracle contra o Google e o código aberto tornou impossível para nós expressar livremente os nossos pensamentos sobre o futuro do Java e do código aberto em geral. Esta foi uma decisão dolorosa para nós, pois participamos em todas as JavaOne desde 2004, e eu, pessoalmente, tenho falado em todas, menos  na primeira em 1996.
Entendemos que isso pode desapontar e incomodar muitos de vocês, mas estamos ansiosos para apresentar em outros eventos em breve. Estamos orgulhosos de participar da comunidade open source Java, e queremos encontrar outras maneiras de participar e contribuir.
Por Joshua Bloch, Escritório de Programas Open Source do Google

Java: porque não usar!

A recente notícia de que a Oracle pretende processar o Google por quebra de patente pelo uso do Java nos aparelhos Android acendeu um alerta vermelho na comunidade de desenvolvedores.

No meu blog eu costumo descer a lenha no Java; na minha visão é uma linguagem que tem muito mais desvantagens que vantagens. Lerda na maior parte dos casos (a menos daqueles feitos para ficar com 98% da performance do C/C++ e que o cabra levou dez anos para otimizar), com tendência a portabilidade mas é um inferno para instalar em todas as plataformas, teoricamente aberta até certo ponto, etc.

Java foi o grande hype de linguagens no final dos anos 90 e início de 2000, muitos javaboys defendiam como se estivessem pregando o Evangelho as virtudes da linguagem, diziam que não tinha ponteiros, que era a linguaguem onde você escreve uma vez e roda em todos os sistemas operacionais, etc.

Aí daquele que ousasse dizer algo em contrário. Aí daquele que se sentisse confortável com ponteiros (coitado do Mel). Aí daquele que para fazer seu código compilar em várias plataformas usava C/C++ com alguns #ifdef. Aí daqueles que não criassem classes até para fazer um programa hello world.

E o Java foi dominando o mercado das linguagens, chegou a ter 28% do total de usuários segundo o indíce TIOBE.

Eu pessoalmente sempre detestei Java, talvez por preconceito, mas posso dizer que nunca escrevi uma linha de código em Java e nunca fiz questão de aprender.

Estabelecidas estas bases vamos agora ver o caso da Oracle+Sun x Google. Segundo o site ArsTecnica a Oracle diz que o Google violou de modo intencional as patentes que a Sun possuia e agora a Oracle possui.

A licença do Java é complexa e basicamente é um GPL com algumas exceções: a parte J2ME não é GPL e portanto todos os aparelhos móveis que usam J2ME tem que pagar royalties à Oracle. O Google evitou isto escrevendo uma máquina virtual Java desde o início e desta forma ele não estaria usando código GPL com a cláusula de pagamento de royalties em aparelhos mobile.

Escrever uma máquina virtual Java é algo perfeitamente lícito, existem outras máquinas virtuais como por exemplo o IBM J9 (que aliás parece ser melhor que a VM da Oracle), no entanto a Oracle/Sun proíbe qualquer máquina virtual que não cumpra todas as especificações do Java.

Até aí pode fazer sentido. Mas o galho é que ela proíbe também as que ampliam as especificações do Java e aí parece que pegou o Google.

Alguns podem argumentar: ela só está defendendo o direito dela. É verdade. Mas quando você se comporta com uma linguagem de programação supostamente aberta com cláusulas esquizofrênicas como estas, você está mandando um recado claro a comunidade de desenvolvedores para não por todos os seus ovos nesta cesta.

Resumo da ópera:

Falando em português utilizado no Maracanã: o pau vai comer. Vai ser briga de cachorro grande e em briga de cachorro grande melhor não se meter.

Minha dica para você: se não aprendeu Java não aprenda. Use C/C++, aprenda uma linguagem interpretada legal como Python, aprenda Lua (Lua foi desenvolvida no TeCGraf da PUC-Rio, onde trabalhei alguns saudosos anos) . Pode ficar tranquilo que se vive muito bem sem Java.

Off-topic: O Java está em franca queda no índice TIOBE e está sendo ultrapassado pelo lendário e ancião C.

Outro texto muito bom sobre o assunto em português foi publicado no MeioBit.

Java Sucks: http://www.java-sucks.com/