Mirror

November 28th, 2009 § 1 comment § permalink

Hoje, sábado de sol, está acontecendo o Dev In Sampa, um evento de desenvolvedores para desenvolvedores. Se você não conseguiu participar por algum motivo, pode acompanhar um pouco pelo livestream do evento–as palestras estão excelentes. Mas não se preocupe, as palestras estão sendo filmadas também e serão disponibilizadas após o evento.

Eu participei falando sobre a criação de linguagens de programação e para os que já querem ver alguma coisa, segue abaixo a apresentação do SlideShare:

O repositório da toy language que eu criei para demonstração já está disponível também no GitHub. Só não espere muito do código já que ele foi produzido em pouco tempo em madrugadas disponíveis. :)

Para o resto, a caixa de comentários está aberta. :)

Sobre linguagens de programação, desespero e raiva

November 16th, 2009 § 3 comments § permalink

Isso é lindo:

[T]he State of the End-User Environment / Programming Onion…

So, in a confluence of events, I have been lately looking at Scala and yesterday spent some time looking at Pike / Thompson / Google et. al.’s “Go” language for “systems programming.” And Guido halts Python syntactic evolution before the job is done…

And it fills me with despair and anger.

Language designers in general: You are IN THE WAY. Go here:

http://www.rebol.com/oneliners.html

…then do us all a favor and don’t resist the urge to fall on that wakizashi when your shame overcomes you.

Jeff Bone

Leia mais em [FoRK] Programming languages, operating systems, despair and anger. A sensação com Go foi exatamente a que eu tive: conceitos razoavelmente interessantes empacotados em uma sintaxe que só ajuda a piorar o que havia antes.

É claro que não há balas de prata, mas há de se pensar em algo que quebre o molde que estamos usando nas últimas décadas.

LazyWeb: Escolhendo um framework

November 11th, 2009 § 7 comments § permalink

Um amigo de Belo Horizonte me consultou esses dias sobre uma questão fundamental para a aplicação que ele está planejando começar a escrever nos próximos dias: framework de programação usar (e por extensão, qual linguagem)?

Como minha experiência nos últimos tempos tem sido confessadamente restrita a Rails e alguns experimentos em outros, resolvi apelar para a caridade dos meus leitores. Qual framework você usaria para seu próximo projeto?

Esse meu amigo não tem problemas com linguagens de programação em si. De fato, a não ser que seja algo tão esotérico quando Haskell ou Erlang, ele é capaz de se familiarizar com uma linguagem ou framework em alguns dias.

Obviamente, não posso dar muitos detalhes sobre a aplicação, mas dá para dizer que o objetivo é escalar gradualmente. Ela não precisar começar escalando para o mundo inteiro, mas um caminho seria bom. Um outro detalhe nesse aspecto é que a aplicação é comparativamente particionada: um usuário terá acesso a alguns itens e compartilhará esse acesso com algumas dezenas ou centenas de pessoas. Esses itens possuem moldes variáveis e seriam bom ter flexibilidade na criação do mesmos.

Finalmente, hospedagem é uma questão também. Não necessariamente preço, mas facilidade. Linode é uma opção mas preferivelmente algo que possa ser colocado em alguma coisa pequena e ir escalando conforme a necessidade, no estilo do Heroku (o que limitaria a Rails, claro). Python parece uma boa opção, mas ele precisa de evidências.

E aí, alguém anima a ajudar um pobre compadre em armas? :D

A prática de arquitetura

November 9th, 2009 § 9 comments § permalink

O Lucas Húngaro, que trabalhou comigo na WebCo, escreveu há poucos dias um artigo muito bom sobre a dificuldade de dissociar nomes e funções em projetos de software e sobre sua visão do processo de desenvolvimento e arquitetura. Desnecessário dizer, concordo essencialmente com tudo o que ele diz, com algumas pequenas ressalvas.

O leitor atento do blog deve estar se perguntando agora: mas, há menos de uma semana, você não disse que lidera uma equipe separada de arquitetura onde trabalha agora–isso não é uma contradição? Na verdade, não. Antes de responder a questão, porém, peço que o leitor me acompanhe por algumas considerações.

Como o Lucas menciona eu seu texto, o tópico de arquitetura de software é bastante controverso. De fato, ao longo das quase sete décadas desde que existe algum processo de desenvolvimento, nunca se chegou a um consenso sobre o que esse termo realmente significa. Ano após ano, novos artigos e livros são escritos para explicar o que se entende pela prática e metáforas abundam.

Eu não vou dizer que tenho a palavra final sobre o assunto, é claro. Nos últimos anos, entretanto, eu tenho pensado continuamente sobre o tema, especialmente como uma reflexão sobre o meu trabalho e cheguei a uma conclusão de que minha visão é bastante similar à advogada por Fred Brooks, com algumas pequenas diferenças que refletem minha experiência própria.

Brooks, na palestra que assisti, propôs o seguinte postulado: “Não há tecnologias ingênuas no Ocidente”. O que ele quis dizer com isso é que em qualquer domínio de conhecimento, a faixa de conhecimento e habilidades exigidas é maior do que uma única pessoa pode dominar em um dado projeto.

Ele usou como exemplo o caso de fabricantes de shampoo que usam simulações do fluxo de fluidos viscosos para garantir que as lâminas misturadoras não separem a emulsão de camadas triplas do produto final; adicionalmente, ele também comentou sobre uma fábrica de bolos em que a receita do dia é modificada pela análise química dos ingredientes que chegam a cada dia na planta.

O fato é que esse tipo de especialização de engenharia é uma constante reconhecida mesmo por metodologias ágeis em que a multi-disciplinaridade das equipes é exigida como uma das premissas para o funcionamento do processo.

Por conta disso, Brooks chega à conclusão de que a única maneira de atingir algum nível de consistência e integridade no desenho arquitetural de um sistema é obter uma visão única de como as estruturas devem se comportar no seu nível mais alto: em outras palavras, criar a arquitetura de um sistema.

Em seu livro Computer Architecture: Concepts and Evolution (escrito em parceria com Gerrit A. Blaauw), Brooks define arquitetura de sistemas computacionais da seguinte forma:

The architecture of a computer system we define as the minimal set of properties that determine what programs will run and what results they will produce. The architecture is thus the system’s functional appearance to its immediate user, the conceptual structure and functional behavior as seen by one who programs in machine language.

Eu ressaltei the minimal set of properties porque isso representa uma dos grandes desentendimentos sobre o que arquitetura de software realmente significa e quais são os entregáveis da mesma. Como Brooks e Blaauw apontam, se arquitetura é o conjunto mínimo de propriedades de um sistema, existem outras coisas que, por definição não são arquiteturais e que ainda assim precisam existir para que a implementação suceda.

Nesse sentido, podemos fazer uma distinção bem clara entre a arquitetura e o design de um sistema para entender o desdobramento do projeto de um sistema qualquer. Enquanto a arquitetura existe mais no nível do mapeamento e organização fundamental de um sistema, como entendida através de seus componentes, os relacionamentos entre esses e sua distribuição em domínios de tempo, economia (sim, porque dinheiro também é arquitetura) e escala, o design está mais centrado no domínio de resolução de problemas e planejamento para implementação da solução.

Em outras palavras, a arquitetura é voltada a atingir necessidades de negócio através de blocos maiores de construção do sistema enquanto o design é a disseminação técnica desses objetivos em algoritmos, sub-sistemas e escolhas de implementação.

O que leva à conclusão, por parte de Brooks, e com a qual eu concordo, de que para que se consiga integridade conceitual e estrutural da arquitetura, a figura de um arquiteto-chefe é necessária. Isso é óbvio quando se pensa no negócio como um todo e seus desdobramentos em múltiplas responsabilidades, projetos, sistemas de sistemas e relacionamentos da construção do software em si.

Uma palavra-chave aqui que ajuda esclarecer a distinção aqui é grande porte. Por grande porte, eu quero dizer projetos com um escopo grande ou com grandes características de distribuição. Como Brooks mesmo elabora em seus textos e palestras, se o sistema é pequeno o suficiente, não é necessário que exista uma distinção entre arquitetura, design e implementação. Brooks, na verdade, vai além ao sugerir que o arquiteto e implementador sejam uma única pessoa. Para projetos de porte maior, entretanto, sem uma visão consistente é impossível conseguir a consistência necessária entre as partes.

O arquiteto de sistemas, em outras palavras, é alguém que é capaz de enxergar o projeto com um todo, necessariamente além do escopo de um time qualquer de implementação, mesmo quando o design que esse time está seguindo é auto-contido dentro das premissas daquele time e somente se comunica com externalidades através de protocolos e convenções arquiteturas definidas anteriormente.

Como um exemplo disso, em uma de suas palestras, Brooks menciona uma discussão que ele teve com a pessoal responsável pela arquitetura de sistemas do Global Positioning System (GPS). Esse arquiteto entendia que o sistema como um todo era baseada na interação complexa entre muitos componentes (satélites e outros) e que a moeda corrente entre esses sistema era tempo, dividido em micro-segundos. Ainda mais, o arquiteto via como sua responsabilidade garantir que cada processo conseguisse a fatia necessária de micro-segundos para sua operação–com, como Brooks colocou, bastante micro-segundos sobrando em seus bolsos para resgatar partes do sistema que estivessem em dificuldade.

E isso é o que realmente eu entendo por arquitetura de sistemas. Aos proponentes de arquitetura emergente–tão comum entre praticantes de metodologias ágeis–a implicação é clara: é simplesmente impossível que arquitetura nesse porte, dessa complexidade, venha algum dia a emergir de times separados, trabalhando em componentes próprios, com suas próprias necessidades. Primeiro, por conta da onipresente necessidade de integridade conceitual e, segundo, por conta da degradação de comunicação à medida que o sistema de torna mais complexo e decisões maiores são cristalizada em um conjunto de constraints e especificações–o que Brooks chama de style sheet do projeto.

Volto a Brooks aqui para afirmar o ponto de que um comitê não é um bom lugar para se buscar integridade arquitetural:

Textbook examples of design are almost always “way too simple,” said Brooks. In particular, they ignore the fact that complexity often forces designs to change halfway through, and these changes then involves many other changes. Finally, there is no substitute for “the dreariness of labour and the loneliness of thought”–even though it has been joked that committees are a place where people seek refuge from that.

O arquiteto de sistemas é, em última instância, como Brooks também coloca, um advogado do usuário. Ele advoga pelo usuário em termos funcionais, em termos econômicos, e em termos de escala. Como mostrado na citação acima, o arquiteto de sistemas representa a aparência funcional do sistema para seu usuário imediato, visto pela lente de alguém que programa em linguagem de máquina. E, sim, é um papel técnico.

Para citar Brooks mais uma vez:

Computer architecture, like other architecture, is the art of determining the needs of the user of a structure and then designing to meet those needs as effectively as possible within economic and technological constraints. Architecture must include engineering considerations, so that the design will be economical and feasible; but the emphasis in architecture is on the needs of the user, whereas in engineering the emphasis is on the needs of the fabricator.

Note a diferença em ênfase como colocada por Brooks: arquitetura enfatiza as necessidades do usuário enquanto engenharia enfatiza as necessidades do construtor.

As implicações são bastante óbvias e essencialmente respondem à questão da minha concordância com o que o Lucas disse e com o fato de que eu lidero uma equipe de arquitetura: as necessidades de desenvolvimento são completamente diferentes.

Tirando um exemplo da minha própria experiência, quando eu trabalhava na WebCo, tínhamos apenas dois produtos: Brasigo e BlogBlogs. Por mais complexos que ambos sistemas fossem, suas necessidades arquiteturais eram comparativamente pequenas. Da mesma forma, por mais similares que ambos fossem (aplicações escritas em Rails, virtualizadas, com gargalo em banco de dados, etc), havia poucas conexões arquiteturais para que a figura de um arquiteto-chefe fosse necessária.

E, de fato, pelo tamanho dos projetos, podíamos ter, sem problemas, a figura de um arquiteto em cada time, servindo como líder técnico, ponto focal em discussões entre produtos, alguém como senioridade o suficiente para fazer um papel de mentor para membros mais novos da equipe.

Esse não é o caso em minha posição atual, na Abril Digital. Não só a complexidade dos sistemas é maior, tanto em escala como em distribuição, como a relação entre eles é mais porosa e necessitando de coordenação. Construir um sistema de sistemas constituído de dezenas de sub-sistemas, cada um com suas necessidades, escopo e papel é fundamentalmente diferente de construir um único produto, com limites e condições bem específicos. Não estamos construindo algo do tamanho de um sistema de GPS, claro, mas estamos construindo coisas que possuem necessidades maiores que simplesmente as de um único escopo.

Por conta disso, surge a necessidade de arquitetura como uma colaboração de papéis empregando arquitetos de sistemas e arquitetos de software (chamados de tech leaders internamente) para chegar a um design final coerente.

Isso é ainda mais fundamental em projetos terceirizados que, em um ponto ou outro, precisam se encaixar em nossa infra-estrutura e arquitetura em múltiplos times e instâncias de sistemas. Uma equipe dedicada serve para ajudar nessa coordenação, oferecendo visões do problema. O gap arquitetural é assim resolvido já que existe uma rodovia arquitetural contendo épicos que guiam a quebra de sistemas nas partes necessárias.

Dessa quebra nascem preocupações que podem ser traduzidas no design emergente em cada equipe, contribuindo ao final, para o retorno ao pool arquitetural de conceitos e implementações feitas no ato de descoberta que é o processo de desenvolvimento.

Eu acredito nessa colaboração de papéis como essencial para garantir a agilidade. Citando um dos artigos de Martin Fowler:

This kind of architect must be very aware of what’s going on in the project, looking out for important issues and tackling them before they become a serious problem. When I see an architect like this, the most noticeable part of the work is the intense collaboration. In the morning, the architect programs with a developer, trying to harvest some common locking code. In the afternoon, the architect participates in a requirements session, helping explain to the requirements people the technical consequences of some of their ideas in non-technical terms–such as development costs.

Nesse artigo, Fowler usa uma versão limitada do que Brooks diz para definir um tipo de arquiteto não desejável. E Fowler está correto: usar o argumento de Brooks simplesmente para suportar alguém que simplesmente “toma as decisões mais importantes” não faz sentido.

Isso tudo que foi dito anteriormente não significa, também, que essa arquitetura de sistemas não possa falhar. Ela falha, sim, e algumas vezes catastroficamente. E, na maioria das vezes, a falha pode ser rastreada para decisões que foram tomadas em pontos errados do processo por problemas de comunicação ou de definição de escopo resultado em design inconsistente pelo qual ninguém quer tomar a responsabilidade. A falha, nesse caso, é de todos envolvidos no processo.

Para resumir toda a conversa, considerando que esse texto acabou quase se tornando um ensaio, eu concordo com o Lucas: cada time deve ter o seu arquiteto. Mas acredito também que, para projetos com maior escopo, deve existir um nível mais alto de arquitetura–e por mais alto aqui não quero dizer em termos de uma elite ou de conhecimento mas simplesmente um papel que defina o que é mais alto simplesmente porque tecnicamente, alguém define que esse é o nível mais alto necessário.

Esse arquiteto, dentro do time, é um desenvolvedor sênior capaz de fazer decisões de design em colaboração com seus pares, praticar a mentoria, planejar e executar escolhas de implementação, atuando em conjunto com um time de arquitetos de sistemas que está preocupado com o todo e que não tenta, de forma alguma, forçar decisões de implementação ou design, que busca embasar suas decisões pela velha métrica do running code and rough consensus, que pratica código diariamente pelos meios necessários.

O que significa, essencialmente, que a arquitetura não tem que ser fechada no começo e permanecer imutável depois disso. Ao contrário, precisa evoluir como qualquer outra parte do sistema na percepção do que funciona e do que não funciona. Como Kent Beck diz:

The process of building architecture should have lots of feedback built in and it should be kept simple, because extra elements in the architecture introduce instability and unpredictability. The big difference from current practice is that: “I would stop apologizing for architecting this way,” he says

Espero com esses monte de palavras ter clarificado um pouco a visão do que andei escrevendo aqui nos últimos tempos. Obrigado ao Lucas por fornecer a oportunidade de uma discussão boa como essa–espero que ela continue, por sinal.

Aos leitores que tiveram paciência de chegar até esse ponto, quais são suas visões e comentários sobre o assunto? A caixa de comentários lhes espera impacientemente. :-)

A contagem até agora…

November 6th, 2009 § 0 comments § permalink

Algumas curiosidades sobre este blog:

  • Total de textos até o momento: 1104
  • Total de comentários até o momento: 4402
  • Média de comentários por texto: 3,98
  • Média de textos por mês: 15,77
  • Primeiro texto publicado em: 02 de outubro de 2002, às 22h00m19s
  • Total de caracteres dos textos: 2.454.427
  • Equivalente do texto em páginas: 1.963 páginas
  • Meses com o maior número de textos: Outubro de 2002 (64), Janeiro de 2003 (61) e Janeiro de 2008 (60)
  • Maiores períodos sem textos: Agosto de 2005 a Fevereiro de 2006 e Abril de 2006 a Setembro de 2006
  • Menor texto: O princípio do fim (54 caracteres)
  • Maior texto: Leituras essenciais de ficção científica (40.174 caracteres ou 32 páginas de texto)
  • Texto com o maior número de comentários: A experiência NetMovies com 46 comentários
  • Número médio de leitores dos últimos dois anos: ~1300

Meio inútil, mas divertido. :)

Leituras essenciais de fantasia

November 6th, 2009 § 3 comments § permalink

Continuando no tema de ontem, meu caminho com fantasia foi bem diferente do de ficção científica já que esta era um material muito mais complicado de se encontrar, principalmente para alguém que não tinha acesso ao mercado americano e europeu e estava limitado ao que conseguia achar em bibliotecas públicas.

O primeiro livro de fantasia que me lembro de ter lido foi As Reinações de Narizinho de Monteiro Lobato. Deliciado com a temática, procurei tudo o que poderia encontrar do mesmo gênero e acabei lendo essencialmente toda a obra de autor por meio de uma amiga que tinha uma coleção completa. Além de Lobato, entretanto, o máximo que consegui encontrar foi uma ou outra obra baseada em lendas árabes ou européias. Versões de As Mil e uma Noites e da Canção dos Nibelungos eram o máximo que eu consegui ler até chegar à adolescência.

Um dia, procurando ao acaso na biblioteca pública, encontrei um pequeno volume chamado O Hobbit de um autor que eu não conhecia. Devorei o livro de uma sentada só, impressionado com o escopo do mundo que o autor criara. Fui pesquisar e descobri que Tolkien não só era considerado um dos maiores escritores de fantasia de todos os tempos como também tinha sido responsável por ressuscitar a fantasia moderna. Seu O Senhor dos Anéis era um clássico universal com vendas que superavam basicamente qualquer outro livro já publicado. Demorou algum tempo, mas consegui encontrar os livros em uma biblioteca–como adolescente sem trabalho em não tinha dinheiro nem para consegui-los em um sebo–e li o livro duas vezes em um curto espaço de tempo. E finalmente, quando encontrei O Silmarillion, entendi que aquele seria um dos meus gêneros preferidos.

Apesar disso, meu contato com a fantasia ainda foi bem menor do que o contato com ficção científica até o começo da minha vida adulta. Comecei a ver estilo diferentes e acompanhar novos autores somente quando um amigo americano, que recebia livros de fantasia de sua avó nos Estados Unidos, começou a me emprestá-los ao descobrir que eu compartilhava o mesmo gosto pelas estórias.

Foi então que conheci os grandes nomes que estavam fazendo fantasia na atualidade, com séries épicas e volumosas contando estórias brilhantes sobre mundos onde a mágica era uma constante e uma metáfora tão válida para a capacidade humana quanto a tecnologia. Stephen R. Donaldson, Terry Brooks, Robert Jordan, Terry Goodkind, David Eddings, Ursula K Le Guin (novamente), Anne McCaffrey, Piers Anthony e outros se tornaram companheiros constantes.

Com o tempo, percebi que Tolkien, embora fosse um clássico, não era minha real preferência em fantasia. Eu não sou tradicional e prefiro o tipo de fantasia que realmente estica os limites do gênero. Tolkien, sim, teve o mérito de trazer esse tipo de literatura para o palco com seus livros mas outros também contribuíram tanto quando ele desde então.

Como no texto anterior sobre ficção científica, o que segue abaixo é uma pequena lista do que considero leituras essenciais da área hoje. Novamente, não é uma lista compreensiva e também reflete meu bias em fantasia e o que já li.

Critérios similares aos usados anteriormente se aplicam:

  1. Em sua maioria, os livros foram escritos no máximo há vinte anos, preferencialmente nos últimos dez para trazer à tona o que está sendo feito de bom ultimamente.
  2. Quase nenhum é de autores considerados grandes mestres tradicionais da fantasia. Primeiro, porque a maioria deles escrevia em uma vertente mais clássica. Segundo, porque procurei evitar a produção recente dos que continuam na ativa.
  3. Procurei balancear os grandes sub-gêneros atuais da fantasia, evitando, entretanto um tema que gosto mas que está bem batido: vampiros. Procurei também evitar as séries mais vendidas da atualidade para apresentar material mais interessante.
  4. A maior parte dos trabalhos aqui ganharam os grandes prêmios do gênero mas eu não referencio nenhum dos mesmos.
  5. Como já havia prometido para algumas pessoas também uma lista do que acho interessante no gênero, a lista também indica fortes preferências pessoais.

Como anteriormente, as descrições dos livros evitam ao máximo spoilers mas possuem um pouco da minha visão do que faz o livro é interessante e essencial e por isso podem relevar mais do que devem às vezes. Sinta-se à vontade, portanto, para ignorar as descrições e simplesmente procurar pelos mesmos na Internet.

Mordant’s Need & The Chronicles of Thomas Covenant, the Unbeliever — Stephen R. Donaldson

Stephen R. Donaldson é de longe, em minha opinião, o autor mais poderoso a agraciar a fantasia com seu trabalho. Seu nome é uma exceção às regras acima nessa lista porque o considero não só o maior nome atual em fantasia como o responsável por praticamente tudo o que aconteceu de bom no gênero nos últimos 20 anos. Donaldson fez pela fantasia o que Iain M. Banks fez pela space opera, mostrando que era possível fugir do estereótipo de anões e elfos e criar algo surpreendente, poético e belo. Na época em que Donaldson escreveu seus livros, o mercado era essencialmente dominado pelos livros de Terry Brooks que eram–e ainda são–uma cópia deliberada de Tolkien capitalizando sobre os mesmos temas para atrair leitores. Donaldson mostrou que isso não era necessário e abriu as portas para incontáveis outros autores.

Conheci Donaldson pela primeira vez através do amigo sobre o qual contei acima, e confesso que quase destruí o primeiro livro de sua série sobre Thomas Covenant. Lembro com um nitidez incrível o choque que senti ao ler o sétimo capítulo desse primeiro livro e, quase sem pensar no que estava fazendo, atirar o livro contra a parede, quase quebrando o mesmo em duas partes. Esse é o impacto que o que Donaldson escreve causa em seus leitores–não por ser grotesco ou por apelar para literatura barata, mas por conseguir apertar os botões da nossa humanidade. Ironicamente, Donaldson é pouco conhecido atualmente. Embora seus livros tenha vendido muito bem, ele é tão forte que acabou sendo superado em vendas por literatura mais popular e mais rasa posterior.

The Chronicles of Thomas Covenant, the Unbeliever é uma série originalmente em três volumes que ele escreveu no começo nos anos oitenta. Para não me alongar mais sobre o livro e estragar minimamente as surpresas que ele reserva, basta dizer que o personagem principal, Thomas Covenant, é um anti-herói, literalmente leproso, que se vê as voltas com uma situação que não consegue suportar e que vai além de qualquer coisa pedida a um ser humano. O resultado é brilhante, com um impacto que vai durar anos no leitor, falando profundamente sobre a dignidade do ser humano. A série continuou anos depois com mais três volumes igualmente profundos e Donaldson agora está no meio de uma tetralogia final que completará a estória. Desnecessário dizer, estou esperando cada volume ansiosamente.

Mordant’s Need é outra mostra do talento de Donaldson. São dois volumes que contam estória de uma mulher chamada Terisa que é levada a um mundo em que espelhos são a forma de mágica dominante e onde ela é jogado em meio a intrigas políticas e militares por ser confundida com alguém que pode trazer balanço a esse mundo. Donaldson mais uma vez subverte os clichês tradicionais de fantasia lidando com temas como realidade, poder, inação, identidade e amor de uma maneira adulta e poderosa.

Da mesma forma que com Iain M. Banks, para usar o proverbial exemplo, se eu tivesse que escolher uma série de fantasia para levar para um ilha deserta, os livros de Donaldson seriam a escolha óbvia.

A Song of Ice and Fire — George R. R. Martin

George R. R. Martin é um autor bastante conhecido e seus livros já são numerados nas dezenas. A Song of Ice and Fire é sua maior obra–e ainda incompleta–e uma das melhores coisas de fantasia que eu já li. Embora usando o tradicional cenário medieval como base, Martin dá um ar de frescor aos seus escritos por essencialmente não usar mágica além do mínimo necessário. Como exceção de um ou outro objeto e uma ou outra raça mágica, os livros poderiam ser considerados quase como que história alternativa.

A grande diferença do que Martin escreve está no modo impiedoso e realista com o qual ele trata a estória e seus personagens. Como o título do primeiro livro da série, A Game of Thrones, dá a entender, a estória é sobre a disputa pelo controle de uma nação após a morte de um grande rei. Várias casas, cada um com um propósito diferente, algumas suportado os herdeiros originais do trono, outros suportando anteriores inimigos, se posicionam para batalhas épicas tanto nos campos quanto em salas de espera em castelos. Ao mesmo tempo, dois antigos poderes ressurgem e convergem para o coração desse reino dividido.

Se Robert Jordan é conhecido por quase nunca matar um dos seus personagens–e por geralmente ressuscitar os que matou–Martin é conhecido por não ter o menor dó em eliminar personagens pelo bem da trama. Ao fim do primeiro livro, vários dos personagens principais estão mortos e, pelo quarto livro atualmente publicado, dezenas já não integram mais o rol de caracteres, e vários outros estão em fuga ou desaparecidos.

A única ressalva que eu tenho contra a série é que o quinto volume já está sendo produzido há cinco anos sem sinal de aparecer. Como a série deve chegar aos sete livros, há uma distinta probabilidade que Martin não termine de escrevê-la dado sua idade e seus outros interesses. Mesmo assim, o que foi escrito até agora já é excepcional em todos aspectos.

Perdido Street Station, Scar & Iron Council — China Miéville

China Miéville é um dos primeiros escritores e um dos maiores expoentes do movimento conhecido como New Weird, que combina fantasia urbana, modernista com horror e surrealismo, resultando em livros que geralmente possuem tramas e finais bem diferentes do que se espera na fantasia tradicional.

Definir Perdido Street Station, por conseqüência, é uma tarefa complicada. Mas, seja lá qual for a categoria em que Perdido Street Station se encaixe, o livro leva essa estranheza ao extremo e apresenta o leitor com um dos melhores mundos fantásticos já criados, povoados de criaturas ímpares e complexas cujas vidas e desventuras compelem o leitor, o atraindo e repelindo ao mesmo tempo. Falando em personagens, o título de livro se refere à principal estação de trens da Cidade Estado de New Crobuzon. A cidade, por si só, é uma das figuras importantes do livro, exibindo em uma incrível complexidade e diversidade. A estação é onde o clímax da estória acontece, embora cada pedaço da enorme e decadente metrópole retratada por Miéville tenha seu próprio encanto, por mais esquisita e degradada que pareça.

O enredo do livro é razoavelmente complexo e eu não quero entregar muito para os que pretendem lê-lo. Resumindo, a história é centrada em Isaac Dan der Grimnebulin, um cientista da cidade que é fascinado pelas mais esotéricas questões seja elas da própria ciência, taumatúrgicas ou ocultas. Isaac, enquanto trabalhando em seu laboratório, recebe a visita de uma garuda (uma espécie humanóide com características de aves e capazes de vôo). A garuda faz uma proposição para Isaac, que aceita o projeto com grande interesse. No meio do projeto, alguns fatos inesperados acontecem, resultado da curiosidade insaciável de Isaac, jogando a cidade nas garras de um terror intolerável. Isaac toma então sobre si a responsabilidade de corrigir os seus erros. No meio dessa busca, amigos e inimigos de Isaac se envolvem, cada um com seus alvos e problemas, em uma trama complexa e extremamente satisfatória.

Estilisticamente falando, Miéville consegue literalmente mudar de marcha na narrativa nitidamente a cada momento em que essa necessidade se faz presente. De sombrio e rápido a lento e melífluo, com um vocabulário próprio e agressivo quando necessário, o livro consegue expressa desespero, esperança e uma boa dose de ennui vitoriano que o tornam uma peça de arte.

Scar e Iron Council se passam no mesmo mundo e repetem com bastante sucesso a fórmula original de Perdido Street Station, apresentando outras facetas do universo criado por Miéville e deixando o leitor sempre com a sensação de que mais obras poderiam vir e que nenhuma delas seria um desperdício de tempo.

The Wizard Knight — Gene Wolfe

Gene Wolfe é uma outra exceção às regras acima por ser antigo no gênero (embora mais conhecido por sua ficção científica do que fantasia). The Wizard Knight é um de seus trabalhos mais recentes e uma obra surreal e única em muitos aspectos.

Em The Wizard Knight, Wolfe conta a estória de Able of High Heart, originalmente um adolescente americano que, ao escolher um caminho errado por uma floresta, é transportado a um reino mágico e transformado quase que instantaneamente em um homem adulto de proporções épicas. Able–que é o nome dado a ele por aqueles que o transformaram–torna-se um Cavaleiro e recebe a missão de trazer balanço ao mundo em que ele se vê lançado. Esse mundo, composto de sete camadas, cada uma deles visível da inferior como se fosse o seu próprio firmamento e tendo os habitantes da camada superior como deuses, é uma versão convoluta e espetacular de Faerie recriada por Wolfe para servir seus propósitos. Dragões, aelfs, reis, rainhas, cavaleiros, deuses e deusas, feiticeiros e magos, ogros e gigantes aparecem em igual medida na estória. No meio disso, se encontra também a estória de amor de Able por Disiri, uma rainha Aelf que ajudou em sua transformação por motivos que são vagamente vistos ao longo dos livros.

Contada largamente em primeira pessoa por Able, na forma de cartas, a narrativa é completamente duvidosa e inconstante. Able, que embora tornado adulto, é no fundo um adolescente, conta sua estória da maneira como ela lhe vêm na cabeça, misturando locais, tempos e fatos. Embora a narrativa seja na maioria do seu ponto de vista, algumas vezes Able narra fatos a que não teve acesso a não ser por terceiros e as pessoas e visões da estória se tornam ainda mais estranhas. Em alguns pontos, a própria construção das frases apresenta falhas como se Able estivesse tentando encontrar as palavras apropriadas e se distraísse, criando um efeito vívido e impressionante de estranheza. Mais curiosas ainda são as menções que ele faz de eventos que aconteceram ou vão acontecer, para simplesmente abadoná-los na narrativa–algumas vezes não sendo mais mencionados ou resolvidos em qualquer ponto do livro.

Essas características podem espantar alguns leitores mas são justamente o que tornam o livro tão belo e envolvente. Gene Wolfe consegue quebrar as convenções do gênero e–de fato, da maior parte do que consideramos literatura fantástica–e produzir uma obra excepcional e valiosa.

The Last Light of the Sun & The Lions of Al-Rassan — Guy Gavriel Kay

Guy Gavriel Kay é provavelmente mais conhecido por sua fantasia bem tradicional. Seus primeiros livros podem ser considerados como tendo bebido diretamente na fonte encontrada por Tolkien. Inclusive, ele foi responsável pela edição de O Silmarillion quando esse foi publicado postumamente pelo filho de Tolkien. Apesar disso, incluo Kay na lista por seu trabalho como fantasia histórica. Muitos dos seus trabalhos se passam em reinos ficcionais que lembram lugares e épocas reais de nossa história, tal como a Espanha de El Cid ou a Constantinopla de Justiniano I.

The Last Light of the Sun é talvez o melhor exemplo disse, se passando durante o período em que os Vikings invadiram a Inglaterra saxônica e trata da estória de um jovem Erling (similares aos Vikings) que deseja se provar como guerreiro, da tentativa de seu pai de corrigir os erros de seu passado, da busca de vingança por um jovem príncipe e da necessidade de um rei de tornar o seu país mais civilizado e mais resistente aos ataques que sofre por parte dos bárbaros. O resultado é uma estória de redenção e amor, profundamente evocativa e que mostra de forma convincente a passagem de uma era. Com quase nenhum elemento de mágica, o livro consegue mesmo assim captar o tom fantástico e nostálgico das obras do gênero.

Em The Lions of Al-Rassan (que se passa no mesmo mundo de The Last Light of the Sun mas séculos antes), a narrativa é igualmente evocativa e doce-amarga. Kay consegue mostrar um mundo inteiramente real e povoado por pessoas que você quase consegue acreditar terem existido como figuras históricas. Neste livro, a inspiração vem dos Mouros, no fim de sua época de dominação árabe sobre a península ibérica, e a subseqüente Reconquista. A estória segue a vida de dois homens cujos destinos os colocam primeiro em favor um do outro e depois contra o outro a serviço de seus respectivos monarcas e povos. No meio disso, o destino das mulheres que amam, filhos e aliados tornam a estória inteiramente crível e marcante.

American Gods & Neverwhere — Neil Gaiman

Gaiman é uma unanimidade recente na fantasia principalmente pelo seu trabalho com quadrinhos–especialmente no épico The Sandman. Sua fantasia é poderosa, mítica e expansiva, sendo quase impossível de classificar por essencialmente usar quase tudo o que já foi escrito no gênero, subvertendo e adaptando influências quando necessário para criar estórias convincentes, profundamente mágicas e transformadoras. Eu poderia citar essencialmente qualquer obra do autor para demonstrar esse ponto, mas acho que as duas que escolhi representam, provavelmente, seus melhores trabalhos.

Eu não vou estragar a surpresa de ninguém, contando muito sobre o livro, mas basta dizer que, em American Gods, o protagonista se vê envolvido em uma luta entre os deus antigos da humanidade (nórdicos, russos, irlandeses, egípcios, praticamente todo o panteão do velho mundo faz uma aparição ou outra) e os novos deuses da era moderna (mídia, dinheiro, tecnologia e a misteriosa Agência –que deve existir porque todo mundo acredita que ela existe). Tudo, entretanto, é mais do que parece e Gaiman leva o leitor a uma exploração fascinante da cultura americana vista através dos olhos de um europeu. O resultado é muito interessante, ainda mais quando visto pelos olhos de uma terceira parte. Para qualquer amante de mitologia, o livro é um prato cheio. As referências internas e surpresas se multiplicam em todas as páginas, incluindo sensacionais jogos de palavras que são um prazer de decifrar. O livro é um dos poucos em que eu fiquei impressionado com o cuidado que o autor teve de resolver toda e qualquer trama aberta no livro, por menor que a mesma fosse.

Em Neverwhere, por outro lado, nós temos a estória de Richard Mayhew, um inglês to interior que se mudou para Londres procurando um trabalho melhor e cuja vida pacata e comum parece estar se encaminhando na direção ideal. Seu trabalho é bom, sua noiva é perfeita e tudo está dando certa para ele. Até que, em uma noite, ele topa com uma jovem caída no passeio perto de sua casa. Ele ajuda a jovem, que está ferida e amedrontada, e sua vida se transforma completamente. De repente, ninguém mais o conhece e ele parece não mais existir, exceto para os misteriosos habitantes de uma outra Londres, a Londres Abaixo. Recrutado para uma causa em que ele não acredita, Richard Mayhew precisa aprender a lidar com o perigoso mundo em que se encontra se espera sobreviver por mais do que algumas horas.

É quase impossível não gostar de um trabalho de Gaiman e a única ressalva que eu tenho para com seus livros está nos de fantasia juvenil que sempre me pareceram um pouco mais fracos e faltando o balanço que dá aos seus outros trabalhos o vigor e força fantástica que possuem. Mesmo assim, é impossível não querer ler mais do que Gaiman oferece.

Mistborn — Brandon Sanderson

Brandon Sanderson era um autor relativamente desconhecido–apesar de seus excelentes livros–até que o estado do falecido Robert Jordan o selecionou para continuar a épica série The Wheel of Time. Mas, mesmo sem a fama advinda dessa mudança, Sanderson cedo ou tarde aparecia com força no cenário de fantasia pela originalidade de seus trabalhos. De fato, foi justamente essa originalidade que levou à sua escolhe para continuar a obra de Jordan, mesmo quando o mercado geral ainda não tinha percebido o que tinha em mãos.

Mistborn é o trabalho mais conhecido de Sanderson embora ele seja bem prolífico. O livro não é só bem escrito, com um prosa fluida e bem estruturada, como também lida muita bem com o tema de profecia e o papel do herói. A maioria dos livros de fantasia são sobre como pequenas coisas mudam o destino de mundos inteiros por pré-determinação. Mistborn não cai nessa armadilha e oferece uma boa variação com mudança planejada sobre uma misteriosa falha anterior–um herói que deveria ter salvo o mundo mas o condenou.

Eu também gostei muito do sistema de magia, baseado na capacidade de “queimar” metais para conseguir certos poderes. Uma pessoa dotada dessa habilidade pode ingerir pequenas quantidades de certos metais–doze deles para ser exato–e queimá-los aos poucos dentro do corpo. Queimar aço, por exemplo, permite encontrar outros metais enquanto queimar cobre permite acalmar as pessoas. A parte em que um dos personagens demonstra as suas várias habilidades é muito bem escrita e lembra algo com as artes marciais de The Matrix. E, ao final do livro, o leitor ainda descobre que presenciou, na verdade, três sistemas de magia, todos necessários para a conclusão da estória.

Aliás, esse é um dos pontos fortes da originalidade de Sanderson, criar sistemas críveis e metafóricos de magia que quebram as convenções tradicionais do gênero. Mas, mais do que isso, suas estórias são tranqüilas, bem arquitetadas, divertidas e com uma fluidez que conquistam o leitor imediatamente.

Não li ainda seu primeiro volume de conclusão de The Wheel of Time, lançado há apenas alguns dias mas tenho certeza de que ele trará uma conclusão digna e bem pensada à série.

Vellum & Ink — Hal Duncan

Hal Duncan é um autor pouco conhecido e seus dois primeiros livros, que foram uma única estória provavelmente é para poucos. Demorei um mês para ler e a pancada intelectual foi a mesma relatada pela maioria dos leitores. Duncan está sendo aclamado como um dos líderes de uma nova geração de escritores de ficção fantástica e o livro prova isso. Vellum não é para os fracos de coração. É um livro sem começo, nem fim, em que cada página se desdobra em múltiplas estórias dentro de um multiverso onde Céu e Inferno batalham pela própria realidade. Não dá nem para começar a falar sobre o livro aqui porque ele é complexo demais para ser absorvido em uma única leitura, quanto mais destilado em uma entrada de um blog. O que eu posso recomendar é: pesquisem um pouco do Google e leiam.

Malazan Book of the Fallen — Steven Erikson

Eu fui atraído por essa série, cujo décimo e último volume deve ser publicado no próximo ano, quando vi uma indicação do próprio Stephen R. Donaldson em uma entrevista. E de fato, a série é considerada por muitos o trabalho mais significativo de fantasia desde que Donaldson escreveu seus livros. Como é quase impossível descrever uma série de dez volumes em alguns parágrafos, vou dizer apenas que a estória de passa no Império Malazan e tem uma complexidade e escopo que rivalizam uma enciclopédia sobre o assunto. Embora muitos dos livros da série sejam auto-contidos, os eventos são complicados, aninhados e interligados de tal forma que acompanhar a série é um esforço–delicioso, sim, mas um esforço. Poucos trabalhos atuais conseguem ter a quantidade de intriga, batalhas, personagens, deuses e tudo o mais que uma boa fantasia deve ter. Enfim, vale a pena. Estou nos primeiros volumes ainda e gostando de cada palavra.

The Name of the Wind — Patrick Rothfuss

Patrick Rothfuss é outro autor recém-chegado ao gênero. The Name of the Wind é seu primeiro livro, parte de uma trilogia cujo segundo volume está para ser publicado no começo do próximo ano. Atualmente, é muito raro que eu comece uma série antes que todos os livros tenha sido escritos–motivado, em grande parte, pela quantidade de séries que estou esperando que acabem algum dia–mas essa vale a pena. A estória é fascinante e eu devorei o livro. Só para dar o gosto, um pequeno trecho do mesmo:

I have stolen princesses back from sleeping barrow kings. I burned down the town of Trebon. I have spent the night with Felurian and left with both my sanity and my life. I was expelled from the University at a younger age than most people are allowed in. I tread paths by moonlight that others fear to speak of during day. I have talked to Gods, loved women, and written songs that make the minstrels weep.

You may have heard of me.

Novamente, os livros acima, representam, é claro, apenas uma mínima fração do que está sendo produzido atualmente. Eu poderia continuar citando várias menções honrosas que completam a lista como:

  • The Wheel of Time — Robert Jordan (com ressalvas)
  • The Sword of Truth — Terry Goodkind (com ressalvas)
  • Memory, Sorrow, and Thorn — Tad_Williams
  • Age of Misrule — Mark Chadbourn
  • The Earthsea series — Ursula K. Le Guin
  • The Arjun Chronicles — Felix Gilman
  • The Chronicles of Amber — Robert Zelaszny
  • The Great Game — Dave Duncan
  • The Merchant Princes — Charles Stross
  • E centenas de outros…

Espero que a lista tenha sido de utilidade para alguém. Sintam-se, claro, à vontade para acrescentar outros nomes nos comentários.

Simples complexidade

November 5th, 2009 § 0 comments § permalink

Everything should be made as simple as possible, but not simpler.

— Albert Einstein

Estava lendo hoje o texto do pessoal do GitHub sobre como eles bolaram a arquitetura de suas aplicações para escalar para a enorme quantidade não só de acesso mas também de cenários de uso que a aplicação apresenta.

O texto é um exemplo excelente de como eles conseguiram sinergia arquitetural através da combinação criativa de aplicações proprietárias customizadas especificamente para o que precisam e reuso de sistemas de sistemas para atender cenários diferentes que, no final das contas, convergem para o mesmo padrão de uso.

De fato, o texto todo me lembrou da citação acima de Einstein de como as coisas deve ser simples ao ponto máximo possível mas não mais simples do que isso. Tomada de um ponto de vista bem pragmático, a arquitetura do GitHub é bastante complexa, apresentando dezenas de partes separadas que se falam coerentemente para servir uma única requisição. Eu gosto especialmente de como um uso judicioso de NIH contribuiu para a solução como um todo–uma aplicação bem clara de simplicidade e elegância.

A propósito, é bem interessante também acompanhar os textos da Anchor, que fez a arquitetura da nova solução de provimento do GitHub. Como é fácil perceber nos textos anteriores, a solução foi desenhada a despeito da infra-estrutura existente mas, obviamente, com o objetivo de ser relativamente simples–novamente, tão simples quanto possível–de ser migrada.

Isso é essencialmente o que eu estava falando quando escrevi o gap arquitetural: enquanto, sim, é possível evoluir a solução e deixá-la emergir–exatamente o que o GitHub fez–é virtualmente impossível escapar da necessidade de uma arquitetura específica, planejada, para obter a consistência e integridade desejados.

Em resumo, um caso muito bom para aprendizado.

Leituras essenciais de ficção científica

November 4th, 2009 § 3 comments § permalink

Eu comecei a ler ficção científica há mais de 20 anos atrás, quando ainda estava entre a primeira e terceira série. Meu primeiro livro de ficção científica, se a minha memória não me engana, foi o tradicional Vinte Mil Léguas Submarinas, de Jules Verne–provavelmente o mesmo livro que motivou em milhões de outras pessoas a mesma paixão pelo futuro, ciência e aventura, mesmo sendo um livro “ultrapassado” em muitos sentidos.

Nos anos seguintes, li praticamente tudo que havia na biblioteca da escola e na biblioteca pública de Belo Horizonte no gênero. Isaac Asimov, Robert A. Heinlein, Arthur C. Clarke, George Orwell, Ray Bradbury, Philip K. Dick, H. G. Well, Ursula K. Le Guin, Alfred Bester, Frederik Pohl, Roger Zelazny, Kurt Vonnegut, Stanislaw Lem, David Brin, Joel Haldeman, Clifford Simak, Orson Scott Card, Frank Herbert, Harlan Elisson e dezenas de outros foram meus companheiros em muitas viagens ao redor do Universo e mais.

Eu ainda sou “jovem” o suficiente para dizer que a maioria desses livros já era comparativamente datada quando os li. Em uma época em que computadores e celulares estavam começando a revolucionar o mundo, máquinas movidas a válvulas e circuitos elétricos enormes, naves espaciais sem displays ou HUDs, robôs com circuitos puramente mecânicos e nenhuma manipulação genética já estavam se tornando anacrônicos. Nada isso, é claro, impedia que esses livros proporcionassem horas de diversão e essa nostalgia de coisas futuras que é tão comum ao gênero.

Mas, essa mesma nostalgia, essa saudade das épocas inocentes lendo os mestres e imaginando um futuro talvez muito mais brilhante do que a realidade que chegou deixou muitos fãs do gênero com um gosto meio amargo na boca–lembranças de uma era aparentemente melhor em que a ficção científica era mais pura, mais instigadora e muito mais voltada para o futuro do que é agora.

Talvez parte disso seja verdade. Talvez o passo da mudança tecnológica hoje seja tão forte que é difícil intuir, de um ano para o outro, o que pode realmente acontecer e colocar isso no papel sem o risco de que uma estória já esteja ultrapassada quando for impressa e lida. Talvez também, a decepção de uma idade de exploração que nunca se materializou e que a cada dia se torna mais distante e complicada tenha tirado um pouco o brilho do que antes era uma porta para um futuro em que utopias seriam tão comuns quanto golpes políticos o são hoje.

Mas, talvez, isso seja somente uma falta em perceber o que está acontecendo de interessante no campo hoje e como isso reflete o momento que vivemos, em que a ficção científica se torna mais introspectiva e procura ver as mudanças grandes e pequenas que estão acontecendo no dia-a-dia e como essas mudanças afetam o que fazemos e pensamos e queremos para o futuro–em outras palavras, continuando a fazer o que o gênero sempre mas com um escopo diferente.

O que segue abaixo é uma pequena lista do que considero leituras essenciais na área atualmente. Não é, nem de longe, uma lista compreensiva. Ao contrário, reflete um pouco do meu bias em ficção científica e o que já li–e por isso, para muitos não será realmente essencial. Mas acho que representa um bom corte do campo atualmente e, para quem deseja se aventurar em mundos novos e explorar o que realmente significa ser humano e evoluir, esses livros são uma boa porta de entrada.

Alguns critérios para a lista:

  1. Em sua maioria, os livros foram escritos no máximo há vinte anos, preferencialmente nos últimos dez para trazer à tona o que está sendo feito de bom ultimamente.
  2. Quase nenhum é de algum dos grandes mestres citados acima. Primeiro, porque a maioria deles já morreu. Segundo, porque procurei evitar a produção recente dos que continuam na ativa.
  3. Procurei balancear futurismo com imediatismo.
  4. A maior parte dos trabalhos aqui ganhou os grandes prêmios do gênero mas eu não referencio nenhum dos mesmos.
  5. Como já havia prometido para algumas pessoas também uma lista do que acho interessante no gênero, a lista também indica fortes preferências pessoais.

Mesmo assim, espero que seja de valia. As descrições dos livros evitam ao máximo spoilers mas possuem um pouco da minha visão do que faz o livro é interessante e essencial e por isso podem relevar mais do que devem às vezes. Sinta-se à vontade, portanto, para ignorar as descrições e simplesmente procurar pelos mesmos na Internet.

The Culture — Iain M. Banks

The Culture é uma série de livros por Iain M. Banks sobre uma sociedade utópica pós-escassez, semi-anarquista de várias raças humanóides governadas por inteligências artificias extremamente avançadas. A Cultura, a sociedade título da série, evoluiu em um hiper-poder galático há 9 mil anos e os livros são centrados nos dilemas que a mesma enfrenta em suas relações com poderes similares e com sociedades menos evoluídas. De fato, essencialmente todos os livros tratam não da Cultura em si, mas das interfaces que a mesma tem com o resto da galáxia, especialmente na forma de seus agentes de Contato ou de Circunstâncias Especiais que, respectivamente, são seu serviço diplomática e seu serviço secreto.

Banks prestou à ficção científica um serviço similar ao que Stephen R. Donaldson prestou à fantasia em suas obras. Antes de Banks, a space opera era considerada um sub-gênero menor e de pouco interesse, frívolo até. Com seus livros, Banks mostrou que mesmo a space opera podia explorar idéias enormes e situações intrincadas mantendo ao mesmo tempo a leveza e descompromisso face à hard science fiction. Brincando com estrutura e estilo, os livros sobre a Cultura variam de poético a detetivesco, de entediado a humorístico. Em alguns casos, ele usa justamente o estilo oposto ao esperado para criar, com bastante sucesso, um efeito maior em uma cena–por exemplo, usando descrições prosaicas para cenas grandiosas no espaço e poesia em cenas de destruição em massa.

O pouco que vou dizer não descreve quase nada sobre o que Banks consegue fazer, infelizmente. É preciso ler um dos livros da série para entender a riqueza de situações e caracteres que ele consegue colocar em suas estórias. O brilhantismo, entretanto, fica transparente em enredos como o de The State of the Art, uma coleção de estórias curtas em que a estória título, de mesmo nome do livro, é sobre uma visita que a Cultura fez à Terra nos anos setenta para decidir se deveria ou não interferir em seu desenvolvimento–o tema, como disse acima, da maioria das situações mostradas nos livros. É quase impossível não se encantar com a conclusão da estória e não desejar por um momento que a mesma tivesse acontecido de forma diferente, tal o realismo que Banks consegue incutir no texto. E como não gostar de estórias que tem passagens como a abaixo (para contexto, Arbitrary é uma das naves da Cultura, que é essencialmente uma Mente, uma das AI super-avançadas que controlam a sociedade, auto-suficiente e cabeça real da missão):

‘Also while I’d been away, the ship had sent a request on a postcard to the BBC’s World Service, asking for ‘Mr David Bowie’s “Space Oddity” for the good ship Arbitrary and all who sail in her.’ (This from a machine that could have swamped Earth’s entire electro-magnetic spectrum with whatever the hell it wanted from somewhere beyond Betelgeuse.) It didn’t get the request played. The ship thought this was hilarious.’

Para usar o proverbial exemplo, se eu tivesse que escolher uma série de ficção científica para levar para um ilha deserta, seria esta. Banks é um dos poucos autores cuja releitura consegue permanecer pura com a primeira vez. Seus finais são geralmente surpreendentes e nenhum dos livros é similar ao outro. Em resumo, vale a pena cada centavo gasto nos livros.

A Deepness in the Sky & A Fire Upon the Deep — Vernor Vinge

A Fire Upon the Deep é um livro que me pegou de surpresa duas vezes em seu início. O começo do livro é bastante promissor e oferece a perspectiva de uma space opera clássica, com extremo futurismo e conceitos amplos. Isso já foi uma boa surpresa já que eu não conhecia o autor. Quando o livro se move para um background quase medieval, é possível sentir uma ponta de dúvida por conta da possibilidade que o livro se torne mais um em que a Terceira Lei de Clarke impere. Essa dúvida dura momentos somente até que fica claro que sim, os habitantes do planeta medieval são alienígenas, mas que estão também entre os mais bem pensados e realmente estranhos alienígenas a dar o ar da graça em ficção científica. Essa é a segunda surpresa.

A partir daí o escopo do livro vai crescendo até quase não caber dentro de suas páginas. É quase como se Vinge estivesse deliberadamente tentando fazer o intelecto do leitor explodir diante da sua capacidade de oferecer cenários incrivelmente detalhados e prováveis de um futuro cabível e ao mesmo tempo completamente diferente do que podemos imaginar. De uma Usenet inter-galáctica a zonas de pensamento, tudo é novo e tudo é épico.

Vinge é conhecido no meio científico por dar o primeiro tratamento sólido e popularizar o conceito da Singularidade Tecnológica, um crescimento exponencial da tecnologia em que se chega a um ponto em que é impossível especular sobre as conseqüências ou capacidades além desse ponto. Como Vinge mesmo coloca:

Within thirty years, we will have the technological means to create superhuman intelligence. Shortly after, the human era will be ended.

Como predição tecnológica, isso não se concretizou ainda–e talvez nunca se concretize–mas os conceitos por trás da mesma deram origem a um sem número de especulações e pesquisas e, é claro, estórias de ficção científica das quais Vinge foi um dos primeiros exploradores.

Obviamente, dado que é impossível prever o que acontece depois da Singularidade, estórias que lidam com a mesma sempre acontecem no contexto de pós-humanos, ou seja, humanos que sobraram após a chegada da Singularidade, como é o caso de A Fire Upon the Deep.

A Deepness in the Sky, por outro lado, é uma espécie de prequel para A Fire Upon the Deep. Possui um personagem em comum e um conjunto de temas similar, mas é mais introspectivo, lidando com um cenário de primeiro contato entre uma civilização alienígena e duas facções humanas. O livro começa, também, com uma das mais famosas aberturas do gênero.

The manhunt extended across more than one hundred light-years and eight centuries.

A exemplo do livro anterior, A Deepness in the Sky é recheado de conceitos enormes e reflexões profundas sobre a natureza humana. De fato, o livro explora a tecnologia tanto como uma ferramenta de liberdade com uma ferramenta de controle e escravização, indo, entretanto, muito além de uma simples polarização dessa discussão.

Independentemente desses temas, porém, os dois livros de Vinge estão gravados na minha mente simplesmente pelo incrível sense of wonder que os dois me produziram. Eu consigo me lembrar distintamente de certas passagens e conversas nos livros que causaram essa sensação e que permanecem entre as melhores coisas que já li.

Glasshouse & Halting State — Charles Stross

Stross pode ser considerado, em muitos aspectos, um herdeiro de Vinge no sentido em que suas estórias geralmente são vistas pelo prisma da Singularidade Tecnológica. E de fato, seus livros com essa temática lembram muito os trabalhos de Vinge mencionados acima. Ironicamente, o último trabalho de Vinge poderia muito bem ser considerado como sendo da mesma linha da segunda temática que Stross trabalha, que são as transformações imediatas em nosso mundo pelo que já está acontecendo em crescimento tecnológico. Glasshouse e Halting State são exemplos desses dois temas.

O primeiro explora a evolução de uma sociedade pós-humana espalhada pela galáxia usando wormholes tanto para transporte como para duplicação de matéria, o que permite essencialmente transporte instantâneo para qualquer lugar, dando origem a polities, ou estados independentes com regras extremamente diversas entre si, e existência indefinida, já que a tecnologia de duplicação de matéria permite backups constantes de consciência e transferência de corpos. Nesse meio, está Robin, um orto-humano que remove parte de suas memórias em uma tentativa de se livrar das consequências de acontecimentos traumáticos que viveu em guerras passadas. Ao se ver como alvo de assassinato por razões que desconhece, ele decide se juntar a um experimento para recriar os séculos 20 e 21, cuja estória foi perdida em uma “Idade das Trevas”. O experimento, entretanto, não é de longe o que parece e Robin, agora transmutado em um corpo feminimo, precisa entender o que está acontecendo antes que seja tarde para ela e para os demais integrantes da experiência.

Apesar do enredo aparentemente prosaico, Stross consegue colocar em uma curto quantidade de páginas, reflexões e metáforas para a transformação tecnológica que estamos vivendo, brincando com temas que vão desde protocolos e formatos de dados abertos como forma de preservação de cultura e história até o upload de consciência, tornando a estória não só cativante com um exercício completo em futurologia, impressionante e atual.

Halting State, por outro lado, já é tão próximo do nosso presente quanto se pode desejar em uma obra de ficção científica. O livro começa com um roubo em um jogo MMORPG, muito similar ao atual World of Warcraft, executado por um bando de orcs e um dragão. A investigação do que aconteceu, tratada simultaneamente pela polícia especializada em cybercrimes e pela seguradora, desdobra-se momento a momento em algo mais profundo e potencialmente relacionado a espionagem e contra-inteligência. No meio disso, Stross joga com conceitos que vão desde computação pervasiva e economias virtuais, passando por jogos como forma de instrumentação comportamental e cyberwarfare.

Como nos demais trabalhos de Stross, o futuro é tão imediata que as coisas que ele apresenta em seus livros tendem a acontecer rapidamente na vida real, dando razão a Alan Kay que disse que a melhor maneira de prever o futuro é inventá-lo. Stross é um mestre em entender o que está acontecendo agora e extrapolar isso para os próximos dois ou três anos. Seus livros, com isso, correm rapidamente o risco de ficarem datados mas servem com uma boa balização para o que faz a ficção científica ser grandiosa.

RGB Mars, Science in the Capital & The Years of Rice and Salt — Kim Stanley Robinson

Kim Stanley Robison é, para mim, o legítimo herdeiro de Frank Herbert. Seus trabalhos possuem o mesmo escopo colossal e multi-generacional e o mesmo enfoque ecológico e espiritualizado de Herbert. Seja falando sobre a terraformação de Marte ou tratando de história alternativa, Robinson consegue maravilhar o leitor com a profundidade de sua narrativa e a beleza e poesia de seu estilo.

RGB Mars (Red, Green e Blue Mars), mais conhecido como a Trilogia Marciana, é, para mim, a melhor obra de todos os tempos sobre o planeta vermelho. O livro acompanha o processo de terraformação de Marte ao longo de mais de duzentos anos, começando com a chegada de um grupo de colonos internacionais e terminando com a emancipação completa e virtual finalização do processo de colonização do planeta.

Os duzentos anos acompanhados no livro são uma estória de amizades, intrigas, derrotas, triunfos, amores, ódios, política, ecologia, ciência, pesquisa, economia, psicologia, guerra interplanetária e escala de esforço que deixam o leitor estarrecido pelo detalhe e intimamente envolvido com cada aspecto da vida dos centenas de personagens que Robinson introduz e acompanha, muitos dos quais ao longo de toda a existência dos mesmos. Além do fator humano, existe também a presença constante do próprio planeta, demostrada em uma poesia cujo lirismo não fica nada a dever ao que um Keats faria se estivesse escrevendo prosa.

Algumas passagens do livro são tão introspectivas que o leitor se sente como se realmente estivesse na pele dos personagens. Outros são tão amplas e afastadas que é como se o leitor estivesse vendo tudo de uma perspectiva de centenas de anos depois, quando tudo o que aconteceu quase se tornou lenda e mito. Essa variação faz da obra um épico em todos os aspectos da palavra.

The Years of Rice and Salt é uma extensão dessa capacidade que Robinson demonstra na Trilogia Marciana. O livro é baseado em uma premissa simples: o que aconteceria se a Peste Negra houvesse exterminado 99% da Europa, efetivamente finalizando essa civilização. O que se segue é uma exploração de quase 700 anos da história de um mundo em que China, Islã e Índia disputam a primazia do poder científico e político mundial, em que Budismo e Islamismo são as principais religiões e em que nunca houve uma civilização ocidental propriamente dita.

Robinson utiliza um recurso fascinante para contar a estória, usando o Budismo como foco ao reencarnar os mesmos personagens vez após outra para mostrar a evolução histórica. Sete ou outro personagens, cujas iniciais sempre são as mesmas mas que mudam de nome, sexo e posição social a cada vez que reentram na estória, são usados para refletir sobre cada aspecto do que seria diferente sem a civilização européia no mundo. O resultado é brilhante e igualmente lírico. Um das minhas passagens favoritas, que demonstra esse lirismo, é:

“Here are the miracle signs you want,” he would say in a loud voice, “that you cry through the night and get up at dawn, asking that in the absence of what you ask for, your day gets dark, your neck thin as a spindle, that what you give away is all you own, that you sacrifice belongings, sleep, health, your head, that you often sit down in a fire like aloes wood, and often go out to meet a blade like a battered helmet. When acts of helplessness become habitual, those are the signs. You run back and forth listening for unusual events, peering into the faces of travelers. Why are you looking at me like a madman? I have lost a friend. Please forgive me. Searching like that does not fail. There will come a rider who holds you close. You faint and gibber. The uninitiated say he’s faking. How could they know? Water washes over a beached fish. Blessed is that intelligence into whose heart’s ear from heaven the sound of ‘come hither’ is coming. The defiled ear hears not that sound—only the deserving gets his desserts. Defile not your eye with human cheek and mole, for that emperor of eternal life is coming; and if it has become defiled, wash it with tears, for the cure comes from those tears. A caravan of sugar has arrived from Egypt; the sound of a footfall and bell is coming. Ha, be silent, for to complete the ode our speaking king is coming.”

Science in the Capital, também uma trilogia, é uma interrogação moderna sobre o problema do aquecimento global. Robinson combina Budismo a essa indagação e o resultado, mais uma vez, é um livro profundamente espiritualizado e complemente científico sobre as incertezas e conseqüências da atuação humana sobre a Terra. O escopo não é tão épico como dos livros anteriores, mas demonstra um conforto, uma comfiness para com o leitor que torna a leitura incrivelmente imediata e poética.

Flashforward, Rollback & Calculating God — Robert J. Sawyer

Sawyer, ao contrário dos autores anteriores, raramente vai atrás do épico. Seus livros geralmente são down-to-earth sem a exploração extrema demonstrada por vários outros autores. Isso não desmerece, de forma alguma, seu trabalho. Ao contrário, suas explorações sobre o significado do que é ser humano e da interseção de ciência e religião sempre dão bons resultados, com estórias agradáveis e significativas.

Flashforward, recentemente transformado em uma série de TV pela ABC, começa com um experimento no LHC em Genebra para tentar produzir o Bóson de Higgs. O experimento falha em seu propósito primário mas produz um efeito colateral único e profundo: a raça humana inteira perde consciência por 137 segundos e cada indivíduo experimenta nesse período seu futuro de 21 anos à frente em primeira pessoa. O livro segue então os vários protagonistas enquanto eles tentam entender o que aconteceu, continuar com suas vidas face a tragédias pessoais durante o evento (resultantes geralmente do descontrole de aparelhos e veículo sobre controle humano), e descobrir se o futuro previsto é realmente válido. Os temas de predestinação, livre arbítrio e realidade são amplamente explorados.

Rollback, por sua vez, é centrado em Sarah Halifax, uma astrônoma que decodificou a primeira transmissão alienígena para a Terra 38 anos antes do começo da estória. Quando uma segunda mensagem chega, Sarah, agora com 87 anos, recebe a tarefa de entendê-la também. Um bilionário, detentor de um processo de rejuvenescimento conhecido como rollback oferece o tratamento a Sarah e seu marido para que ela tenha tempo de trabalhar na decodificação sem preocupar-se com sua possível e iminente morte. O procedimento, entretanto, tem sucesso somente para Don, o marido, falhando completamente para ela. A estória lida então com o trabalho continuado de Sarah e as mudanças experimentadas pelo seu marido e as conseqüências para a relação dos dois.

Calculating God, finalmente, começa quando um alienígena pousa em frente a um museu canadense. Ao invés de pedir para falar com as autoridades locais ou qualquer coisa similar, ele deseja ver um paleontologista. Seu objetivo? Obter mais informações que possam demonstrar os meios pelos quais Deus atua no universo. Brilhante em seus questionamentos e uma exploração honesta de religião e da racionalidade, o livro é um dos melhores trabalhos de Sawyer.

É fácil perceber que Sawyer não procura os efeitos e escopo colossais dos outros autores citados até o momento. Mesmo assim, suas obras são relevantes e um exemplo do melhor que a ficção científica pode oferecer hoje em dia.

Blindsight & Rifters Trilogy — Petter Watts

Peter Watts poderia facilmente ser considerado insano pelo tipo de estórias que escreve. Um biologista marinho por profissão, Watts geralmente lida com evolução e genética em seus livros mas de uma maneira capaz de induzir pesadelos mesmo nos leitores mais resistentes.

Blindsight, por exemplo, é essencialmente uma estória de primeiro contato que começa com centenas de micro-satélites queimando ao redor da Terra e tirando um instantâneo do planeta. Quando a origem dos satélites e localizada, uma nave humana é enviada para tentar contato e entender o que aconteceu. O detalhe: a nave é capitaneada por um vampiro, contém um contigente de zumbis pós-humanos como equipe militar e o especialista em contato é um adulto que sofreu uma hemisferectomia para curar sua epilepsia e como resultado é incapaz de se relacionar propriamente com a raça humana. Os conceitos básicos do livro lidam com identidade, cognição, consciência e inteligência e o problema do Quarto Chinês é proeminente nessa exploração.

A trilogia Rifters é igualmente insana, sendo caracterizada por um vírus diferente de qualquer coisa que já se viu na face da Terra, baseado em mecanismos de reprodução e propagação que o tornam impossível de ser detectado ou curado e um conjunto de seres humanos modificados para trabalho direto em profundidades abissais em um futuro bizarro onde países são corporações e política é economia.

Watts é provavelmente o autor que mais me causou uma boa e positiva dor de cabeça com seus livros, forçando uma visão nova e estranha do que o mundo pode ser. Isso o coloca acima de quase qualquer outro autor que está escrevendo hoje e torna seus livros leitura obrigatória para qualquer amante do gênero. E de quebra, todos os quatro estão disponíveis gratuitamente em seu site.

Camouflage & The Accidental Time Machine — Joe Haldeman

Haldeman é o único dos autores referidos anteriormente como clássicos que eu incluo nessa lista por continuar a publicar novidades relevantes para a ficção científica atual.

Camouflage conta a estória de dois seres imortais, presente na Terra a milhões de anos, cuja memória do próprio passado é quase inexistente e a busca dos mesmos para descobrir suas origens através de um misterioso artefato encontrado em uma fossa submarina. O livro é rápido e primoroso em seu desenvolvimento dos personagens e da apresentação de inteligências estranhas à Terra fazendo o seu caminho entre humanos insuspeitos rumos ao seu destino. Se passando em um futuro próximo, com breves incursões ao passado para explicar detalhes da trajetória dos dois seres, o livro conseguiu me manter preso do começo ao fim.

The Accidental Time Machine é um homenagem cheia de humor e bem embasada cientificamente de todas estórias de viagem do tempo que já foram escritas. Quando um assistente de pesquisa do MIT chamado Matthew Fuller inventa sem querer uma máquina de viajar no tempo e descobre que ela somente vai para o futuro, ele se vê jogado para longe de sua época e envolvido cada vez mais em situações que não pode controlar. A leitura é rápida–o livro é quase uma noveleta–mas demonstra o talento de Haldeman em criar situações críveis com pouco esforço.

Eifelheim — Michael Flynn

Eifelheim é simplesmente a melhor estória de primeiro contato que já li. O livro segue as estórias alternantes de dois grupos de pessoas: um historiador da matemática, Tom Schwoerin, que no tempo presente tenta entender porque uma cidade alemã chamada Eifelheim literalmente desapareceu do mapa, com sua esposa física e seu outro amigo historiador; e os habitantes da própria cidade, prestes a ser dizimada pela Peste Negra no século quatorze (fato que não é responsável pelo seu desaparecimento), encabeçada pelo personagem principal do livro, o pastor Dietrich, um homem educado vivendo em um exílio auto-imposto na cidadezinha como um líder religioso.

No meio da estória estão os, a princípio, misteriosos Krenken, que são confundidos com viajantes de uma terra distante e depois se provam muito mais do que isso. A estória intercalada se move pela pesquisa de Tom e seu progressivo entendimento do que está acontecendo (com interlúdios formados pelo desenvolvimento de uma teoria unificada da física por sua esposa), e pela vida comum de uma vila medieval ricamente representada pelo autor, lidando com os visitantes da única maneira que podem entender, mas, ainda assim, com uma sobriedade de pensamento, mostrada principalmente por Dietrich, que é por si só uma visão bem mais interessante da cultura medieval.

O resultado é uma estória belíssima e deliciosa, com um dos mais comoventes finais do gênero. Com ela, Flynn se prova um dos grandes nomes da hard science fiction da atualidade. Uma citação do livro, para completa a descrição:

I know where the path to the stars lies. The gate opened once, a long time ago; and a few wayward travelers suffered a lonely death. Then it closed. But before it did, two creatures reached across an unimaginable gulf and touched. They didn’t flee and they didn’t fight, and because they did not, they left the gate open, just a crack.

Cryptonomicon & The Baroque Cycle — Neal Stephenson

Dizer que Neal Stephenson é brilhante é a mesma coisa que dizer que o sol é uma estrela. Sua obra é ampla e modificou tanto o gênero com criou novos sub-gêneros. Qualquer de seus livros é muito mais do que uma estória de ficção científica ou história alternativa, mas também serve com uma densa exploração cultural e conceitual seja da nossa própria sociedade, do nosso passado ou dos nossos possíveis futuros.

Eu poderia citar Snow Crash e The Diamond Age como exemplo disso mas ambas já receberam suficiente atenção em essencialmente qualquer outra lista do gênero. E, para falar a verdade, eu considero Cryptonomicon seu melhor trabalho.

Cryptonomicon segue essencialmente duas estórias paralelas: as aventuras de um soldado na Segunda Guerra Mundial e um grupo de decifradores de código em Bletchley Park e seus descendentes nos tempos atuais enquanto eles empregam criptografia, telecomunicações e tecnologia em geral para construir um haven eletrônico no Sultanato de Kinakuta para facilitar o uso anônimo de Internet banking para, por trás das cenas, ajudar populações que estão sendo alvo de genocídio. O resultado é uma estória extremamente convoluta, extensa e de enorme escopo e incrivelmente satisfatória sobre o que esses dois grupos fazem em sua participação em eventos históricos e não tão históricos.

The Baroque Cycle, por sua vez, é uma espécie de continuação do trabalho mas se passando alguns séculos antes e acompanhando os ancestrais de vários personagens do livro anterior. Enorme, épico e também merecedor de uma leitura cuidadosa.

Lazy of Mazes, Ventus & Permanence — Karl Schroeder

Karl Schroeder compartilha muitos dos seus temas com Charles Stross, embora seu enfoque seja muito mais da relação psicológica do ser humano com a tecnologia. Para isso ele explora nano-tecnologia, terraformação e, especialmente, realidade aumentada com uma forma de expansão do conhecimento interno do ser humano. Os três livros mencionados acima se passam essencialmente no mesmo universo, embora sem muita consistência entre si.

Ventus combina nano-tecnologia com uma semi-fantasia é algo que poucos autores conseguem fazer. Schroeder não só consegue a proeza, mas cria um mundo referescantemente inovador que se desvia completamente dos estereótipos no gênero. É nesse trabalho que Schroeder introduz o conceito de thalience, que hoje descreve a capacidade auto-organizadora de redes finamente distribuídas embora no livro seja mais relacionada à capacidade de sistemas artificiais de criarem sua própria concepção do mundo adquirindo, por extensão, consciência de si mesmos.

Lazy of Mazes, como mencionado, se passa no mesmo universo de Ventus, embora não seja uma prequel. É uma space opera futurística/pós-Singularidade no melhor estilo possível. Como nos demais livros de Schroeder, a trama é complexa o suficiente para impossibilitar uma descrição simplificada, mas essencialmente é a estória de amigos que perdem tudo o que tem e precisam embarcar em uma jornada para tentar recuperar o que perderam, se envolvendo com um mundo muito maior do que imaginavam existir. Misture isso com um cenário trans-humanista e você tem possibilidades além do que se vê no dia-a-dia da ficção científica.

Permanence, por outro lado, é uma exploração do relacionamento da humanidade com outras espécies inteligentes e capazes de viagens estelares. Schroeder lida com questões como: O que é consciência? Isso é um conceito humano ou será comum a qualquer ser inteligente? Seja como for, seremos capazes de reconhecê-lo em outras espécies? E assim por diante. Embora também seja uma estória de bildungsroman, o livro consegue unir à space opera essas indagações mais profundas.

Pandora’s Star & Judas Unchained — Peter F. Hamilton

Peter F. Hamilton é outro autor capaz de impressionar com suas sagas que se estendem ao longo de dezenas de mundo, décadas de tempo e lidam com dúzias de personagens. Os dois livros acima constituem uma único estória que começa em 2380 quando, após 300 anos de colonização via wormholes, a humanidade se defronta com um mistério celestial: um par de estrelas que desapareceu e supostamente foi envolvido em uma esfera de Dyson. O desaparecimento foi tão súbito que só pode indicar que a tecnologia possuída pelos responsáveis é superior ao que a humanidade possui. E uma pergunta fica então implícita: a esfera foi construída para proteger ou conter alguma coisa? A única opção é construir uma nave e enviá-la para investigar o local.

Ao mesmo tempo, um grupo de humanos de uma organização underground conhecida como Guardians of Selfhood quer provar que a humanidade está sendo dominada por dentro por entidades alienígenas cuja nave caiu em um dos distantes planetas da confederação. O grupo é declarado terrorista e começa a sofrer perseguição ao longo da estória.

Obviamente, as duas tramas vão se aproximando gradualmente à medida que as descobertas feitas no planeta investigado começam a se relacionar com os eventos mostrados pelo grupo terrorista. O resultado é uma estória ampla e satisfatória que lida com os grandes temas já mencionados aqui: identidade, singularidades tecnológicas, pós-escassez, intervencionismo e mais.

Os livros acima, representam, é claro, apenas uma mínima fração do que está sendo produzido atualmente. Eu poderia continuar citando várias menções honrosas que completam a lista como:

  • End of World Blues — Jon Courtenay Grimwood
  • Darwin’s Radio & Darwin’s Children — Greg Bear
  • The Uplift Saga — David Brin
  • Incandescence — Greg Egan
  • Spin & Axis — Robert Charles Wilson
  • The Yiddish Policemen’s Union — Michael Chabon
  • Doomsday Book — Connie Willis
  • Hyperion — Dan Simmons
  • E centenas de outros…

Espero que a lista tenha sido de utilidade para alguém. Sintam-se, claro, à vontade para acrescentar outros nomes nos comentários.

O gap arquitetural

November 3rd, 2009 § 0 comments § permalink

Desde que comecei a trabalhar com uma forma ou outra de metodologias ágeis, um dos assuntos que sempre me causou reflexão foi a questão de como lidar com arquitetura em um ambiente ágil. Obviamente, eu não sou o único que se questiona sobre isso: a discussão em torno de Big Design Up Front é tão velha quando a própria indústria. Existe uma polarização imensa sobre o assunto e é bem raro encontrar alguém que tenha desenvolvido alguma idéia que se encaixe no meio do caminho.

De fato, proponentes de metodologias ágeis geralmente gravitam em torno do que se comumente denomina design emergente, ou seja, a criação e concepção de conceitos arquiteturais–especialmente os não funcionais–ao longo do processo de amadurecimento da própria solução.

Duas coisas me levaram a repensar sobre o assunto nos últimos dias.

A primeira foi participar de uma palestra dada por ninguém menos do que Fred Brooks. Brooks é um dos autores mais influentes sobre a questão de arquitetura e design e eu sempre tive uma concordância forte com seus pontos de vista, especialmente no que tangem à necessidade de centralização de arquitetura como fonte de integridade conceitual em uma solução. O Mítico Homem-Mês toca profundamente nesse questão–de fato o livro pode ser considerado uma coleção de ensaios em torno desse tema–e Brooks sempre volta-se para essa necessidade de design arquitetural prévio para garantir soluções sólidas.

A segunda coisa que me levou a pensar sobre o assunto foi um tweet de Brian Foote, reportando da OOPSLA:

When we extol the benefits of architecture emerging in agile, we are really saying developers are better architects than Architects. #oopsla

Foote, conhecido pelo seu trabalho com Joseph Yoder, Big Ball of Mud, em que descreve a estruturação impensada de sistemas resultando em algo impossível de manter e impossível de se confiar, está correto em sua avaliação.

É claro que, nesse ponto, muita gente deve estar pensando que eu sou um elitista, que, de uma forma ou outra, considero arquitetos melhores do que desenvolvedores. Meu cargo atual pode até dar a entender isso–sou um gerente de arquitetura e engenharia de software na empresa onde trabalho–mas esse não é caso.

De fato, se eu tivesse hoje que me descrever em um currículo, eu teria bastante dificuldade de me conceituar em uma categoria qualquer. Eu poderia colocar que sou um desenvolvedor, já que faço isso. Também poderia colocar que sou um arquiteto, igualmente válido para o que faço. Poderia recorrer aos tradicionais programador ou analista de sistemas. A verdade é que sou tudo isso.

Para mim, um arquiteto não é alguém que atingiu um estado de santificação tal que pode abandonar os conturbados e lamacentos meandros da programação e recolher-se em sua torre de marfim para dispensar sua sabedoria sobre as massas menos iluminadas. Antes, tenho certeza de que a maioria dos meus colegas que se descrevem como arquitetos concordariam que arquitetura é mais uma questão de atuação e experiência do que de grau ou de talento nato. Eu não trabalharia com um desenvolvedor que não fosse capaz de responder por sua arquitetura e também não trabalharia com um arquiteto incapaz de codificar um algoritmo qualquer. Tentar extrair uma coisa da outra seria uma violação das premissas.

Voltando ao ponto, é justamente aí que entra a figura que Brooks descreve, o arquiteto-chefe que, por experiência, treinamento e sensibilidade adquiridos na prática, é capaz de guiar um sistema à integridade conceitual necessária para o seu bom desenvolvimento.

O que resolve, finalmente, para mim, a questão de emergência em metodologias ágeis. Eu acredito que, sim, deve haver arquitetura propriamente dita em qualquer projeto, mesmo os que subscrevem a metodologias ágeis e acho que isso nunca esteve fora da visão dos criadores das mesmas. Antes, essa é uma visão equivocada do que deve ou não emergir dentro das mesmas, que é a solução em si.

Arquitetura, por definição, é algo que precisa ser feito antes até um certo ponto, mesmo que depois sofra as mudanças necessárias por sua própria evolução gradual. Ela não pode ser estática–exceto em circunstâncias especiais que normalmente quase nenhum desenvolvedor encontrará ao longo de sua carreira–mas também não pode ser completamente ad hoc já que isso seria pouco mais do que pensar apenas no que está imediatamente adiante, sem se preocupar com os temas maiores que podem afetar o trabalho.

Em última instância, a arquitetura então não é necessariamente emergente: a solução o é. E por solução aqui, eu entendo o conjunto completo representado pelo produto, sua arquitetura, seu desenvolvimento e sua transição em produção. A responsabilidade de um arquiteto é traduzir o backlog, ou seja qual for seu equivalente, em temas conceituais que possuem integridade em conjunto e que levam a um desenvolvimento das características do software a seu tempo e com as suas necessidades atendidas.

Esse é um gap que fica claro na maior parte da discussão sobre arquitetura e metodologias ágeis e que precisa ser tratado mais freqüentemente pela literatura e seus proponentes.

Para finalizar, essa é apenas uma visão rápida do que tenho pensado nos últimos tempos sobre o assunto. Espero ter deixado minha visão um pouco mais clara do que estava em discussões passadas aqui no blog. Como sempre, comentários e discussões adicionais são sempre bem-vindos.

Where am I?

You are currently viewing the archives for November, 2009 at Superfície Reflexiva.