01
Apple, Java 6 e F.U.D.
by AkitaOnRails on Nov.01.2007 at 10:22am
Impressionante! Por todas as comunidades Java eu ouço “Argh, eu comprei o Leopard única e exclusivamente para ter Java 6” ou “Chega, nunca mais compro nada da Apple!” ou “Eles são idiotas por não colocar Java 6”.
Oh well, isso não é hilário? Eu dou gargalhadas e mais gargalhadas sobre esse tipo de coisa. Não sei quem começou isso mas a inércia foi forte.
Primeiro de tudo: a Apple nunca disse que Não vai lançar um Java 6. Quando o Panther saiu em 24 de Outubro de 2003, ninguém reclamou da falta do Java 1.4. Mesmo assim ele foi lançado como Software Update em 12 de Novembro. Quando o Tiger saiu, na instalação não vinha Java 5, ele saiu como um Software Update no mesmo dia. Agora o Leopard foi lançado e o Java 6 não veio junto. Ok, esperem alguns dias. A hora que a Apple lançar um Press Release dizendo explicitamente “Estamos parando suporte a Java” aí sim há um pouco de motivo para se pentelhar e mesmo assim isso não deveria ser um problema.
Onde está o OpenJDK 6? Sim, porque se ele já existisse, não precisaríamos esperar a Apple. Sun, onde está você? Bom, vamos nos voltar a outra empresa que sempre suportou o Java, a IBM. IBM, onde está seu JDK 6? Oh, em Early Release Program … ou seja, em beta. Pois é, quem acompanhou os developer seeds da Apple já viu o JDK 6 Beta. Algum motivo interno impediu o lançamento. Bugs? Problemas? Quem sabe. Talvez eles estejam corrigindo esses problemas.
Enquanto isso, a Apple lançou o Leopard com um dos melhores JDK 5. Com suporte a 64-bits, integração muito superior com seu toolkit gráfico (para ficar só um pouco menos horroroso do que ele normalmente é).
Além disso, para o mercado que a Apple vende, Java não é tão crucial assim. Veja a história. É exatamente o contrário: por que ninguém gritou a falta de JDK 1.4 no Panther mas agora multidões estão gritando pela falta do JDK 6 no Leopard? Óbvio: porque agora há muito mais desenvolvedores no Mac. A elite dos desenvolvedores toda usa Mac, por razões óbvias. Mesmo assim isso representa muito pouco no market share. A maior parte dos usuários de Mac são consumidores, não desenvolvedores. Para eles, Java é irrelevante. A Apple fez uma decisão consciente: o JDK 6 ainda não está bom para lançamento (talvez, minha suposição), vamos lançar o Leopard sem.
Coincidentemente, acabei de assistir a esta entrevista entre Jason Fried, fundador da 37signals e o grande jornalista Walt Mossbert, no evento Business Innovation Factory. Recomendo muito.
Mais para o final, Walt lança uma excelente “Vamos falar porque Open Source é um fracasso”.
Ok, antes que vocês comecem, acompanhem seu raciocínio. Ele não é burro, ele sabe exatamente do que está falando. Ele não está falando sobre toda a parafernália de infra-estrutura, mas sim o desktop. Até hoje o Firefox é o maior e único sucesso open source no desktop. Mas é uma anomalia.
Jason explicita isso bem: o problema é que as coisas em open source são feitas ao contrário. Um bom aplicativo é feito de cima para baixo. Primeiro se começa na interface, na experiência do usuário, e vai se construindo para baixo. No mundo open source primeiro todo mundo desenvolve um monte de coisa por baixo e tenta colar para cima.
Eu mesmo já disse isso antes: TODO produto precisa de um líder. Alguém para tomar decisões. Qualquer produto que não tenha um líder tem uma probabilidade maior de dar muito errado. Linux é bom porque está sob a corrente de Linus. Rails ainda é bom porque DHH está à sua dianteira. A Apple é uma excelência graças a Steve Jobs. O líder é o responsável por dizer sim ou não e, de preferência, mais não do que sim.
Imagine se Rails fosse um modelo totalmente aberto e democrático? Imagine todas as dezenas de plugins que existem hoje de repente entrando no seu código. “Vamos ser democráticos.” Em pouquíssimo tempo você teria um bloat-ware, um lixo que se tornaria tão pesado, cheio de bugs, cheio de funcionalidades que pouca gente usa que ele seria descartado como “mais um”. Em vez de agradar a todos, deixe os que odeiam ir embora e vamos realmente recompensar aqueles que pensam da mesma maneira. Ou seja, “sejamos pragmáticos”, é assim que se constrói um negócio de sucesso: desagrar alguns faz parte do processo e não pode ser evitado sem se tornar medíocre. E, sim, estou afirmando isso.
É impossível agradar a todos. Quem tentar isso vai se dar mal, principalmente se tiver um negócio: Jason explica isso perfeitamente: as pessoas precisam ter opiniões, empresas também. Se você pensa como a 37signals, vai adorar a experiência de usar Basecamp e outros produtos. Se você acha que ele deveria ser como o Microsoft Project, sinto muito, vá para outro lugar: o Basecamp nunca vai seguir o Project. Agrada-se alguns e desagrada-se outros.
Eu já disse isso quando citei o excelente artigo de Kathy Sierra (saudosa Kathy, sinto falta de seus artigos) sobre a Zona de Mediocridade. Se você tentar agradar todos, se tornará medíocre, seu produto será medíocre – por definição, porque atende a todos. Não atende nem muito bem, nem muito mal.
Um produto excelente é um produto que, por definição, é amado por alguns e absolutamente odiado por outros. Isso é absolutamente necessário.
O problema é o mesmo: a Apple não lançou Java 6. Qual o motivo? Ninguém sabe, qualquer coisa que qualquer um disser será pura especulação. Se você acredita em especulações e briga por elas, é um ingênuo. É exatamente esse o efeito do F.U.D. (Fear, Uncertainty, Doubt). Como desenvolvedor Java e amante da Apple você tem medo que ela não lance Java, está inseguro sobre o que fazer, tem dúvidas para onde ir agora.
A Apple é assim mesmo: muitos a amam. É o Cult do Mac, o Cult do iPod. É um case muito interessante pois não existe empresa com uma comunidade mais apaixonada do que a da Apple. E existem os pundits, os invejosos, aqueles que gostariam de ter macs, invejam o colega do lado porque tem, mas tem medo de mudança, é consolado com o que tem e não tem vontade de melhorar. É o tipo de pessoa que procura qualquer FUD na internet para justificar sua posição: “Ahá! Mac não tem Java 6, que porcaria” ou o mais recente “Ahá!! Mac também tem trojans!! Que porcaria”
Lamentável, não dá nem para sentir dó de um cara assim. Como eu disse mesmo no outro artigo? Para eu ganhar, o outro tem que perder …








Oi Akita,
Eu uso Java e não uso Mac, o que é basicamente o contrário de você. :-)
De qualquer forma, um dos posts que eu li sobre esse “Mac hate from java devs” é esse aqui: http://www.javalobby.org/java/forums/t102936.html
Ele parece ter bons argumentos: O app Java2D dele parou de funcionar, as information msgs e questions msgs perderam os ícones característicos e ficaram idênticas etc.
Parecem bons motivos. ;)
De resto, concordo com tudo o que você disse. E também sinto muita falta da Kathy.
Abraços, Toledo
Como eu disse, bullshit.
A versão de Java que se usa no Windows é feita pela Sun (vocês lembram o desastre que foi quando a Microsoft tinha sua própria jdk). A versão de Java para Linux, Solaris, etc também é da Sun.
Ainda não vi ninguém gritando contra a Sun: “onde está meu JDK para Mac”.
Para a Apple, de fato, não faz nenhuma diferença ter ou não term Java no seu sistema – já que não há nada nela que dependa disso. Na verdade é custoso para a Apple manter uma JDK 100% compatível, mesmo assim ela está lá, com uma JDK 5, integrada minimamente ao seu próprio toolkit gráfico. Ninguém disse que seria bug-free.
Agora, sair choramingando “uahh, mamãe, a Apple estragou meu brinquedo” é, no mínimo, infantil. Esses javeiros precisam crescer.
Outra coisa, eu sou javeiro também. Fui javeiro por pelo menos 5 anos antes de Rails.
Estou aqui, de braços cruzados, esperando o tal do OpenJDK.
‘Nuff said.
Ah sim, aqui vão dois artigos de pessoas sãs para variar.
O Gosling peida e a comunidade vibra .. argh e depois chamam a nós de “fanboys”. tsc tsc
Eu utilizo mac há pouco tempo e fiquei muito satisfeito em trocar o Windows pelo Mac OS. Mais satisfeito ainda com o SDK da apple que funciona lindamente no meu mac book. Continuo utilizando o windows (no trabalho) e nem por isso instalei o JDK 6 nele. Os projetos que eu estou trabalhando foram desenvolvidos no JDK 5 e eu não vejo motivo algum para instalar a ultima versão do Java em ambos os sistemas. Concordo que essa choradeira é uma grande palhaçada e vou mais além, não houve nenhuma alteração na linguagem como aconteceu da 1.4 para a 5. Por isso pretendo pular da 5 pra 7.
Eu não sou programador, muito menos javeiro, eu sei que o mac para produção gráfica seja ela impressa ou digital é muito superior, photoshop no mac nem parece o mesmo do windows, no mac com arquivos acima de 1gb o photoshop mantem a estabilidade, já no windows… para vídeos idem isso sem falar no plus do final cut pró que é genial, para músicos o mac também é o melhor.
No teu texto tu afirmas que para programadores também é. Tu poderias fazer uma lista me falando o que torna o mac superior para programar? Quanto ao windows nem precisa perder tempo falando, ali nada funciona como deveria e pior depois de uns 6 meses as coisas ficam sinistras e tudo piora, mas falando em programação o que o mac tem de superior, de elite ao ambiente linux já que ambos são unix e a maioria das ferramentas para programar são open multi plataforma, ok eu sei tem o textmate, mas o netbeans ta show e salva o pessoal do linux? Seria o conceito da empresa, a filosofia, o clássico vídeo do blog do DHH + textmate… o que mais?
Não é flame, não sou programador, apenas me interesso nas características das plataformas até pra formar uma opinião mais coesa.
O Mac e o Rails são parecidos nas filosofias: eles não querem ser tudo para todos. Eles querem ser os melhores para poucos.
Como eu disse num artigo anterior, esse é o motivo para que muitos os amem incondicionalmente e outros os odeiem até a morte. Somente grandes produtos atiçam as emoções das pessoas.
Seu carro funciona muito bem. Tem ar condicionado, tem direção hidráulica, foi poucas vezes à oficina. Te leva e te trás do trabalho obedientemente todos os dias.
Mas não há como discutir: um Porsche mexe com nosso ego e vaidade. Se pudesse você trocaria imediatamente seu carrinho por um Porsche.
Do ponto de vista tedioso – por baixo dos panos – o sub-sistema é praticamente idêntico a qualquer outro Unix genérico. O que eu faria em um posso fazer no outro, salvo algumas exceções: novamente, a Apple não quer e não precisa ser tudo para todos.
E do ponto de vista não-open source, os aplicativos com padrão Apple de qualidade são incomparáveis. Todo mundo tenta copiá-los, mas para que vou querer a cópia se o original está ao alcance?
Parece besteira, mas o sub-sistema gráfico Quartz é excepcional. Ele começou pesado e lento em 2000. Sem exceção, a cada nova versão ele ficou mais rápido. Na sexta versão, meu Leopard roda mais rápido que meu antigo Tiger em todos os meus 3 Macs! Quero ver alguém fazer a mesma coisa sem retirar recursos e ainda adicionando novos serviços. Estamos tão consolados com coisas ruins, que fazer atualização de sistema operacional = atualizar o hardware, e rezar para que nenhum driver mal feito derrube o sistema.
Macs tem problemas, claro que tem, o importante é a frequência. Eu deixo meu Macbook ligado o dia todo, a semana toda, o mês inteiro e ele não cai. Vou dormir com ele ligado, deixo baixando coisas durante o fim de semana, trabalho nele a semana inteira, e ele não cái. Mais do que isso: a performance não cai. Se isso não for eficiência não sei mais o que é.
“Oh, eu vi um Kernel Panic no Mac!”. Bem, “oh, eu vi um Segmentation Fault em um certo lugar também!” Duh. Péssimo motivo. “ohhh, eu vi hoje que tem Trojan pra Mac!!”. Se você conseguir fazer com que ele se instale AUTOMATICAMENTE, sem intervenção do usuário, vou prestar atenção. Até lá … tédio! “ohhh, o Mac não vem com Java 6”, tédio! Vá reclamar com a Sun. A Apple não inventou o Java e não tem obrigação de suportá-la – e nem quer. “ohhh, o Mac não roda joguinhos”, instale bootcamp ou compre um PS3, lamer!
“ohh, não serve pra mim”, so sorry, até mais, boa sorte. Melhor sozinho do que mal acompanhado. Garantimos que não sentiremos sua falta. DHH disse a mesma coisa sobre os críticos de Rails: “nosso mundo será melhor sem vocês”.
Boa notícia! A Red Hat contribuirá para o projeto “open-source Java” A Red Hat assinou o acordo de contribuinte para o projeto OpenJDK, da Sun.
A Red Hat irá agora alinhar o trabalho feito no seu projeto próprio, o IcedTea, que era sua própria implementação de algumas partes da Java SE JDK, com OpenSDK, disse Shaun Connolly, vice presidente de gerenciamento de produtos para JBoss.