Ronaldo
Ronaldo Desenvolvedor, pai, cidadão do mundo.

Você está estudando errado

Você está estudando errado

Em um tempo no qual a documentação dos sistemas era árida e não havia a internet para se consultar, era comum ir fuçando num software, ou sistema, ou linguagem até conseguir aprender como fazer as coisas. Naquela época, no entanto, tudo era mais simples: os computadores eram mais simples, as linguagens e bibliotecas eram rudimentares e o mundo era mais fácil.

Atualmente, com computadores mais complexos e com o emaranhado de frameworks que existem no mercado, sair fuçando para descobrir como algo funciona é o método menos eficiente que existe. Você eventualmente vai aprender, mas ao custo de muito tempo. Provavelmente quando você estiver dominando aquilo que está funçando, a tecnologia já terá ficado obsoleta.

Isso é verdade particularmente com os frameworks. Os frameworks são complexos em sua grande maioria pois procuram entregar simplicidade ao programador. Porém, são criados em cima de abstrações que exigem o estudo pormenorizado do seu funcionamento através de documentações para que se possa utilizá-los com facilidade no dia-a-dia.

Por exemplo, o Cocoa Touch é um framework formidável. É um dos mais simples que eu conheço. No entanto, é preciso entender os conceitos sobre os quais foi construído e é preciso ler muita documentação para usar seus serviços prontos. Quer um exemplo? Certa vez eu analisei um código feito por um terceiro que precisava ordenar um conjunto de dados que estava em um vetor (array para os mais chatos). O programador escreveu um algoritmo complexo que não funcionava direito pois não ordenava, mas classificava os itens de acordo com a primeira letra. Se ele tivesse lido a documentação, teria encontrado a forma mais simples de fazer isso: sort descriptors e o método sortedArrayUsingDescriptors, que fazem parte do Cocoa Touch. Na verdade, existem diversos métodos prontos para fazer isso, sendo que o sortedArrayUsingDescriptors é apenas um deles (o meu favorito).

A pressa em entregar o software de qualquer jeito faz com que alguns programadores ignorem a documentação por julgarem que estão perdendo tempo. Na verdade, estão ganhando tempo pois estão aprendendo a usar o framework da forma como foi projetado para ser usado. Tentar substituir algo que já existe no framework por uma rotina própria é ruim em vários aspectos, mas é assunto para outro artigo.

Fuçar não funciona mais justamente por que hoje o desenvolvimento de software está baseado em frameworks e ferramentas cada vez mais complexas. O fato é que essas coisas não são necessariamente intuitivas, sendo que algumas ferramentas e frameworks são construídos por sobre abstrações absolutamente artificiais. Assim, você acaba perdendo tempo precioso fuçando.

O fato é que todo framework é ricamente documentado. A documentação é, além disso, acessível e disponível para quem quiser. Exemplos? A Apple e a Microsoft permitem acesso ao seu acervo de documentações gratuitamente. Isso é feito para simplificar a adoção das plataformas que cada empresa vende no mercado.

Existe muito material disponível, que vai desde documentos em hipertexto até vídeos instrutivos, aulas, cursos, etc.

Está esperando o que para começar a estudar?

Happy coding!