Um dia com jQuery e pausa para reflexão
Querido diário, sou eu, Doug Funny
Demorei pra criar vergonha na cara e programar JavaScript. Eu já devia saber PHP há uns 2 anos quando realmente tive coragem pra tentar entender o que era aquela linguagem que eu só sabia copiar e colar dos programas de terceiros. Deve ter sido em 2006 que eu passei a programar JS com certa regularidade, chegando a várias horas diárias. Nem por isso posso dizer que compreendo bem essa linguagem, agora que estou voltando a utilizá-la mais seriamente em um projeto Rails.
Em 2006 a minha falta de compreensão de JavaScript era remediada pela utilização da biblioteca Prototype. Para os não-iniciados, essa é uma das várias bibliotecas que surgiram recentemente para: tornar o JS mais amigável; esconder as incompatibilidades entre as diversas implementações de JS nos diferentes navegadores (Firefox, IE, Opera, Safari etc.) e facilitar o uso de Ajax e de animações.
Durante 2006 e 2007, portanto, Prototype era, pra mim, a última bolacha do
pacote. Callbacks pra cá, callbacks pra lá. O método each dentro do
tipo Integer. Uau! Modificar os tipos primitivos da linguagem. Demais!
Parece Ruby! Eu achava isso tudo muito legal. Talvez realmente seja,
mas tive que pagar o preço por esse longo encantamento.
O primeiro preço a pagar foi passar muito tempo amarrado à idéia de que Ruby era a linguagem dos (meus) sonhos. Passei muito tempo sem investir em outras linguagens. Eu me considerava um mestre do PHP até então, e pensava que seria um profissional realizado apenas quando pudesse ser pago pra escrever código Ruby (e hoje, que sou, não vejo as coisas dessa forma).
Voltando ao Prototype: no meio de 2007 me desliguei do laboratório onde fazia programação web diariamente, e passei o resto de 2007 sem escrever praticamente nada de JS. Claro, enferrujei legal.
Mas nesse meio-tempo eu estava concluindo meu TCC. A idéia inicial dele era construir
uma aplicação Rails para resolver um problema específico. No final
meio do caminho vi que não ia dar, que era muita coisa, e mudei o foco da parte prática
do projeto: analisar frameworks web. Foi aí, e só aí, que saí do meu mundinho vermelho
escuro do Ruby para programar Python (e Django). E acabei gostando. Era uma outra abordagem
para fazer as mesmas coisas que eu podia fazer em Ruby. Não, a falta de endss não
incomodava, e a indentação obrigatória não era problema. Ruby também não passou a ser feio
depois disso (ok, PHP continuava feio) - mas o encantamento havia acabado…
Indo para o final da história: de fevereiro pra cá precisei fazer programação web novamente, e voltei a usar JS, e com ela Prototype. O que fiz? Dá-lhe copiar meu código antigo, daquela época de 2006/2007. Mas nos idos de maio comecei a achar estranha a popularidade de outra biblioteca JS concorrente, o jQuery. A primeira vez que vi o jQuery achei completamente estranho, o “avesso de Prototype”, eu pensei. Bom, não era nada disso. Continuei a estudar (apenas ler slides e documentação, sem colocar a mão na massa), mas não tive coragem de tentar uma migração de código.
E chegamos ao dia de hoje: a quantidade de código JS do meu projeto atual ainda não chegou em 100 linhas. Eu não gosto de escrever código JS, tenho medo das conseqüências. Mas desta vez estou me sentindo confiante (ou talvez tenha perdido a noção do perigo, é verdade). Hoje resolvi reescrever essas linhas de JS/Prototype que eu tinha em jQuery. E fiquei espantado com o resultado. Sim, foi um resultado muito positivo. Se alguém me dissesse, meses atrás, que eu gostaria tanto do jQuery hoje, certamente não daria o menor crédito.
A idéia de contar a minha pequena história com o JS é alertar aos programadores que chegam aos 20, 25, 30, 40 anos achando que manjam tudo só porquê conhecem 95% da linguagem X: há muito mais além da linguagem X do que o seu nariz empinado e sua visão embaçada o deixam ver. Procure outras abordagens. E se aquela aplicação maravilhosa que você deseja escrever possui uma biblioteca meia-boca na sua linguagem favorita, mas uma biblioteca excelente naquela linguagem que você nunca quis aprender? Que caminho você toma? Acho que essa resposta diz muito sobre onde você está na profissão, e onde você quer chegar.
Em vez de optar por uma especialização prematura em uma tecnologia, acho que vale a pena tentar o caminho da especialização sob demanda. É o que venho fazendo, e sei que venho aprendendo muito mais do que na época em que seguia a outra abordagem. Os dois caminhos tem vantagens e desvantagens, então, claro, é de cada um tomar essa decisão. A grande maioria das pessoas opta pela especialização prematura, pois é o caminho que rende resultados visíveis no curto prazo.
Nos próximos dias pretendo diminuir a quantidade de posts curtos e escrever um ou dois artigos longos sobre o jQuery, em especial comparando-o com o Prototype, quando possível. Vou rechear os artigos com referências e tentar não repetir o que outras pessoas já disseram. Se tiver coragem de mudar, fique ligado!

August 18th, 2008 às 9:27 am
Artigo interessante.
Vou acompanhar seus posts, até pq tbm tenho olhado outras tecnologias como forma de mudar minha abordagem sobre as mesmas.
Abraços.
August 18th, 2008 às 9:33 am
Valeu, Fabio
Espero não desapontá-lo. Os primeiros sobre jQuery devem sair até sexta.
Abraço