Já publicamos aqui na MenosFios uma entrevista feita ao Amarildo Lucas, ou Amaury se preferirem, em que o mesmo fala um bocado de si e do seu trabalho. Amaury é estudante de Engenharia informática, auto-didata, e programador, o que nós não sabiamos é que ele era também uma pessoa que adora partilhar as suas ideias e os seus pontos de vista no Medium, que é uma plataforma de publicação de conteúdo.
Artigos escritos de uma forma descontraída a interessantes chamaram a nossa atenção e pedimos ao Amaury que nos desse a autorização de partilhar os seus pensamentos com o pessoal que lê o nosso site o qual respondeu “os artigos podem ser publicados” na MenosFios.
Vamos a isso então e vamos ver o que escreve o Amarildo, ops, Amaury… 🙂
___________________________________________________________________________
Parece estranho dizer “comece a programar com um projecto”. E de facto é. A contrariedade é que se estamos a aprender a programar numa nova linguagem, nada sabemos sobre ela, então não temos os recursos para desenvolver nem um simples projecto.
Mas espera aí… e se já programamos em alguma outra linguagem?
Normalmente quando já programamos numa linguagem temos diversos conceitos que se repetem noutras linguagens, tal como tipos e estrutura de dados, fluxos e laços, funções, blocos, classes e módulos, etc. Provavelmente poderá haver diferenças em diversos aspectos, mas haverão mais semelhanças nos ítems indicados.
Então comece com um projecto.
Quando eu comecei a aprender sobre Ruby On Rails, eu já tinha diversos conhecimentos sobre programação em linguagens como Java e php, então muitos conceitos se repetem. A grande vantagem foi aprender muito mais sobre rails do que ruby, pois em ruby devido ao conhecimento de outras linguagens de programação foi mais uma questão de adaptação e sintaxe do que propriamente aprendizagem do zero. Lógico que haverá pontos específicos que fazem toda diferença entre as linguagens.
Quando você tem uma idéia você faz o levantamento de recursos do que precisa para realizá-la. De uma forma simples fazemos uma especificação. Uma simples especificação dum aplicativo que finalizei agora é:
Criar um aplicativo que lista os filmes em cartaz, as notícias mais recentes sobre cinema e os filmes a estrear.
Levantamento de dados (tabelas e relação entre dados) e design foram os passos seguintes.
Algumas perguntas quase que são automáticas. Como eu iria consumir os dados no aplicativo cliente? Criarei um serviço web, mas e a API? Faz sentido Oauth? Entre outras perguntas que na fase de desenvolvimento fazem todo sentido.
Meu ponto de vista é que em vez de você ir lendo vários livros e não obter resultado algum, você pensa na idéia, cria a especificação, faz o levantamento de recursos e busca os livros que te ajudem a cumprir estes objectivos. Faz uma relação entre os capítulos necessários para te ajudar a cumprir determinada tarefa.
Parece um aprendizado superficial não?
Em princípio pode parecer isso, e você vai encontrar uma série de dificuldades mas vai conseguir resolver elas. A cada passo ou tarefa realizada você está aprendendo algo sólido, necessário e constructivo para seus projectos futuros.
Mas estou pulando vários conceitos e capítulos do livro?
Bom! Seu livro é um livro dentro das áreas de tecnologia, você pode ler ele como lê um romance, mas você não deve ler ele como lê um romance. Antes use ele como quando você consulta uma pessoa para perguntar algo ou tirar uma dúvida ou ler sobre algo que precisa. Você também pode ler capítulos menos necessários em algum tempo livre para aumentar seus conhecimentos, mas em produção use-o simplesmente como seu material de consulta.
Você está entendendo aonde quero chegar?
O aprendizado não será superficial, muito pelo contrário será escalável. Você terminou seu pequeno projecto, comece outro aumentando o nível de dificuldade, à medida que você termine cada projecto pequeno para sua aprendizagem você ganha experiência em diversos aspectos não só relacionados à programação mas como o ambiente de desenvolvimento em si. Ou seja desde o ambiente de desenvolvimento, testes até produção. Você estará a aprender muito mais do que simplesmente seguir um livro lhe ensinaria. Relacionar capítulos com mesmo tema de livros diferentes lhe dará uma perspectiva mais sólida e madura.
Bom! Pegou meu ponto de vista?
Finalizei meu primeiro aplicativo iOS seguindo esta metodologia e acredito que resulta perfeitamente, pois antes dele já havia criado outros projectos pequenos, o que comprova a teoria de ganhar experiência nos diversos ambientes desde o desenvolvimento à produção.
Comece aprendendo com seu projecto.
___________________________________________________________________________
Este texto foi publicado pelo próprio Amaury no Medium e republicado aqui com a autorização do autor. Vale a pena lembrar que este projecto que Amaury faz referência no texto foi realmente finalizado, chama-se Cinyur e nós fizemos uma revisão aqui na MenosFios que podem ler aqui.