Temos um novo colunista para o site! O Fábio Akita!!!
O Akita é autor do blog BalanceOnRails e também do livro “Repensando a Web com Rails”, a ser lançado em outubro/2006 . Pra quem não sabe o que esperar de um livro sobre Rails com mais de 500 páginas, essa entrevista pode lançar algumas luzes. O Akita explica até mesmo o que você pode esperar encontrar no livro.
Continuando a tradição do “nerd que é nerd faz entrevista por e-mail ou Skype”, segue a entrevista feita por e-mail em 2006-09-18.
Em uma palavra eu resumiria como “curioso”. Acho que minha principal característica é a curiosidade, a procura, a pesquisa. Acredito que não existe nada que não valha a pena aprender ou pelo menos tentar entender. Um grande e sábio amigo já me definiu como “prolixo” (falo demais) e isso acho que todos perceberão agora e também no livro. Não sei até onde é um defeito mas sempre acho que tudo precisa ser bem explicado. Não gosto de meias palavras e meias intenções. Talvez seja uma consequência do meu background de exatas (fiz Ciências da Computação na USP).
A respeito da minha pessoa física, sou um paulista de 29 anos que adora São Paulo e toda a trilha de entretenimento que ela nos proporciona. Sou um grande amante de bons filmes (vocês podem me ver nos grandes lançamentos no Kinoplex) e bons livros (finalmente li 1984 e recomendo). Mas não há nada melhor do que sentar em um bom bar na Vila Madalena, no fim de uma sexta-feira, para trocar idéias com os amigos, entre um drink e outro, ou apenas sair para beber e conversar tranquilamente na excelente companhia da minha esposa.
Tecnologia é uma paixão antiga. Me lembro de quando brincava no MSX Hotbit do meu primo, aos 10 anos de idade. Com 12 anos ganhei um desses cursos de informática que te ligam e dizem “só precisa pagar o material”. Brinquei de Basic mas depois de dois meses, achei o curso muito fraco e decidi que nunca mais faria um curso. Aos 13 meu pai me deu meu melhor presente: um micro XT topo de linha, com incríveis 1Mb de RAM e 20Mb de HD! Com DOS, Basic e dBase. Daí por diante fiz valer meu perfil autodidata, que meus pais sempre incentivaram. Devorei livros de dBase III, Clipper e fui fazer bicos junto com um tio que sempre foi analista de sistemas. Daí por diante uma coisa foi puxando a outra. Pascal, C, Delphi, Java, Python, Perl, PHP, C#, VB, etc. De alguns trabalhos que participei alguns provavelmente se lembrarão do hPG (hoje do iG) e da PSN (que tinha os sites do Corinthians e Cruzeiro—e não, eu não torço para nenhum time). E finalmente agora, Ruby e Rails.
Lembro-me de um episódio de quando eu devia ter cerca de 12 anos. Naquela época uma das novidades era o Macintosh original, lançado em 1985. A Disney lançou uma revista em quadrinhos, com todos os seus personagens, com o professor Pardal e Ludovico explicando didaticamente toda a história da computação. Foi onde li pela primeira vez sobre nomes tão ilustres como Charles Babbage, Konrad Zuse e tecnologias inovadoras para a época como o Eniac. Foi onde ganhei gosto pela História da Computação, que revisitei diversas vezes nos últimos 15 anos e que se faz presente no meu livro também.
Essa é a pergunta que não quer calar. E não é por falta de tentativas. Até agora já temos diversas tentativas diretamente baseadas ou não em RoR. Grails, Castle, CakePHP, Catalyst, etc. Obviamente, cada qual dirá que sua alternativa é melhor.
Mas isso não importa. Como escrevi no post “Evolução pela Concorrência”, no meu blog, essa é a engrenagem que nos leva continuamente a soluções melhores. Rails não é um pioneiro, não é uma revolução, não é a maçã de Newton. Rails é a evolução, o resultado de um processo que começou muito antes, com tecnologias como Zope, Struts, Zend, Spring, J2EE, ASP.NET.
David Hansson, apesar de alguns o acharem apenas arrogante, é uma pessoa inteligente. No sentido de que subiu nos ombros desses desbravadores do passado, pegou as partes bonitas, ignorou o que achou sujo e empacotou de uma maneira agradável, simples e prática.
Ruby era um gigante adormecido. Alguns não sabem, mas Matz criou essa linguagem mais de 10 anos atrás. É da mesma geração do Java, mas um pouco anterior. Da mesma forma, pegou inspirações semelhantes, subindo nos ombros de outros gigantes como Smalltalk, Eiffel, Python, Perl, C++. Alan Kay e Bertrand Meyer ficariam orgulhosos.
Eu sempre digo que foi a frustração dessas duas pessoas, Matz e David, que causou um encontro feliz entre Ruby e Rails. Cada qual trazendo respostas a suas frustrações particulares em soluções que imaginaram como melhor. Poderíamos ter visto um “Ruby on Spring” ou um “Python on Rails”. Mas por circunstâncias difíceis de aferir, ganhamos a excelente combinação Ruby on Rails. Matz nunca imaginou essa utilização. Eu mesmo conheci Ruby lá por 2000 mas naquela época ainda não tinha a visão do que viria a ser. Só posso dizer que foi a combinação que historicamente mais tem chances de dar certo.
Estou na Balance desde 2002 e me tornei amigo do Fabio Tavares, o presidente. Ele é uma pessoa dinâmica, de grandes idéias e personalidade forte. É um empreendedor. Quando falei de Rails, no começo do ano, posso dizer que, literalmente, ele arregalou os olhos. Para a grande maioria das empresas de fato ainda é muito cedo para falar em grandes investimentos em Rails. Na medida do possível a Balance tentará entrar nesse mercado e, se for preciso, começar a trilhá-la sozinha. É uma longa caminhada.
Neste momento estamos com algumas estratégias mas nada que ainda possa ser discutido publicamente. O primeiro passo que a Balance tomou foi patrocinar o livro. O tipo de clientes para os quais prestamos serviços não são todos desbravadores. Uma tecnologia tem que se provar por mais de 2 anos, no Brasil, para que comecem a prestar atenção. Uma das coisas que tentaremos será agir como um catalisador, tentando diminuir esse tempo. Rails existe desde 2004 lá fora, mas até agora o Brasil, enquanto mercado, ainda não olhou para essa alternativa com seriedade. Esperamos mudar isso. Primeiro espero que os programadores olhem para o mundo e para a tecnologia. Um mercado de tecnologia não existe sem técnicos.
Ha ha, de fato. Foi uma idéia inusitada que tive de uma hora para outra. Quando o livro ainda estava em revisão, pensei em como poderia ser a capa. Lembrei-me das diversas capas de livros como as Sams, onde seus autores aparecem em fotos preto-e-branco na capa mesmo. Lembrei das fotos tradicionais, pequenas no fim da contra-capa.
Me considero uma pessoa de hábitos conservadores mas idéias não tão ortodoxas. Também sou um grande fã de computação gráfica desde que vi apresentações da Siggraph em 1995. Infelizmente ainda não dediquei tempo a programar nisso. Gosto muito da técnica de Cell Shading, desde 2000. Além do mais agora está para sair o filme “A Scanner Darkly”, baseado na obra homônima do mestre Philip K. Dick que utiliza a técnica de rotoscoping, dando um efeito semelhante ao Cell Shading em CG. Acho que “imagem” que me veio à cabeça foi isso.
É assim que eu costumo pensar: acumulo informações durante muito tempo e às vezes elas se cruzam e me dão uma idéia. Ora, por que colocar uma foto tradicional em um livro com tema não tradicional? Abri meu Photoshop, apliquei meia dúzia de filtros e deu esse resultado. Me agradou não por ser bonito ou agradável, mas por ser assim meio chocante, meio transgressor, meio fora do comum. Finalmente pensei: ficará melhor ainda se for quebrado ao meio. Acho que já vi alguém fazendo algo parecido. E voilá, temos uma capa tradicional na frente e algo inusitado atrás. Espero que as pessoas entendam a idéia do “Repensar”.
Vamos lá, mais uma resposta longa. Meu livro é uma amálgama. Uma grande mistura que espero ter conseguido organizar. Por um lado o objetivo principal seria apenas “ensinar Rails”. A maioria das pessoas traduz como “sequência de procedimentos”. Como disse no meu blog, sou um pouco contra isso. Claro, essa é a forma mais prática principalmente para programadores experientes, que tem bases sólidas. Mas para a grande maioria, apenas procedimentos é um pouco limitante.
Como disse antes, sou um grande fã da História da Computação. Apesar de não ser especializado em História, gosto de entender quais foram os fatores no passado que nos levaram a ser como somos hoje. Somos parte de um processo. Para entender o futuro precisamos buscar o passado. Por isso dediquei boa parte do livro a explicar as coisas em vez de apenas mostrá-la. É o primeiro livro que escrevo por isso ainda não tenho certeza se consegui equilibrar as coisas, espero que sim.
A outra parte da mistura se refere às técnicas e procedimentos propriamente ditos. Meu livro preferido é o “Agile Web Development with Rails”, de Dave Thomas. Na mesma época li os betas do “Rails Recipes” de Chad Fowler e depois o “Ruby for Rails” do mestre David Black. Claro, eles me influenciaram mas evitei ao máximo copiá-los. Porém, utilizei muito material que encontrei pesquisando a Web. Hoje em dia é possível escrever um livro inteiro apenas com a Internet, isso é incrível. Os próprios comentários no código-fonte do Rails, deixadas pelo Core Team, foram de excelente valia. Os rodapés das páginas parecem um bookmark de tanta URL mostrando as fontes originais.
Diferente de Dave Thomas tentei não focar tanto em fazer um aplicativo completo. Eu mostro o esqueleto de um aplicativo e o uso como “sandbox” para demonstrar diversas técnicas. Diria que é uma mistura do estilo sequencial de Dave Thomas com os trechos de código de um livro de receitas como de Chad Fowler. Não quis fazer apenas o básico, por isso tenho um capítulo com plugins que não vem com o a distribuição oficial do Rails, como o Globalize, que acho importante.
Mongrel com certeza foi um assunto que fui muito feliz de antecipar. Comecei a escrever o livro aproximadamente no dia 17 de abril e terminei lá para 14 de junho. Foi depois disso quando comecei a ver um movimento maior na blogosfera em torno do Mongrel e de que provavemente venha a substituir o Webrick no Rails 1.2. Zed Shaw foi muito atencioso me deixando usar uma entrevista que ele havia feito para a O’Reilly. Novamente, em vez de apenas mostrar como se instala Mongrel (que precisaria de apenas meia página), parei para mostrar como Zed chegou ao Mongrel.
Também me antecipei a explicar alguns conceitos de REST e fiquei feliz em saber que David está trabalhando justamente em uma simplificação para Rails baseada em REST para a próxima versão (leiam os posts sobre simply_restful e simply_helpful no meu blog).
Um capítulo que gosto muito é sobre a SAP, principalmente porque é o meu mundo hoje. Não me restringi apenas a explicar como utilizar o plugin de Piers Harding mas também dou uma boa introdução a todos que não conhecem a cultura e o mercado SAP. Mesmo quem não trabalhar nesse mercado encontrará um bom background.
Finalmente, a colaboração dos próprios Matz e David em suas entrevistas exclusivas devem ajudar a fechar esse pano de fundo. Aprender uma nova tecnologia vai muito além de decorar a sintaxe. Sem entender sua cultura é muito difícil tirar o máximo proveito do que ela nos oferece.
Com tudo isso acho que fica mais fácil justificar porque o livro precisou ser editado em formato grande e com mais de 500 páginas. É uma longa leitura mas pelo menos não me arrependerei de ter negligenciado informações. Para falar a verdade o livro poderia ter sido muito mais extenso, mas aí seria impraticável.
Haha, já tive uma bicicleta e também já casei. Assim como tudo na vida meu livro não é o começo e também está longe de ser um fim. Ele é mais um resultado positivo. Alguém muito inteligente já dizia que “se você trabalhar naquilo que gosta de fazer, não estará trabalhando”. De fato, tirando alguns eventuais estresses, meu dia a dia está longe de ser uma rotina. Nunca precisei bater ponto, me justificar o tempo todo. Todos os meus chefes sempre foram meus amigos e sempre me deram liberdade de buscar coisas novas. O Tavares é bom exemplo.
Eu não tenho um objetivo fixo mas tenho algumas direções. Com certeza num futuro próximo estarei fazendo o possível para ajudar a tornar Rails uma alternativa viável. O livro nunca foi escrito para que eu ganhasse dinheiro. O próprio David disse em uma entrevista que escritores de livros técnicos não ganham a vida com livros. Isso me inspirou e por isso mesmo abri mão dos meus direitos autorais. O objetivo desse movimento foi tornar Rails acessível a todos os programadores brasileiros. Eu sei que, infelizmente, os programadores brasileiros não tem o hábito de ler material em inglês. Um mercado sem mão de obra é inviável. Se tudo der certo gostaria de passar meus próximos cinco anos, pelo menos, usando Rails. Esse sim seria meu próximo ganha-pão.
Um ano passa rápido. Parece que foi ontem que David abriu o repositório do código do Rails. E Rails já vai fazer três anos. Em um ano aconteceram duas RailsConf oficiais. A O’Reilly, a Pragmatic Programmer publicaram diversos livros excelentes. O interesse por Ruby cresceu mais de 1500%, segundo a O’Reilly. A IBM e a SAP ainda não estão investindo mas estão dando apoio institucional e credibilidade à tecnologia.
O movimento mais quente está acontecendo, como sempre, no eixo América do Norte/Europa/Ásia. Em breve começará o eixo do Equador: ano que vem a Índia estará olhando para Rails na Ruby Índia 2007. Para quem não sabe, os indianos são a maior mão de obra de tecnologia da década. Com gigantes como a Tata, Wipro, Infosys, Satyam e outros, muito trabalho de codificação migrou para a Índia nos últimos anos, barateando muito a hora/homem de desenvolvimento e deixando muitos programadores desempregados nos Estados Unidos, principalmente. Muitas empresas brasileiras silenciosamente começaram a olhar para o mesmo caminho.
Ruby on Rails tem o appeal de tornar o tempo gasto com “mão de obra pesada” (o que chamamos de “heavy lifting”) menos importante, desviando o tempo do desenvolvedor para onde realmente importa: na qualidade do produto final, cumprindo as expectativas, requerimentos e, principalmente, o orçamento do projeto. Com ou sem marketing, a afirmação do David, de que gastou apenas dois meses para criar um aplicativo do calibre do Basecamp, chama muito a atenção. Dizem que hoje não se fabrica mais uma camisa nos Estados Unidos: toda a produção foi para a China. É o que chamamos de Offshore Outsourcing. Em breve ouviremos alguém dizer “não se faz mais uma linha de Java nos Estados Unidos, foi tudo para a Índia”. Espero que essa moda não chegue tão cedo ao Brasil. Recomendo o livro “My Job Went to India”, de Chad Fowler para entender melhor esse contexto.
O mundo da computação passou por diversas fases marcantes. Os microcomputadores nos anos 80, o downsizing e a divisão em três camadas do começo da década de 90, as tecnologias Web no fim do século e agora a era da produtividade, agilidade e processos dinâmicos. Não é a toa que empresas como Weblogic e IBM Rational começaram a investir com seriedade em tecnologias dinâmicas e ágeis como PHP. Também não é à toa que a Sun contratou os engenheiros do Strongtalk e do JRuby. Não é à toa que a Microsoft começou a falar em linguagens funcionais como seu F#. Service Oriented Architecture (SOA) seria apenas mais um termo a ser esquecido se não fosse seu forte appeal de produtividade e dinamicidade. Isolados, esses fatores não seriam nada, mas todos ao mesmo tempo são indicadores fortes da direção do mercado para a próxima década. Ruby on Rails está na frente como o melhor representante da Era Ágil para o desenvolvimento Web.
Onde estaremos em outubro de 2007? Se fosse um profeta chutaria que por essa época já teríamos assistido à Ruby India 2007, RailsConf US 2007, RailsConf EU 2007. Estaríamos usando as novidades do Rails 1.2 e antecipando o que estaria por vir no Rails 1.3 em 2008. Provavelmente estaríamos lendo que o Ruby 2.0 está próximo de sair e que o YARV (compilador de bytecode para Ruby) já é muito usável. A Sun estaria anunciando JRuby 1.0 integrado com JEE 5. Provavemente estaríamos vendo soluções prontas para criar aplicativos JRuby on Rails + EJBs surgindo na alphaWorks da IBM. O conceito de RESTful estaria mais solidificado no dia a dia de desenvolvimento, fortalecendo os conceitos de Ajax e Web 2.0. A SAP estaria incorporando as melhorias do RadRails ao seu Netweaver Developer Studio, se tornando a primeira solução oficial de mercado, compensando por ter sido a última a embarcar no Java. Mongrel 1.5 estaria consagrado junto com Capistrano 2.0 como as melhoes opções de deployment e gerenciamento de produção.
Essa foi fácil, mas o que eu gostaria de ver mesmo até outubro de 2007: alguns aplicativos significativos feitos em Rails no Brasil ganhando notoriedade, se tornando cases de sucesso. Quem sabe primeiro em algum projeto governamental? A comunidade Rails ganharia peso e se tornaria uma alternativa viável para o mercado. Revistas de Ruby on Rails começariam a ganhar as bancas. Mais livros seriam lançados. Primeiro as traduções de clássicos como “Desenvolvimento Ágil Web com Rails”? Depois mais autores nacionais lançariam livros avançados. Estaríamos percorrendo, em 2007, o caminho que os Estados Unidos já percorreram em 2006. Algumas faculdades começariam a adotar Ruby como primeira linguagem no primeiro semestre dos cursos de Ciência da Computação, Engenharia de Software e Sistemas de Informação. Talvez em outubro de 2007 estaremos conversando sobre trazer Martin Fowler, Chad Fowler, David Hansson, _why e outras personalidades para palestrar sobre Rails no nosso World Trade Center, na primeira RailsConf BR oficial.
O futuro é o que fazemos, acho que essa direção parece boa, o que acham?
Todos os diretos reservados a RubyOnBr. Copyright RubyOnBr .
This site is powered by Radiant CMS.