BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Bruce Eckel em Python, Java, Flex e RIAs

Bruce Eckel em Python, Java, Flex e RIAs

Neste post, a InfoQ entrevista Bruce Eckel para saber suas ideias sobre o horizonte RIA e suas últimas atividades. Bruce Eckel lançou, recentemente, um livro do qual é co-autor: First Steps in Flex (Iniciando em RIA).

A InfoQ começou perguntando a Bruce Eckel o que ele tem feito ultimamente:

Bem, nas últimas 9 semanas eu estive me recuperando de uma fratura na perna em um acidente de esqui. Eu nunca tinha quebrado nada antes, então essa foi uma experiência nova pra mim, incluindo cirurgia, anestesia geral e uma variedade de terapias de recuperação – uma porção de experiências novas. A anestesia geral, particularmente, lembro que leva um bom tempo para sair dos seus efeitos; semanas, para dizer a verdade. Você se senta, começa a olhar ao redor, sua mente fica lenta e quando você finalmente ressurge de tudo que passou, você desenvolve um novo apreço por sua consciência. E depois de tanto ficar sentado olhando ao redor, você quer sair correndo para fazer alguma coisa.

Eu já tinha perguntado a mim mesmo: "Ok. O que eu realmente quero fazer agora?" e quebrar a perna enfatizou a necessidade de fazer alguma coisa. Continuar trabalhando em algo rotineiro não era mais o bastante. Eu queria fazer coisas especialmente interessantes e divertidas.

A principal razão pela qual escrevi um livro sobre Python foi que trabalhei como consultor em empresas que já haviam decidido usar Python (acho que isso acontece com outras linguagens de programação, mas minhas experiência foi com Python). Um desses trabalhos foi muito desafiador; todo dia eu me sentia como se estivesse na antiga URSS – eles não apenas nos esfolavam – mas quase. Até quando eu ia ao banheiro tinha um acompanhante. Mas, o líder da equipe insistia que usássemos Python, e apesar de tudo eu curtia (contudo, eu agora sei a diferença entre a empresa escolher Python e um forte e determinado indivíduo forçar o seu uso).

Minha experiência geral, é que é bem mais provável que a cultura corporativa que trabalha com Python que tenha satisfação e curtição. As que insistem no uso de python por causa de duas características "diretas" (os menos políticos a chamam de características de servidão e disciplina) é mais provável que reduzam riscos do que as que exploram e experimentam. Redução de riscos é certamente apropriado para a maioria das situações, mas eu descobri que é não é tudo para me fazer bem. Experimentos rápidos e explorar os limites é o que me faz bem e as companhias que escolheram Python estão mais propensos a isso, bem como as empresas que escolhi trabalhar agora.

Em resumo, estou voltando "ao que funcionou pra mim no passado" para conectar-me a essas empresas. Escrevendo um livro e dando palestras. Definitivamente não é original, mas eu não encontrei até agora uma forma melhor de marketing pessoal.

É claro que continuo a tentar criar o Open Spaces events, e suas variantes. É algo extremamente satisfatório também. Depois de um seminário onde falei a semana inteira e enrolei as pessoas com exercícios (tentar fazer todo mundo aprender no mesmo ritmo é burrice, se você pensar bem) estou exausto e não quero fazer isso novamente por enquanto. Porém, sempre que faço o evento Open Spaces me decepciono quando o ele acaba e percebo que não farei outro na próxima semana. Quero descobrir como fazê-lo mais vezes porque me sinto bem. Este é o motivo James Ward, e eu escrevi "First Steps in Flex," para ajudar a criar mercado para nosso "Flex Jams."

Alguns anos atrás eu estava atuando no teatro local. Crested Butte estava cheio de pessoas talentosas e nós temos um grupo de teatro e tem sido um grande desafio estar nessas produções – até agora estive em 5 ou 6. A última foi "Into the Woods," e como nunca havia assistido um musical antes acabei vendo "Rapunzel's Prince." Junto com "Cinderella's Prince" nós tivemos o que foi provavalmente o mais doce dueto a atuar, que não foi realmente justo uma vez que muitos dos outros atores tiveram de trabalhar muito mais duro do que nós. Eu e meu amigo príncipe tínhamos acabdo de terminar a escola e progredíamos com lições de voz – a mão dele era uma diva no teatro de Londres – então eu tinha o grande desafio de manter-me com ele. Mas, a melhor parte de toda a experiência era trabalhar com pessoas e profissionais sérios na produção amadora. Isso me proporcionou algumas idéias sobre equipes e como satisfazê-las para serem parte de uma equipe bem-sucedida.

De fato, estou lendo alguns livros sobre equipes de software e como ajudá-los a formar boas equipes. Não que eu esteja pensando em ser um gerente de equipes mais na frente, mas entender de equipes é uma habilidade que todo consultor precisa ter e é uma que tento melhorar por alguns anos.

Uma das coisas que o teatro faz são peças de 10 minutos escritas por autores locais. Eu as fiz várias vezes. Comecei a escrever uma peça completa e participar no grupo de escritore local. Tive vários workshops sobre ficção nesses anos e descobri que ficção é muito mais desafiador que não-ficção (o que é provável, porque são apenas 5.000 livros de ficção cada ano, contra 50.000 livros de não-ficção).

Também comecei a pintar, apesar de eu ter pintado em workshops por alguns anos (eu supunho que esses workshops seriam bons como hobby; eu aprendi com os workshops e espero melhorar meus próprios eventos com essas experiências). No último workshop em que estive, o professor ensinou que "isso não é sobre pincéis e telas, é sobre marcar a superfície." Acho que foi o suficiente para eu começar a pintar materiais, sem me preocupar se estava "certo" ou não. Apenas para experimentar.E em uma dessas ocasiões descobri que é mais satisfatório jogar tinta nas coisas do que ficar preso, temendo que no momento em que você não fizer nada não será o melhor para continuar. Eu nunca fui o mestre zen da pintura, de forma alguma. Meu maior problema é adicionar algo quando acho que comecei bem, e temo continuar porque posso bagunçar tudo.

Uma das coisas que aconteceu recentemente foi que desenhei a camisa da conferência Pycon 2009, que eu mesmo pintei (uma abstração do hexagrama I-Ching 22, representando a "beleza e elegância").Infelizmente eu não pude comparecer a conferência esse ano por causa da minha perna. Mas muitos me disseram que ver a minha pintura em mais de 1000 pessoas foi surreal.

Acredito que essas experiências ajudam bastante no mundo do software. Aprender é experimentar e explorar mais - mais do que ficar sentando pensando se alguma coisa vai dar certo ou não – ajuda a levar o projeto pra frente.

Bruce deu-nos uma visão geral do recente lançamento do seu livro sobre Flex:

James Ward, que ajudou a escrever o "First steps in Flex" é evangelista da Adobe Flex. Nós queríamos escrever alguma coisa que fosse fácil para o programador aprender Flex, então nós o fizemos pequeno, com capítulos curtos. Isso o previne de ser intimidante, você olha pra ele e pensa: "Olha esse capítulo é curto! Dou conta de ler" e é assim com o próximo e o próximo. O livro inteiro é desintimidantemente fino e para fazer isso nós precisamos tirar fora tudo o que o leitor não precisa saber e manter apenas o essencial. Assim, as pessoas acreditam que podem realmente fazer algo já que não estão enterradas sob tanta informação. Foi necessário um esforço para distilar o essencial do Flex, mas eu gostei do resultado.

Agora a InfoQ pergunta a Bruce sobre sua impressão a respeito do horizonte Flex:

Eu acho que o mais importante em RIA é tudo e não apenas o termo que a Adobe cunhou. As pessoas já aceitaram ou estão aceitando que HTML/CSS e um pouco de JavaScript não é o suficiente para uma porção de sites (apesar de ser para muitos). Os clientes estão esperando mais riqueza e resposta das aplicacões WEB e os sites não podem produzir toda essa experiência e lutar contra os caprichos da WEB ao mesmo tempo. Você precisa desenvolver em uma plataforma que é a conhecida quantidade.

Estou mais e mais convencido que os "padrões" de browsers em que tropeçamos nunca serão completos ou confiáveis, ou ainda usáveis. Veja o CSS, por exemplo. É uma grande idéia, mas obscurece todas as saídas para programar em browser incoerentes. HTML é do mesmo jeito. Não há padrão para você incluir cabeçalhos e rodapés (sim, o SSI, mas ele sempre chama uma configuração do servidor que você não pode invocar) então as pessoas usam PHP e acabam com algo que você pode chamar "melhor que Perl" mas apenas porque ele não te dá problemas tão rápido. (Eu uso PHP, mas muito conservadoramente).

Por baixo: nós precisamos definir a camada entre o browser e a RIA; nunca entendi direito as tecnologias do browser. Geradores como o GWT apenas reduzem as questões da dependência de plataforma, não as eliminam. É a mesma coisa com AJAX – são necessários ajustes manuais no código para que que funcione em vários browsers. É menos trabalho, mas não funciona se você quiser fazer com todos os códigos. Por que desperdiçar recursos da empresa com isso quando você pode simplesmente colocar uma camada intermediária e eliminar completamente essas questões?

Eu sou um fã do Flex, porque o Flash player é suportado em todas as plataformas. Silverlight permite suporte no Linux, mas não tenho idéia de como é esse suporte. E a Microsoft teve uma história tumultuosa com esse suporte não-Windows. A última versão do Office para o MAC não tem as macros do Windows que é importante para mim e tem causado problemas para mim e muitos outros. A Microsoft tem todo tipo de desculpas para isso, mas quem se importa? Você fica engesssado. Se eles decidem que o Silverlight tenha suporte no MAC, devem ir adiante e fazê-lo, eles terão várias razões para isso. Ou se o Linux é uma ameaça muito grande, eles terão razoẽs para que você não tenha o Silverlight no Linux. Quem se importa? Se você depender deles, está sem sorte. Eu avisei que o Netflix foi com o Silverlight para a demanda de vídeo deles. Há tempos que eu não consigo rodá-los no Firefox do meu MAC – provavelmente ele iria começar a funcionar, mas se não o fizerem a Netflix começará a perder clientes e eles provavelmente já perderam clientes Linux. Adobe é uma grande companhia também, e eles podem agir caprichosamente, mas eles tem um histŕocio suporte para todas as plataformas e a Microsoft tem um OS para manter. Silverlight é bem projetado e eles aprenderam muita coisa com o Flex. Eu acho essa competição grande e estimulará a Adobe a trabalhar duro. Mas se você chega e me pergunta se é melhor trabalhar com Flex ou Silverlight, eu vou dizer: "por que se arriscar com mais um espasmo de marketing da Microsoft e se dar mal?"

A seguir, Bruce foi questionado se ele acha que a indústria jogar para o lado do cliente a interface do usuário é uma boa ideia:

Absolutamente; Eu acho muito melhor o caso acima. Mas, eu esqueci do JavaFX. No JavaPosse Roundup 2009, nós codificamos um pequeno dojo, onde Dick Wall criou a aplicação "Flubber" em Flex (com a ajuda de James Ward) e em JavaFX (com a ajuda de Tom Norbye, que era da equipe de JavaFX). Convenientemente isso aconteceu na minha casa. Mas como eu estava nos estágios inicias de recuperação da cirurgia, não posso dar todos os detalhes. O que impressionou, contudo, foi que eles puderam, elegantemente, obter os mesmos resultados em ambas as linguagens. Eu acho que seria mais fácil em Flex, mas fiquei muito impressionado com JavaFX. Também o JavaFx parece um pouco com ActionScript, mas adicionaram umas melhorias espertas na linguagem, o que eu acho que melhorará um pouco a competição contra os designers em ActionScript, o que é uma coisa boa.

Então, ele foi questionado se Flex precisa do Java para ser um sucesso:

Eu acho a ponte Flex-Java importante e foi péssimo a Sun não oferecer suporte para um desses. Para piorar, a Adobe também não o oferece. Existem versões open-source que funcioam e acho que no geral nós precisamos de mais estrutura para empresas comerciais suportarem projetos open-source. Só uma forma de ganhar dinheiro para eles, mesmo que não contratem alguém ou o suporte inteiro. Eu acho que nós poderíamos ver um pouco mais de suporte para esses projetos, se ao menos uma pessoa no projeto pudesse começar a fazer algo do tipo viver dele. Qualquer coisa que facilite o processo beneficiará todo mundo.

Além do Java, Bruce foi questionado sobre que outras linguagens ele gostaria de testar com Flex:

A maioria dos projetos que fiz, eu usei Python como backend para o Flex. Há muitas técnicas para fazer isso mas a biblioteca Twisted suporta comunicação com Flex e ambas são assíncronas o que é perfeito.

Ruby também suporta comunicação com Flex. Eu vejo as linguagens dinâmicas como grandes backends porque você tem o melhor de dois mundos – desenvolvimento rápido e interfaces gráficas legais de verdade combinados com o rápido desenvolvimento da lógica de negócios no backend.

Finalmente, a InfoQ perguntou a Bruce o que estava fazendo em Java nesses dias:

Ocasionalmente como consultor e design é o tipo de coisa que faço.

Achei a 4a edição do "Thinking in Java" um livro realemente completo. Eu, basicamente, o re-escrevi quatro vezes e agora nesta última vez eu acho que consegui. Então eu não planejo outra edição, mas tanto o suplemento para preenhcer detalhes importantes e características da linguagem tem aparecido na 4a edição. Mas eu espero fazer desse livro uma força para a comunidade, para fazer publicado eletronicamente sob a licença Creative Commons. Se eu vou poder auxiliar a comunidade dessa forma é oura questão – é o que estou tentando fazer ao escrever o livro sobre Python, então, talvez eu terei uma ideia melhor de como fazer isso por eles.

Você pode ler mais sobre os pensamentos de Bruce em seu blog.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT