quinta-feira, 16 de dezembro de 2010

A História da Tecnologia Java Parte 7


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

Java 1.4, J2SE5, Java SE 6

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.

JavaOne e Dukes Award

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 Dukes 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.



quarta-feira, 15 de dezembro de 2010

domingo, 12 de dezembro de 2010

A História da Tecnologia Java Parte 6


Alexandre Gomes, 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, 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.”

sexta-feira, 10 de dezembro de 2010

A História da Tecnologia Java Parte 5




Java 2

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: “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.

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, 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.




Java Community Process - JCP
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.

sábado, 4 de dezembro de 2010

A História da Tecnologia Java Parte 4


Daniel de Oliveira
, 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.


Mauricio Leal, 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."

Os primeiros anos

Fabio Velloso, 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, 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!"

sexta-feira, 3 de dezembro de 2010

A História da Tecnologia Java Parte 3






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.

Finalmente, Java
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 Oak, e se preparavam para lançar o projeto.
Bruno Souza, 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 mêses seguinte, Java se torna rapidamente a tecnologia mais comentada por desenvolvedores do mundo web e causa furor nas mais diversas comunidades.

quinta-feira, 2 de dezembro de 2010

A história da Tecnologia Java Parte2



A Linguagem

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 “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.


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).


Nascem o Star7 e o Duke

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.