revista programar 19ª edição - abril 2009

Download Revista programar 19ª Edição - Abril 2009

Post on 06-Apr-2016

220 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

A Revista PROGRAMAR é um projeto iniciado e desenvolvido por membros da comunidade Portugal-a-Programar, com o objectivo de suprir a falta de uma revista de qualidade sobre programação e de promover a criação de conteúdos relacionados com programação, em português. Site: http://netponto.org/revista-programar

TRANSCRIPT

  • editorial ndice3411 14 20 26 notciastema de capa- GWTa programar- Processamento de texto em AWK- Microsoft Windows PowershellGNU/Linux- Linux Graphics Stackinternet equipa PROGRAMARcoordenadoresJoel RamosPedro AbreueditorAntnio SilvacapaDaniel CorreiaredacoCristian GonalvesFbio FerreiraJoo MatosPaulo Cabralequipa de revisoBruno OliveiraFernando MartinsMiguel RentesNuno JooSrgio Lopesequipa de divulgaoDavid Ferreiracontactorevistaprogramar@portugal-a-programar.orgwebsitewww.revista-programar.infoissn1647-0710

    Novos HorizontesEsta a nossa primeira edio como coordenadores, depois da sada do Miguel Pais anunciada na ltima revista. Parece-nos estranho, mas o diferente cargo que agora ocupamos no tornou o ciclo de preparao desta edio diferente de qualquer outro em que j estivemos envolvidos. Mas, no final de contas, bastante natural que no sintamos grande diferena - coordenar, articular, preparar cada edio da revista apenas a partir da vossa colaborao voluntria foi o que sempre fizemos, e o que pretendemos continuar a fazer agora, da mesma forma, embora agora com uma diferente responsabilidade.Por outro lado, claro que o novo cargo no exactamente igual queles que desempenhmos durante todo este tempo. Acresce-nos agora a responsabilidade de darmos a cara pelo projecto, de conseguirmos mant-lo sem o suporte do Miguel Pais da maneira a que nos habitumos e nessa frente que apostamos para tornar a mudana na equipa o menos brusca possvel. Desta forma, e no seguimento de algumas sugestes do antigo coordenador, tencionamos mudar vrios aspectos relativos equipa.Em primeiro lugar, e uma vez que nenhum de ns tem muita experincia na gesto de uma equipa e de um projecto destas dimenses, vamos procurar expr todos os assuntos internos da revista a toda a equipa, envolvendo mais os restantes colaboradores na gesto desta. Assim, vamos tambm recolher opinies da equipa antes de tomar quaisquer decises, porque vinte cabeas pensam sempre melhor que duas.Em segundo lugar, tambm numa tentativa de procurar suporte adicional nossa coordenao e de colmatar algumas falhas que nos tm sido apontadas, crimos dois grupos responsveis, respectivamente, pela reviso lingustica dos artigos e pela divulgao da revista. Esperamos que a diferena se faa notar j a partir desta edio, com menos erros lingusticos e um discurso mais apropriado a uma publicao como a nossa, se possvel culminando num maior nmero de downloads.Finalmente, fruto dos resultados do recente inqurito do Portugal-a-Programar, confirmmos que a mudana da imagem, quer da prpria revista, quer da sua presena na web, uma das nossas maiores prioridades. Este um dos aspectos em que nos vamos concentrar ao longo das prximas edies, embora os resultados visveis ainda possam tardar.Destaque ainda para o novo editor, Antnio Silva, colaborador frequente do projecto h j algum tempo. Resta-nos apenas esperar que a nova equipa consiga manter o seu trabalho ao nvel do que tem sido este projecto, cada vez mais uma referncia para os programadores em Portugal e alm fronteiras. Joel Ramos e Pedro Abreu

  • notciasLanamento do Debian 5.0 http://www.debian.org/News/2009/20090214Mozilla lana o Bespinhttp://labs.mozilla.com/2009/02/introducing-bespin/Lanamento do LLVM 2.5http://llvm.org/releases/2.5/docs/ReleaseNotes.htmlLanamento do Google Code Labshttp://google-codeupdates.blogspot.com/2009/03/introducing-labs-for-google-code.htmlLanamento do Internet Explorer 8http://www.microsoft.com/windows/Internet-explorer/Lanamento do GNOME 2.6h t t p : / / l i b r a r y . g n o m e . o r g / m i s c / r e l e a s e-notes/2.26/Lanamento do Parrot 1.0http://www.parrot.org/news/2009/Parrot-1.0.0Prximos eventos2 Edio do Concurso de Projectos de Programao P@PNo mbito do Concurso de Projectos de Programao P@P, cujo objectivo a dinamizao e divulgao das diversas linguagens de programao, assim como reconhecer os programadores pelos seus trabalhos, est a decorrer a sua segunda edio.Esta segunda edio decorre na categoria Software Proprietrio, na qual podem participar todos os projectos que no possuam uma licena de software livre. A entrega do cdigo fonte no obrigatria e no ser avaliada.O calendrio desta edio o seguinte:Incio do Concurso: 01-03-2009Prazo de Entrega: 17-04-2009Anncio de Finalistas e Votao do Pblico: 24-04-2009Fim de Votao e Anncio do Vencedor: 01-05-2009Para mais informaesh t t p : / / w w w . p o r t u g a l - a -programar.org/forum/index.php/topic,32312.0.htmlOlimpadas Nacionais de Informtica 2009 http://www.dcc.fc.up.pt/oni/2009/Take Off 2009 25 de Abril, no Departamento de Engenharia Informtica da Universidade de Coimbrahttp://takeoff.ideias3.com/2009/CPAS - Concurso de Programao para Alunos do Secundrio 29 de Abril, no Colgio Internato dos Carvalhos Inscries at ao dia 24 de Abrilhttp://e-escola.cic.pt/cpas/

  • Google Web ToolkitIntroduoCertamente muitos de vocs j tiveram necessidade de desenvolver algum tipo de aplicao para a Web e, como tal, devem ter investigado sobre plataformas que j dessem algum suporte ao desenvolvimento deste tipo de aplicaes. Com uma rpida pesquisa no Google encontrmos um grande nmero de plataformas Web sobre as mais diversas tecnologias e, a quantidade e diversidade tal, que se torna difcil saber qual plataforma escolher. Mas, este artigo no ir focar as plataformas Web existentes, mas sim sobre uma plataforma em particular, o Google Web Toolkit. O Google Web Toolkit foi desenvolvida pela Google (tal como o nome sugere), inicialmente com o objectivo de dar suporte aos seus engenheiros no desenvolvimento de aplicaes Web. Posteriormente a Google teve a amabilidade e a brilhante ideia de disponibilizar a plataforma para a comunidade em geralA vida Pr-GWT... Javascript vs BrowserJavascript, uma linguagem muito utilizada na Web, pela tecnologia AJAX (Asynchronous JavaScript and XML) criada para a construo de pginas dinmicas sendo directamente interpretada pelo browser. O nome Javascript chega a ser enganador pois, numa primeira abordagem, pensamos logo ser uma derivao do Java o que no de todo verdade, pois esta linguagem possui este nome simplesmente por questes de marketing, j que na data em que o nome lhe foi atribudo o Java era linguagem sensao. Um dos problemas do JavaScript o facto de esta possuir uma relao estreita com os diferentes browsers, na medida em que cada um tem a sua prpria interpretao do cdigo, ou seja, no existe um padro que permita a correcta interpretao da linguagem, em todos os browsers. Trocando por midos significa que, ao programar em JavaScript, corre-se risco de as funes criadas no terem comportamento semelhante em todos os browsers. Imagine-se o programador, confortvel na sua secretria, a desenvolver uma aplicao Web, fazendo umas coisas engraadas com JavaScript e, na altura de testar, todo entusiasmado, repara que a aplicao no funciona correctamente em todos os browsers. E porqu???

    Simplesmente porque o JavaScript precisa de ser refinado de forma a ser bem interpretado por cada um deles claro que qualquer bom programador quer que sua aplicao seja executada de uma forma correcta e completa, independentemente do browser, e como tal comea a procurar os potenciais problemas, investigar sobre incompatibilidades e entra no terrvel ciclo de procurar, modificar, testar, procurar, modificar, testar. realmente muito incmodo andar a programar mdulos para que a mesma aplicao corra correctamente em todos, ou pelo menos, na maioria dos browsers. Isso implica que o programador tenha conhecimentos dos problemas de incompatibilidades e tempo para que possa corrigi-los (e tempo no mundo do desenvolvimento de software preciosssimo). Foi ento que os engenheiros da Google, pessoas experientes no desenvolvimento de aplicaes com tecnologia AJAX como o GMail, Google Calendar, Google Maps, cansados de incompatibilidades, correces e testes, sentiam necessidade de usufruir de uma plataforma que desse suporte correco de tais incompatibilidades, e que torna-se o processo de desenvolvimento das aplicaes mais produtivo, mais flexvel e consequentemente mais rpido.Como resultado surgiu o Google Web Toolkit.Google Web Toolkit A caixinha mgicaEsta plataforma revelou-se bastante poderosa na medida em que quem a utiliza pode desenvolver as suas aplicaes Web puramente em Java verdade, Java. O GWT, como j foi dito, uma plataforma Web, e como tal consiste num conjunto de APIs e componentes visuais que facilitam o processo de desenvolvimento das aplicaes, sendo que este feito utilizando a linguagem Java, uma linguagem madura, robusta, orientada a objectos, utilizada por muitos programadores e cuja documentao na Web vasta. Para alm disso, o GWT permite a escolha de um IDE Java onde ser desenvolvida a aplicao. Assim sendo, para utilizar a plataforma basta apenas fazer o download da mesma, escolher um IDE Java e comear a trabalhar, to simples quanto isto. Mais adiante, no tpico GWT Primeiros Passos, este processo inicial ser explicado com mais pormenor. Mas o que torna o GWT mesmo interessante o facto de que, depois de desenvolvida a aplicao, o que o

    tema de capa

  • este faz compilar todo o cdigo Java para cdigo Javascript, para que possa ento ser correctamente interpretado pelo browser, corrigindo automaticamente todas as incompatibilidades. JAVA[script]?Java para Javascript dizem vocs Vamos, como se costuma dizer, take a look inside the Box. O que acontece que o GWT possui um compilador Java-to-JavaScript responsvel por traduzir todo o vosso cdigo Java para o respectivo cdigo JavaScript tendo em conta factores importantes como optimizao de espao, ou seja, o cdigo JavaScript gerado, percorrido e analisado de forma a determinar se todo o cdigo utilizado, pelo que se houver alguma seco que nunca utilizada, esta simplesmente descartada. Por outro lado, so apenas includas as bibliotecas que so realmente utilizadas. Espao e optimizao foram factores considerados fundamentais pela equipa que desenv