Prism

October 25th, 2007 § 2 comments § permalink

Depois de brincar um pouco com o Silverlight e com o Adobe Air, a minha conclusão é a seguinte: ambos são idênticos em termos de funcionalidade proposta (o que não significa que ambos estejam no mesmo ponto de desenvolvimento) e ambos vão contra o espírito básico da Web que é focado em tecnologias abertas, escaláveis, clonáveis e de fácil distribuição. E não venham me dizer que o Adobe está publicando tudo como código aberto já que isso simplesmente não é verdade.

Leitores mais antigos desse blog talvez dirão que eu estou me contradizendo já que eu defendi ambas as tecnologias há um tempo atrás (1, 2). Mas, mantenho minha posição. Eu sou bastante pragmático no que tange ao desenvolvimento e embora procure utilizar o máximo de código compatível com minhas próprias posições ideológicas ainda não consigo viver completamente no mesmo. Estou trabalhando nisso, mas ainda não cheguei no ponto que quero.

O que, em última instância, me faz ficar muito feliz com a notícia do Prism, um projeto do Mozilla Labs que eventualmente pode se tornar um concorrente aberto dessas duas tecnologias proprietárias. Não, é claro, no sentido de geração de aplicações Web mas no sentido de disponibilização em um formato coerente com o desktop.

Ao contrário do Silverlight e do Adobe Air, o Prism, pelas informações da páginas, parece estar sendo pensando desde o princípio em termos de um relacionamento aberto com os padrões Web que todos conhecemos e amamos. É claro que há muito chão para percorrer nesse sentido, mas os desenvolvimentos recentes me levam a crer que o caminho oferecido pelo Prism é melhor que o oferecido pelo Silverlight e Adobe Air.

O navegador como plataforma está amadurecendo cada vez mais. JavaScript, como uma linguagem, está se tornando um padrão não só de desenvolvimento Web como de transposição de dados ao longo de ambientes. O próprio HTML está sendo repensado e é bem possível que em breve ultrapasse as limitações atuais (através, quem sabe, de pontes JavaScript).

Não me interpretem mal, por favor. No momento atual, o Prism não parece nem chegar aos pés do que Silverlight e Adobe Air oferecem. Mas a idéia já está plantada. Olhe o ponto em que o GreaseMonkey chegou. Há também a questão do Firefox 3. É só uma questão de tempo.

Palestra de linguagens de programação hoje

August 18th, 2007 § 1 comment § permalink

Só lembrando os interessados, a palestra sobre linguagens de programação que eu vou dar no ciclo de palestras da e-Genial é hoje.

Dreaming in Code

August 14th, 2007 § 7 comments § permalink

Dreaming in Code é um livro sublime. Escrito por Scott Rosenberg, um dos fundadores do Salon, o livro é ao mesmo tempo uma tentativa de cronicar o projeto Chandler e responder a maior questão do desenvolvimento de aplicações: por que desenvolver é tão difícil?

Como seu próprio sub-título diz, o livro é a história de duas dúzias de programadores, três anos, 4.732 bugs, e uma busca por um software transcendente.

Quem trabalha no ramo há mais tempo deve se lembrar do auspicioso começo do projeto Chandler, nos idos de 2001. Chandler é um gerenciador de informações pessoais e tinha o objetivo ambicioso de resolver de uma vez por toda o problema de organização das informações combinadas que uma pessoa precisa no seu dia a dia.

O projeto despertou um enorme interesse na época por uma combinação de fatos que pareciam destiná-lo a um sucesso rápido e permanente: era um projeto de código aberto, bancado quase que completamente por Mitch Kapor–que fizera fama e dinheiro com o Lotus 1-2-3 e tinha o necessário para investir pesadamente em um projeto assim–e com uma lista de características que prometia revolucionar a área.

Em 2003, chegou a ser chamado pela Wired de um Outlook Killer e o lançamento de suas primeiras versões foi tão ou mais aguardado do que uma nova versão do Windows.

Hoje, seis anos depois do lançamento do projeto, ainda não passa de uma versão alpha com somente a parte de calendário utilizável.

O que Scott Roseberg faz em em seu livro é documentar três anos da história do projeto, mostrando a extrema dificuldade de transformar a idéia de Mitch Kapor em realidade e quais são as lições que essas dificuldades implicam. Rosenberg abre as cortinas por trás de um projeto de código aberto que tinha tudo para dar certo e cujo sonho ainda permanece elusivo. E por trás de cada evento narrado, cada comentário feito, a grande questão: porque desenvolver algo utilizável é tão complicado?

Misturando-se à narrativa linear do projeto, Rosenberg faz uma análise extensiva do indústria de software, mostrando que desde os seus primórdios, nenhuma evolução ou revolução da área conseguiu responder a questão.

O livro, nesse sentido, é uma verdadeira aula de história do campo, passando pelos mainframes, cruzando a fronteira da computação pessoal, subindo ao nascimento da Web e descendo daí até os dias atuais com o mercado dominado por start-ups que duram menos tempo do que suas idéias. No caminho, sistemas de hipertexto, NLS e mesmo o Ruby on Rails aparecem para ilustrar um ou outro aspecto da questão.

Eu confesso que enchi o livro inteiro de anotações–sorrindo com os casos compartilhados (Rosenberg tem um talento especial em narrar os fatos e eventos mais relevantes do campo), concordando e discordando com as opiniões propostas. O livro é um verdadeiro diálogo com o leitor, que ao acompanhar o que Rosenberg está escrevendo, não pode deixar de pensar que por mais mecânica que a área seja, o que está em jogo são pessoas, a que são as limitações e o gênio dessas mesmas pessoas é que se traduz no que a área é hoje.

O livro termina com a primeira versão funcional do Chandler e com a questão em aberto. Mas qualquer programador ou analista–e mesmo usuários–termina o livro sentindo que existe uma beleza por trás do código e que sistemas não são algo frio e meramente funcional, mas uma representação da complexidade que transformar esse mesmo código em algo transcendente, algo além de meros sinais em um circuito.

Where Am I?

You are currently browsing the Código Livre category at Superfície Reflexiva.