[lead]De que se trata o artigo:

Nesse artigo contaremos a história da tecnologia Java. Como surgiu e evoluiu uma das mais importantes tecnologias das últimas décadas, e qual foi a participação de alguns dos brasileiros que ajudaram a construir essa história.

Para que serve:

A tecnologia Java ajudou a criar a internet como conhecemos hoje, e as histórias do nascimento de Java se confundem com a evolução das redes. Conhecer essa história nos ajuda a imaginar os próximos passos e como podemos hoje, no Brasil, influenciar o futuro da tecnologia no mundo.

Em que situação o tema útil:

A internet eliminou o atraso que existia no passado entre o lançamento de uma tecnologia ou produto e seu uso no Brasil. Com isso, desenvolvedores brasileiros têm oportunidades iguais de criar inovação com o resto do mundo, e isso fica claro na história da tecnologia Java.

Autores: Bruno Souza, Fabiane Biznella Nardon e Serge Rehem [/lead]

A Plataforma Java é um dos ambientes de desenvolvimento de aplicações mais utilizados no mundo hoje. Desde as primeiras novidades – como JavaBeans, JDBC, Applets, AWT/Swing, RMI – passando pelas inovações na linguagem (Annotations, Generics) e chegando até as tecnologias Enterprise Edition (EJB, Web services, JSF), Java vem constantemente mudando a forma como construímos software, criando muitas oportunidades para o desenvolvedor.

Já no lançamento da tecnologia, no início de 1995, em um mundo basicamente dominado por uma única visão de como se deveria desenvolver software, a noção revolucionária de independência de plataforma apresentado pela primeira Máquina Virtual Java (JVM – Java Virtual Machine), integrada à nascente “World Wide Web”, colocou o mercado de desenvolvimento de software em alta rotação. Nos anos seguintes, impulsionado pelas novas oportunidades de um mercado sem monopólios, novas empresas, novos modelos, novos sistemas e novas ideias chacoalharam e viraram de ponta cabeça tudo o que os desenvolvedores tinham antes como “certo”. Esse período de inovação foi fundamental para abrir caminho para as empresas do mundo Web 2.0 de hoje.

Neste artigo, vamos conhecer alguns fatos e acontecimentos curiosos da trajetória desta tecnologia. Vamos conhecer não apenas a história da Tecnologia Java, mas também como isso afetou a vida de desenvolvedores no Brasil, e como eles conseguiram participar e influenciar esse mercado, colocando o país como ativo produtor e criador de uma tecnologia que estava revolucionando o mundo. Durante o artigo apresentaremos alguns depoimentos ilustrando o quanto Java esteve e está presente na vida pessoal e profissional dessas pessoas. Embarque nesta viagem junto conosco e comece já a sua própria história.

[subtitulo]Como tudo começou[/subtitulo]

A história de Java começou a ser escrita quando James Gosling, Patrick Naughton e Mike Sheridan se uniram a dois fundadores da Sun, Andy Bechtolsheim e Bill Joy, para pensar sobre a nova onda do mundo digital. Eles não demoraram muito para concluir que seria a convergência de computadores aos dispositivos e eletrodomésticos utilizados no dia a dia, tudo interconectado e remotamente controlado.

Iniciaram assim um projeto que receberia o nome de Green, com o objetivo de desenvolver um sistema que os permitissem construir uma rede distribuída e heterogênea de dispositivos eletrônicos voltados ao consumidor final, todos conversando entre si. O desafio escolhido foi criar um ambiente de software que fosse super legal (é, esse era um dos requerimentos!), interessante para o mercado consumidor em geral e ao mesmo tempo atraente para desenvolvedores de software. O sistema deveria envolver arte e design, e poder ser implementado por um pequeno grupo de pessoas em menos de um ano. A meta não era nada fácil.

Na divisão inicial das tarefas, Mike Sheridan ficou com o desenvolvimento de negócios, Patrick Naughton, com o sistema de gráficos, e James (que era o líder do projeto) foi estudar a linguagem de programação adequada para o projeto. Ao logo de um ano e meio, o projeto Green aos poucos foi ganhando novos membros, chegando a ter 13 pessoas (ver Figura 1).

Figura 1. The Green Team. Da esquerda para a direita,Al Frazier, Joe Palrang, Mike Sheridan, Ed Frank, Don Jackson, Faye Baxter, Patrick Naughton, Chris Warth, James Gosling, Bob Weisblatt, David Lavallee e Jon Payne. Ausentes: Cindy Long, Chuck Clanton, Sheueling Chang e Craig Forrest. Fonte: https://duke.dev.java.net/green/GreenBBQ.jpg.

[subtitulo]A Linguagem [/subtitulo]

Para operar num sistema embarcado de recursos limitados, Gosling até começou a modificar e estender o C/C++ (se referia como "C++ ++ --"), mas logo abandonou a ideia em favor de uma linguagem nova, de características peculiares. Destacando algumas:

  • Sintaxe parecida com C/C++: a familiaridade com linguagens tão conhecidas facilitaria sua disseminação e aprendizado;
  • Segura: nada de ponteiros! Uma proteção contra programas mal intencionados querendo acessar endereços de memória indevidos;
  • Confiável: imagina ter que “dar boot” em seus eletrodomésticos a todo o momento;
  • Garbage collected: a coleta de lixo proporcionaria maior eficiência no uso da memória;
  • Multiplataforma: portável para diferentes dispositivos, independente do tipo de CPU;
  • Interpretada: para facilitar o trabalho do “tradutor”, a linguagem deveria ser convertida para um formato intermediário (os bytecodes) que seria enviado pela rede para executar dinamicamente no dispositivo real.

A nova linguagem chegou a ser chamada de Greentalk (as extensões dos arquivos fonte eram .gt), mas depois recebeu de Gosling o nome Oak, inspirado por um carvalho que existia na frente do seu escritório. Já próximo do lançamento, por conta de uma outra linguagem homônima, o time teve que escolher outro nome. James não tem certeza absoluta de quem disse “Java” primeiro, mas era o quarto nome de uma lista que continha ainda Silk e Lyric.

No quadro “Como o Java recebeu esse nome?” apresentamos a tradução de um e-mail em que James Gosling conta a história do nome Java. James explicava para o então CEO da Sun – Jonathan Schwartz – o que ele se lembrava do processo de definição do nome. Jonathan depois postou essa mensagem em seu blog. Para mais referências, consulte os Links no final do artigo.

[nota]Como o Java recebeu esse nome?
De: James Gosling
Data: 24 de Agosto de 2007 – 20:16:58
Para: Jonathan Schwartz Assunto: Como o Java recebeu esse nome?
A história é a seguinte: Nós precisávamos de um nome. Estávamos usando "oak" (que eu escolhi randomicamente), e embora o time tenha se apegado e ele, os advogados responsáveis pelo registro de marcas o descartaram. Tivemos muitos debates por email sobre nomes, mas nada era resolvido. Acabamos na estranha posição em que a única coisa que nos impedia de fazer o lançamento era o nome. Nosso líder de marketing conhecia alguém que era um "consultor de nomes" (eu não lembro o nome dele, mas ele era ótimo). Nós não podíamos pagar o preço nem tínhamos tempo para fazer um processo completo de criação de nome de produto. Ele concordou em fazer algo bem atípico, mas efetivo e rápido: ele atuou como um facilitador em uma reunião onde uma dúzia de nós nos trancamos em uma sala por uma tarde. Neste momento ele começou perguntando questões como "Como esta coisa faz vocês se sentirem?" (Animados!) "O que mais faz com que vocês se sintam assim?" (Café, Java!*). Chegamos a um quadro coberto de palavras aleatórias. Então, ele nos conduziu em um processo de ordenação onde finalizamos com um ranking de nomes. Acabamos com uma dúzia de nomes candidatos e os enviamos para os advogados: eles trabalharam na lista de cima para baixo até que chegaram a um nome que passou pela pesquisa deles. "Java" era o quarto nome na lista. O primeiro nome era "Silk", que eu odiei, mas todos os outros gostaram. Meu favorito era "Lyric", o terceiro na lista, mas ele não passou pelo teste dos advogados. Eu não lembro quais eram os outros candidatos. Então, quem deu o nome Java? Uma reunião organizada pelo marketing, o consultor que a organizou, e um monte de nós gritando várias palavras aleatórias. Eu honestamente não tenho certeza absoluta de quem disse "Java" primeiro, mas acredito que tenha sido Mark Opperman. Com certeza não foi nenhuma mente brilhante de marketing usando um processo coerente e bem pensado. * "Java" é uma gíria norte-americana para café (NT).[/nota]

[subtitulo]Nascem o Star7 e o Duke[/subtitulo]

Em abril de 1991 o projeto ganhou o reforço de Ed Frank, arquiteto da SPARCstation 10, que liderou o desenvolvimento do hardware. Em dois meses projetaram e construíram um PDA (Personal Digital Assistance) batizado de Star7 (ou *7). Monitor touch screen LCD colorido de 5 polegadas, rede sem fio de 900 MHz, áudio multimídia e entradas PCMCIA. O grupo conseguiu colocar nesse pequeno dispositivo o SunOS (Unix da Sun), o interpretador Oak, bibliotecas gráficas, objetos de interface, as aplicações, imagens, sons e animações, tudo rodando com sucesso em 4 megabytes de memória RAM. O *7 funcionava como uma espécie de controle remoto para vários dispositivos. Para facilitar sua utilização, foi criado um agente virtual, uma espécie de Mestre de Cerimônias, um pequeno e animado personagem que dava cambalhotas e aparecia em todas as telas do sistema. No futuro próximo, o pequeno agente se tornaria o conhecido mascote da tecnologia Java, o Duke. Muitos anos depois, os desenhos do Duke foram liberados sob uma licença BSD, permitindo seu livre uso pelos desenvolvedores Java. Graças a este “ato” da Sun, o mascote pode ser customizado, por exemplo, como um torcedor do Brasil na copa do mundo (ver Figura 2)!

Figura 2. Duke pronto para a Copa de 2014!

O “Green Team” cresceu, e virou uma subsidiária da Sun Microsystems, a FirstPerson. Mas logo em seguida, o projeto passou por maus momentos. Tendo perdido dois dos principais executivos, a FirstPerson não foi capaz de montar um plano de negócios consistente. Por conta disso, não conseguiu nem comercializar essa maravilha tecnológica para a indústria de eletrônicos, que era o primeiro alvo, nem para as empresas Time Warner e 3DO, como uma plataforma de set-top box para TV a cabo. O Star7 não sobreviveu (apenas seis aparelhos foram construídos), assim como a versão reduzida do SunOS. Sem sucesso, o projeto acabou incorporado novamente à Sun.

[subtitulo]Finalmente, Java [/subtitulo]

Por volta de 1994, Bill Joy e John Gage analisavam a oportunidade representada pela Internet e pela Web. A web prometia oferecer o nível de interatividade que se esperava anteriormente para a TV Interativa. Assim, o time tomou a decisão corajosa e, para a época, totalmente maluca, de disponibilizar o código fonte do interpretador Oak na internet. Focados em lançar o código fonte e fazer algo voltado para a web, criaram um browser web, chamado WebRunner (depois renomeado para HotJava), reescreveram o compilador em Oak, e se preparavam para lançar o projeto.

Bruno Souza <bruno@javaman.com.br>, SouJava: “No início de 1995, depois de passar alguns anos trabalhando com redes TCP/IP, consegui uma entrevista e fui contratado na Sun Microsystems. No Brasil, a Sun basicamente vendia hardware, e, como desenvolvedor, eu imaginava tentar um espaço para trabalhar com SunOS. Tive muita sorte: na primeira semana, um instrutor americano viu meu interesse por desenvolvimento de software e me apresentou o site interno do WebRunner, onde pude baixar uma versão interna do browser e do interpretador. Poucos dias depois, John Gage apresentou Java ao mundo. Alguns meses mais tarde, quando a imprensa começou a ligar, querendo saber mais sobre a novidade, meu chefe perguntou se alguém sabia do que se tratava. Eu mostrei pra ele as coisas que eu estava desenvolvendo na versão 1.0alpha2, a primeira versão pública de Java.”

No início de 1995, John Gage, Chief Scientist da Sun, fez uma apresentação não programada e totalmente de surpresa durante o evento Sun World. James Gosling lembra que viu John pegando alguns equipamentos e perguntou o que ele precisava. John disse que ia anunciar Java, e James se assustou, passou a mão no cabelo despenteado, juntou cabos e conectores, e foi junto. Assim foi anunciada a tecnologia Java para o mundo, no meio de um evento onde a Sun apresentava seus novos servidores. Pode parecer incrível, mas o pequeno desenho do Duke dando cambalhotas na tela levou o mundo da informática à loucura. No dia seguinte, as únicas notícias publicadas sobre o evento traziam a novidade: a web pela primeira vez era capaz de executar aplicações. Nos meses seguintes, Java se torna rapidamente a tecnologia mais comentada por desenvolvedores do mundo web e causa furor nas mais diversas comunidades.

Daniel deOliveira <daniel@dfjug.org>, DFJUG: “Trabalhava no Developers Resource Center da Apple Computers e participei do encontro anual chamado WWDC, em 1995. O que era para ser um encontro para discutir o Sistema Operacional para o Macintosh (System 7), acabou se tornando um enorme Fuzzy. Só se falava de Java, que tinha sido lançada no mês anterior. Era uma loucura e, me lembro bem, falava-se desta nova linguagem até… nos banheiros. Procurei descobrir que “animal” era este que todos diziam que seria uma revolução. Empolgado, decidi dedicar minha carreira e meu futuro a esta nova linguagem. Já de volta ao Brasil, agora morando em Brasília, em Fevereiro de 1998, eu e Lu fundamos o Grupo de usuários Java do Distrito Federal, o DFJUG, que hoje conta com mais de 75.000 associados. Portanto, já são mais de 15 anos de dedicação diária à plataforma Java. Não me arrependo nem um pouco, pois o convívio permanente com esta comunidade só me fez crescer como pessoa.”

Logo após o lançamento da versão Alpha2, a Netscape anuncia que está licenciando a tecnologia Java para incorporar ao seu browser web. O anúncio gerou interesse mundial, e foi quando Java começou a ser associada de fato com a Web. Quando a versão 1.0 foi finalmente anunciada, em Janeiro de 1996, 15 empresas já haviam licenciado a tecnologia Java incluindo as gigantes IBM, Silicon Graphics, Netscape, Oracle e Toshiba. Até mesmo a Microsoft havia anunciado seu interesse em incorporar Java em seu browser. O Quadro 2 - “Java no Tempo” apresenta outros acontecimentos importantes da história da tecnologia Java.

Mauricio Leal <mauricio.leal@soujava.org.br>, SouJava: "Há anos, eu programava em Clipper e fazia sistemas extremamente complexos. Durante a Faculdade, vi um artigo que me chamou a atenção, apresentando uma tecnologia revolucionária capaz de rodar em vários computadores chamada de Java. Imediatamente pedi para meus colegas que tinham acesso à Internet na Faculdade (naquela época, não havia acesso à Internet como hoje) e fiz o download do primeiro JDK 1.0.1."

[subtitulo]Os primeiros anos [/subtitulo]

Fabio Velloso <fabio@fabiovelloso.com.br>, SouJava: “No início éramos muito questionados sobre performance, devo ter discutido esse assunto umas 500 vezes! Lembro-me de um projeto de desenvolvimento de um protocolo de criptografia para o BankBoston que foi desenvolvido em C e assembler porque necessitávamos de performance. Com o lançamento da versão Java 1.1.8, que trouxe o BigInteger e o Just In Time (JIT) Compiler, fizemos uma nova implementação em Java, que era mais rápida que o código em assembler. Nos últimos 15 anos implementei vários projetos de Internet Banking, processamento de CDR de alto volume e outros que exigiam alto poder de processamento, e sempre com excelente performance. Hoje é divertido lembrar do tempo em que as discussões não se resumiam a existência de foreach na linguagem”.

O lançamento do Java 1.1 incorporou funcionalidades importantes como JavaBeans e JDBC, além de uma significativa melhora na performance com os compiladores Just In Time (JIT). A tecnologia Java ganhou maturidade e começamos a ver decisões corporativas de uso da tecnologia Java em projetos como Banco do Brasil, BankBoston, Baneb e muitos outros. Diversas universidades em todo o mundo adotam a linguagem Java em seus currículos. O JavaOne, evento mundial da tecnologia Java, que em sua primeira edição contava com 6 mil desenvolvedores, se torna a maior conferência de desenvolvedores do mundo e chega a ter 20 mil desenvolvedores presentes no Moscone Center em São Francisco, EUA.

Serge Rehem<serge.rehem@gmail.com>, Serpro/JavaBahia: "Em 1997 trabalhava no Banco do Estado da Bahia – Baneb e me envolvi com o projeto do Internet Banking, um wrapper para as telas do 3270. Trabalhei com JDBC e Applets, ambiente Visual Symantec Cafe (muito bom para a época!). Saí do banco e fui para o Serpro, retomei o contato com Java em 2000/2001 numa especialização, até participar do IRPF Java, conhecer Bruno Souza e entrar para o JavaBahia. Isso mudou minha vida para valer!"

[subtitulo]Java 2 [/subtitulo]

Com o passar do tempo, a tecnologia Java evoluiu de uma linguagem de programação para uma grande família de tecnologias, todas baseadas na linguagem Java e no conceito multiplataforma. Em dezembro de 1998 era lançada a versão 1.2 (codinome Playground) ou Java 2, como ficou mais conhecida. Foi quando a API gráfica multiplataforma Swing incorporou-se ao núcleo. Também surgia o largamente usado (e útil) framework de coleções do Java.

Osvaldo Doederlein <opinali@gmail.com>: “No começo de carreira em 1996, trabalhando para a também recém-criada Visionnaire, fui encarregado de examinar uma nova linguagem da Sun, que parecia ‘quente’ devido ao embutimento no Netscape. Baixei o JDK 1.0, e logo estávamos dando o primeiro curso de Java do Brasil, antes mesmo da Sun J. Começamos a usar Java pra valer quando surgiram a JSP e Swing (adotando ambas desde os primeiros betas) e implementações de CORBA que permitiam às GUIs feitas em Java falar com programas C++... afinal, o Java era muito lento para servidores. Depois do Java2 tudo mudou, o Java virou campeão no servidor, entrou também no segmento móvel, por outro lado o Java acabou virando o patinho feio dos desktops... até o surgimento da JavaFX, que tem renovado meu interesse por GUIs. Mas essa é uma nova história!”

O que mais chamou a atenção, no entanto, foi a divisão entre J2SE (Java 2 Platform, Standard Edition), a base da plataforma, J2EE (Enterprise Edition) voltada para aplicações corporativas e J2ME (Micro Edition), uma versão reduzida, específica para pequenos aparelhos. O J2EE rapidamente se tornou a principal plataforma utilizada pelas grandes empresas do mundo todo, pois pela primeira vez elas tinham uma tecnologia sólida, confiável e multiplataforma para criar suas aplicações empresariais, principalmente web. Empresas como IBM, BEA e Oracle lançaram seus servidores de aplicação Java EE (o “2” sairia oficialmente do nome em 2006). Logo começaram a surgir servidores de aplicação Open Source, como o JBoss e o Tomcat, que popularizaram ainda mais a tecnologia, ao permitir que qualquer empresa e desenvolvedor tivesse acesso a esses poderosos recursos.

Ulisses Telemaco <ulisses.telemaco@gmail.com>, JEEBrasil/JavaBahia: “O ano era 1999, estava quase no meio da minha graduação quando conheci de verdade Java. Comecei a trabalhar na reescrita de dois grandes sistemas para a UFRN. O primeiro foi desenvolvido em Applet e o segundo em JSP. A satisfação em trabalhar com essa tecnologia foi tanta que em poucos dias (isso mesmo, dias!) nossa equipe teve a ideia de lançar o JSPBrasil. Era um projeto com o objetivo de disponibilizar material didático sobre a tecnologia Java/JSP. O JSPBrasil evoluiu para J2EEBrasil e JEEBrasil. Minha satisfação em trabalhar e contribuir para a comunidade continua a mesma (diria até que aumentou)”.

O Java ME também foi adotado em massa pelos fabricantes de telefones celulares, e se expandiu para outros aparelhos, como PDAs, impressoras e hoje temos até uma caneta capaz de rodar aplicações Java. Só nos aparelhos celulares, existem hoje mais de 2 bilhões de dispositivos compatíveis com Java ME.

[subtitulo]Java Community Process – JCP [/subtitulo]

Em 1997, a Sun tentou padronizar a especificação de Java através do comitê ISO/IEC JTC1. Depois de muita discussão e pedidos de esclarecimentos por parte dos membros da ISO para aprovar a solicitação feita pela Sun, a própria empresa decidiu retirar sua solicitação e criar um comitê próprio, específico para atender as necessidades da Tecnologia Java. Assim, em 1998, nasceu o Java Community Process (JCP). O JCP foi criado com o objetivo de ser um processo aberto e participativo para desenvolver e revisar as especificações da tecnologia Java, suas implementações de referência e suas suites de teste. A abertura do JCP permitiu com que mesmo empresas concorrentes da Sun se tornassem participantes ativas da evolução da Tecnologia Java. Diferentemente da maioria dos processos de padronização existentes, é possível até mesmo participar como indivíduo, sem representar uma organização, e sem pagar nada. Isso fez do JCP um ponto de atração para a discussão e evolução da tecnologia Java.

Alexandre Gomes <alegomes@gmail.com>, SEA Tecnologia: “Comecei a programar em 1991, nos idos do Logo, DBaseIII, Foxpro e Clipper. Em 96, entrei na faculdade e me apresentaram o Pascal e o C. No mesmo ano, no auge da programação visual, resolvi aprender o badalado Delphi (Dominando o Delphi 2 – Bíblia, Maco Cantu) e empaquei num capítulo que tratava da tal Programação Orientada a Objetos. Sem conseguir avançar muito, matriculei-me numa disciplina de mesmo nome que fora então oferecida na universidade e fui apresentado à linguagem Java (Core Java 1st Ed). No ano seguinte, conheci o Bruno Souza em sua tradicionalíssima palestra de apresentação da tecnologia, naquela que foi, se não me engano, uma das primeiras reuniões do DFJUG. Nos 10 anos seguintes, consolidei minha carreira sobre a plataforma da Sun. Envolvi-me em vários projetos, participei de concursos, dei aulas, viajei, fui a muitos eventos, conheci profissionais brilhantes, trabalhei em ótimas empresas e até criei uma pra mim! Devo muito à tecnologia do WORA, mas devo muito mais aos amigos que construí nesta vibrante comunidade. A propósito, o livro de Delphi continua marcado no capítulo de POO até hoje e nunca mais foi aberto. Está aqui para doações (:-P ”

Com a criação do JCP, aumentou ainda mais o interesse na tecnologia Java, pois ela tinha se tornado uma tecnologia construída pela comunidade de empresas interessadas em Java e não mais algo dominado apenas pela Sun. Assim IBM, Oracle, JBoss e outras 800 empresas entraram com força no JCP e começaram a nascer diversas Java Specification Requests (JSR). JSRs são os documentos que descrevem formalmente as especificações da tecnologia Java. Hoje existem cerca de 350 JSRs que definem desde APIs bem conhecidas, como JDBC e JSPs, até APIs mais desconhecidas, como a OSS Discovery API e a Pricing API.

Uma curiosidade é que saiu do Brasil a primeira inscrição individual do JCP. A participação de um brasileiro era importante para levar as discussões nacionais para dentro do processo. Sendo assim, Bruno Souza se cadastrou quando ainda era necessário pagar uma taxa de 100 dólares. De acordo com Onno Kluyt, responsável pelo JCP na época, Bruno foi o primeiro e único a ter pago uma taxa para participar do JCP (cerca de um ano depois a cobrança foi abolida). Felizmente não foi o único brasileiro a participar, e outros tiveram atuações importantes, como Osvaldo Doederlein (colaborador da Java Magazine desde a primeira edição), que participou das discussões do Java SE, Michael “MisterM Santos”, que contribuiu na especificação de Data e Tempo, e Yara Senger, cujo projeto exemplo de JSF foi incorporado à implementação de referência.

Yara Senger <yara@globalcode.com.br>, Globalcode: “Quando eu estava no meio do curso de Ciências da Computação, me apaixonando por Java, estudando Applets (final de 1999, início de 2000), um amigo veterano começava a orientação científica com uma tecnologia sensacional: Servlets! Em 2001, durante o estágio na Accenture, em um projeto Java EE que esbanjava internacionalização, fomos fazer um curso na Sun, um marco fundamental na minha vida, pois conheci Design Patterns, EJBs, o JavaMan (Bruno Souza) e o SouJava... e tive aula com o homem com quem eu iria me casar: Vinicius Senger! Em 2003, participando do segundo JavaOne, já na Globalcode, quase casada com o Vinicius, conhecemos o projeto Rave, que transformou-se em JavaServer Faces e foi recentemente incorporado à especificação Java EE 6. A história nos levou à colaboração e à criação do projeto JSF 2 Scrum Toys, que está sendo distribuído com o GlassFish e NetBeans.”

[subtitulo]Java 1.4, J2SE5, Java SE 6 [/subtitulo]

O Java 1.4 (codinome Merlin) foi a primeira versão que seguiu inteiramente o processo do JCP, através da JSR 59. Liberada em fevereiro de 2002, este importante marco trouxe novidades como o Java WebStart (que permite baixar e executar aplicações Desktop direto do navegador, com apenas 1 clique!), a nova palavra reservada assert, a incorporação de parser XML e processador XSL (JAXP), extensões de criptografia e segurança (JCE, JSSE, JAAS), encadeamento de exceções e remodelagem das expressões regulares. Era um novo ânimo para os desenvolvedores, pois desde 1998 nem a plataforma nem a linguagem tinham sofrido grandes evoluções (a versão 1.3 – codinome Kestrel, de 2000 – trouxe, por exemplo, o Java Sound e o Java Platform Debugger Architecture (JPDA), pouco para causar maiores impactos).

O J2SE 5.0 ou Java 1.5, codinome Tiger, lançado em setembro de 2004 apresentou mudanças ainda mais significativas na linguagem, com destaque para anotações (“marcações” em classes, atributos e métodos, que vem – por exemplo – substituindo a necessidade de arquivos de configuração), generics (notação de tipos para coleções que diminuem a obrigação de conversão explícita de tipos – typecasting), e enums (espécie de lista ordenada de valores, muito usadas para especificar constantes do tipo numérico). Além destas, uma sintaxe avançada da instrução for (uma espécie de for each) também foi incorporada, facilitando a iteração entre membros de coleção.

A última versão estável da Plataforma Java é a Java SE 6 (codinome Mustang; observe que a Sun retirou o “.0”), de dezembro de 2006. Ganhos significativos de performance na JVM e no Swing foram os maiores benefícios. O Java SE 6 Update 10, de outubro de 2008, remodelou a arquitetura de Plug-ins (Applets passam a ter recursos semelhantes aos destinados a aplicações Java WebStart), o Swing ganha um novo e mais moderno Look&Feel (o Nimbus) e surge o Java Kernel, um conjunto mais enxuto do Java Runtime Environment (JRE), contendo as classes mais comumente utilizadas deixando as outras para serem carregadas conforme a demanda. No momento da escrita deste artigo, o Update 20 (15 de abril de 2010) era o mais recente.

[subtitulo]JavaOne e Duke's Award [/subtitulo]

Com o JavaOne se tornando cada vez mais importante, atraindo milhares de desenvolvedores a cada ano, a Sun decidiu criar um prêmio para os melhores projetos Java do ano, para ser entregue em grande estilo durante o JavaOne. E assim nasceu o Duke's Choice Award. Simbolizado por um pequeno troféu na forma do mascote Duke, o prêmio passou a ser ambicionado por todos os desenvolvedores Java. E mais uma vez o Brasil teve destaque, ganhando três Dukes: em 2003, com o projeto do Cartão Nacional de Saúde, em 2004 com o sistema de Imposto de Renda Pessoa Física e em 2005 com o sistema de saúde de São Paulo (Figura 3).

Figura 3. Brasileiros JavaOne 2005. Fabiane Nardon (de Rosa, em pé) segura o Duke que acabara de receber pelo Sistema de Saúde de SP.

Fabiane Nardon <fabiane@tridedalo.com.br> JavaTools Community: “O que poucas pessoas sabem é que tudo o que consegui na minha carreira de “especialista” em Java foi por causa de uma mochila. Em 2001 encontrei com Bruno Souza e ele estava com uma mochila muito bacana, com o logo do Java. Então perguntei o que fazer para conseguir uma mochila daquelas, e o Bruno disse: “Fácil! Manda uma palestra para o JavaOne e se aceitarem, você ganha a mochila”. Eu achei a ideia um pouco maluca, mas como já trabalhava com Java há alguns anos, resolvi arriscar. Para minha surpresa, a palestra foi aceita e lá fui eu para San Francisco buscar minha mochila. Agendaram a minha palestra para as 23 horas. Lembro que pensei que nesse horário nem teria plateia, mas a sala estava lotada, a ponto de algumas pessoas sentarem no chão para assistir. Acho que foi uma das palestras mais legais que já fiz. Depois disso, os JavaOnes me renderam mais 8 mochilas, um Duke's Choice Award, uma participação no keynote com o Scott McNealy, um documentário e dezenas de novos amigos. Mas aquela primeira mochila ainda é a mais legal de todas."

[subtitulo]Grupos de Usuários e Comunidades Open Source [/subtitulo]

Quando foi lançada, a Tecnologia Java inovou em vários sentidos, como na possibilidade de software multiplataforma, na criação de ambientes visuais, no download de aplicações para o browser web, entre outras. Mas uma inovação que ajudou a mudar o mundo do software foi o fato da versão Alpha 2 de Java ter sido colocada na internet com todo o código fonte, tanto da máquina virtual, como do conjunto de bibliotecas. Apesar de nessa época já existir a definição de Software Livre, era ainda praticamente desconhecida a ideia de uma empresa disponibilizar sua grande inovação com todo o código fonte.

Java naquele momento ainda não era software livre (isso só veio a acontecer no Projeto OpenJDK), mas a possibilidade de aprender com o código disponível e participar da evolução da tecnologia criou ao redor de Java uma verdadeira paixão: desenvolvedores do mundo inteiro se sentiram de fato parte da grande inovação tecnológica daquele momento. Nascia a comunidade mundial de desenvolvedores Java.

Ao mesmo tempo, a internet trazia novas formas de comunicação e compartilhamento, e dessa combinação, nasceram os Grupos de Usuários Java, grupos de desenvolvedores que divulgaram a tecnologia Java ao redor do mundo. Fóruns, listas de discussões, sites web, tutoriais, vídeos, podcasts, blogs, e mais recentemente, twitters e redes sociais, são algumas das formas que essa enorme comunidade utilizou para divulgar e “evangelizar”. Mas não só a informação foi multiplicada: seguindo o exemplo do código fonte de Java, explodiram projetos open source ao redor da tecnologia, projetos que reuniram desenvolvedores de milhares de empresas e de todas as partes do mundo. Java evoluía na velocidade e no alcance da internet, abrindo espaços e oportunidades para desenvolvedores de todos os lugares.

Vários projetos importantes surgiram, como projetos gerenciados por ONGs, como os da Apache Foundation (Tomcat, Ant, Jakarta e muitos outros) e ObjectWeb (hoje OW2, que mantém os projetos JOnAS, Shark e C-JDBC), e grande número de projetos independentes como servidores de aplicações (JBoss, OpenEJB e Jetty), sistemas de persistência (Hibernate, JORM), frameworks (Struts, Wicket e Velocity) e muitos, muitos outros projetos que fomentaram a evolução da tecnologia Java.

Nesse grande movimento de comunidades, alguns projetos se sobressaíram e ganharam grande destaque no Brasil. O Projeto Javali, tocado pelo SouJava, deu início ao esforço mundial de liberação da plataforma Java como software livre. Outro projeto importante é o JEDI, mantido pelo DFJUG, que está ajudando a educar milhares de desenvolvedores brasileiros.

Fernando Anselmo, DFJUG: “Em uma bela manhã de trabalho, com um rouxinol cantando na minha janela (sentia que algo diferente iria acontecer), recebi uma proposta indecorosa do Daniel propondo a tradução de um curso que era um sucesso nas Filipinas. Resolvemos que não poderíamos adotar o mesmo modelo, já que aqui seria melhor aulas independentes no modelo e-learning, fora de sala de aula. Tínhamos as apostilas e os slides da primeira lição, mas faltava algo, e após dois Cheddar McMelt e um Milk-Shake grande de chocolate surgiu uma daquelas ideias malucas: vídeo-aulas, feitas em Estúdio. Daniel comprou um quadro com um universo alternativo, e iríamos fazer tudo como um grande filme de Ficção Científica. Após gravarmos um simples vídeo de cinco minutos para uma apresentação na Politec e levar mais de oito horas de gravações, a ideia murchou como um balão vazio. Mas uma parte ficou: voz e imagem. A imagem não seria mais a nossa, e sim a dos slides com filmes que capturassem o que se estava fazendo no computador! Testamos uma série de programas e passamos a gerar as aulas em Flash. O toque final foi um ambiente Moodle para comportar tudo. E deste modo nascia o JEDI no Brasil.”

[subtitulo]JEDI – Java Education and Development Initiative[/subtitulo]

O Java Education & Development Initiative é um curso de Engenharia de Software completo, gratuito, que conta hoje com mais de 210.000 alunos nas Filipinas, Indonésia e Vietnam. No Brasil, conta com mais de 44.000 alunos. É composto de 12 cursos, mais de 120 vídeo-aulas, além de apostilas, exercícios, tutorias, listas de discussão e provas de certificação, e você não paga nada por isto. Na Universidade das Filipinas, nasceu através do Java Research & Development Center, a iniciativa JEDI, em fevereiro de 2005. Desde então, vem sendo desenvolvido como um projeto colaborativo, que conta com o apoio da comunidade Java em todo o mundo. O aluno tem gratuitamente ao seu dispor manuais, slides de apresentação das aulas, provas, exercícios, material de referência e vídeo-aulas; contando ainda com os softwares, o treinamento de instrutores, o acesso a suporte e a lista de discussão da comunidade. O Brasília Java Users Group – DFJUG – é responsável pela coordenação do JEDI em países de língua portuguesa.

No Brasil, a comunidade de Grupos de Usuários Java (JUGs) é muito forte e ativa, tendo inclusive ajudado a fundar a comunidade mundial de JUGs. Ainda neste ponto, o Brasil é um importante fomentador: hoje existem brasileiros com grande atuação em importantes comunidades como a JavaTools, JUGs, JSRs, Apache, JBoss, e muitas outras.

Manoel Pimentel <manoelp@gmail.com>, Editor-Chefe da Revista Visão Ágil: “Passei grande parte dos anos 90 programando em Delphi e Clipper, mas no final da década, com a necessidade de criar soluções web e multiplataforma, passei a apostar em soluções mais abertas como PHP e Java. Nesse momento, usava a plataforma Java apenas para criar pequenos Applets e muitos Servlets monstruosos (risos). De lá para cá, acompanhei e apoiei o surgimento de muitas comunidades Java, colaborei com projetos OpenSource e com o time do NetBeans.org, escrevi artigos e fiz muitas palestras sobre Java. Devido ao meu trabalho de Coaching em Agile, venho me distanciando cada vez mais do uso diário da linguagem, mas continuo estimulando o uso da plataforma Java e torcendo pelo sucesso de toda a comunidade construída em torno dela.”

[subtitulo]Java no Tempo[/subtitulo]

Ano

No Mundo

No Brasil

1995

Tecnologia Java nasce oficialmente.

Primeiros brasileiros começam a estudar Java.

1996

JDK 1.0 lançado e ocorre o primeiro JavaOne.

Primeiro JavaCard é lançado.

Primeiro evento de Java no Brasil, o JavaDay.

1997

JavaCard 2.0 lançado e o JavaOne deste ano atrai 8.000 desenvolvedores, tornando-se oficialmente a maior conferência de desenvolvimento de software do mundo.

JDK 1.1 é lançado.

Banco do Brasil adota Java.

1998

Java Community Process (JCP) é formalizado.

J2SE 1.2 é lançado.

Primeiro SmartCard com Java é lançado pela VISA.

Fundado o DFJUG

1999

Código fonte do Java 2 é distribuído e o J2EE beta é lançado.

JavaOne reúne 20.000 desenvolvedores

Fundado o SouJava. Em pouco tempo, o SouJava e o DFJUG se tornam os maiores grupos de usuários Java do mundo.

2000

Mais de 400 grupos de usuários Java no mundo.

J2SE 1.3 é lançado.

Java é a linguagem do ano pela Revista Info.

2001

Primeiro JavaOne fora dos EUA é feito no Japão.

Pesquisa do Gartner mostra que 62% das companhias brasileiras já usam Java.

2002

J2EE atinge dois milhões de downloads.

J2SE 1.4, a primeira versão desenvolvida sob o JCP, é lançada.

Lançada a Java Magazine número 1. Matéria de capa: "O Brasil tem Java".

Sistema Brasileiro de Pagamentos (SPB) é lançado com a tecnologia Java.

2003

Java.net, o portal para a comunidade Java, é lançado.

Projeto do Cartão Nacional de Saúde ganha o Duke's Choice Award no JavaOne.

2004

Java 5 é lançado.

IRPF em Java é lançado e ganha o Duke's Choice Award.

2005

Número de desenvolvedores Java atinge 4.5 milhões.

Java chega a Marte através do Mars Rover, que possui Java embutido.

Iniciativa JEDI é lançada nas Filipinas.

Sistema de Saúde de São Paulo ganha o Duke's Choice Award.

Brasileiros criam o Juggy, mascote dos grupos de usuários Java, que é adotado por JUGs do mundo todo.

2006

Anunciado que Java será open source. A plataforma Java EE é aberta como open source sob o projeto GlassFish.

Java 6 é lançado.

Tradução das APIs do OpenJDK para português.

Jonathan Schwartz, CEO da Sun, encontra Lula.

2007

Java se torna totalmente Open Source.

Ocorre o primeiro CommunityOne, uma conferência conjunta com o JavaOne focada em Open Source.

JavaFX é anunciado.

Uma brasileira é escolhida para o OpenJDK Interim Governance Board.

Iniciativa JEDI chega ao Brasil (e mais oito países que falam a língua portuguesa) coordenado pelo DFJUG.

2008

Java é embutido em diversos dispositivos, como canetas inteligentes e Blu-Rays.

Diversas ferramentas para JavaFX são disponibilizadas.

Linguagens como Groovy, Scala, JRuby e Jynthon ganham destaque no JavaOne.

JavaBahia realiza em seu blog, pelo 1º ano, a cobertura do JavaOne em tempo real.

O IRPF é citado pela Sun como responsável por um dos maiores picos de download do Java.

Rogério Santana, do Ministério do Planejamento, divide com Bruno Souza uma sessão técnica sobre produção e uso do software livre no governo brasileiro.

2009

Sun é comprada pela Oracle.

IRPF é lançado só em Java e é utilizado no preenchimento de mais de 25 milhões de declarações. Versões em outras linguagens são descontinuadas.

2010

James Gosling, o pai do Java, deixa a Oracle.

Norma para o Ginga-J, que permite Java na TV Digital brasileira, é aprovada.

[subtitulo]Conclusão [/subtitulo]

A tecnologia Java revolucionou o mercado de desenvolvimento de software com uma ideia simples: a independência de plataforma. No Brasil, essa ideia ganhou força, já que o país buscava independência tecnológica. Para nós, Java surgiu em um momento único, onde a Internet começava a ganhar força, e não havia mais um atraso entre a tecnologia surgir lá fora e poder ser usada aqui. Vários profissionais aproveitaram a oportunidade e fizeram do Brasil um dos maiores participantes no mercado Java mundial. A Tecnologia Java cresceu e evoluiu, muito com a participação dos nossos desenvolvedores “tupiniquins”. Grandes projetos feitos no Brasil ganharam destaque mundial, e o país foi participante ativo dessa evolução.

Com o Java Livre – o Projeto OpenJDK – a Tecnologia Java ganha um novo impulso, e as novas versões têm tudo para serem mais inclusivas, mais participativas, e com maiores chances para profissionais brasileiros. Com Java sendo fortemente utilizada desde ambientes de TV Digital até nos sistemas de Cloud Computing, o profissional Java só tem a ganhar com as novas ondas da tecnologia.

E sobre a historia da Tecnologia Java, tem uma coisa que é certeza: ainda estamos escrevendo, e a sua participação é fundamental para escrever o próximo capítulo. Vamos escrever juntos o futuro. O seu, o nosso e o da tecnologia Java.

[nota]Links

Uma breve história do projeto Green.
https://duke.dev.java.net/green/

So why did they decide to call it Java?Curiosidades sobre o nome da linguagem.
http://www.javaworld.com/javaworld/jw-10-1996/jw-10-javaname.html

Blog do Jonathan Schwartz, ex-CEO da Sun, falando da origem do nome Java.
http://blogs.sun.com/jonathan/entry/better_is_always_different

A História das versões do Java.
http://en.wikipedia.org/wiki/Java_version_history

Versão preliminar da especificação do Oak (Oak Language Specification, v0.2, 32 páginas).
https://duke.dev.java.net/green/OakSpec0.2.ps

Página Oficial do JEDI
http://jediproject.net/
http://jedi.wv.com.br/[/nota]