sábado, 1 de outubro de 2016

Como começar a programar e a entender o que você está programando

Aprender a programar é literalmente aprender uma nova linguagem. Só tem uns detalhes: não tem conversation e se você escreve errado o seu interlocutor, a máquina, vai te dar uma resposta das mais cabalísticas possíveis. Daquelas que só os iniciados entendem.

Mas não é bem assim.

Vencer os primeiros semestres é essencial, pois uma vez que as linguagens começarem a fazer sentido na sua cabeça as demais linguagens fluirão sem maiores desafios.

Em média, um estudante de engenharia leva de 6 meses a um ano e meio pra realmente ver aqueles textos fazerem sentido de verdade.

A prática, óbvio, é o caminho para a salvação, mas se você não estiver se adaptando ao material visto em sala, sempre temos alternativas:

  1. Tente um livro. Embora seja verdade que as revoluções na computação sejam muito velozes, os fundamentos são sólidos. Temos um novo paradigma de programação para a internet a cada 4 ou 6 anos, mas o modelo de funcionamento de um computador moderno está consolidado desde os anos 60, e as linguagens fundamentais encontram-se padronizadas e revisadas desde os anos 80. Um livro vai lhe ajudar a pegar o jeito neste aspecto.
  2. Faça cursos extracurriculares. Programação não é abordada no currículo padrão do MEC e você não é culpado por isso. Mas não precisa ficar no prejuízo. Se não puder gastar ou simplesmente não quiser um curso presencial, há alternativas boas online
  3. Forme grupos de estudo ou junte-se aos grupos de estudos da sua faculdade/universidade. Lembre-se, estamos aqui pra compreender algo que já estava acontecendo antes de chegarmos aqui, então nada melhor do que se juntar ao amigos que já estavam na festa pra saber o que é que é bom.
Definida uma estratégia,existem certos requisitos que vão evidenciar que você está indo bem no aprendizado da linguagem escolhida (ou imposta em sala, às vezes acontece) e o método de aprendizado selecionado:

  1. Dado um computador qualquer, você sabe como montar um ambiente de desenvolvimento. Coimo?! o que é isso? De modo simples, são as ferramentas necessárias para produzir código e executá-lo (ou compilar e executar, varia de acordo com a linguagem). Esse passo é valioso porque mostra que você sabe quais são suas ferramentas de trabalho e como utilizá-las.
  2. Você domina ao menos uma estratégia de input/output de dados. Pode ser via linha de comando inclusive. Aliás, não se sinta obrigado a dominar o uso de interfaces gráficas em sua primeira linguagem. Dizendo de um modo diferente, é nessa primeira linguagem que você tem que ficar íntimo de um terminal, uma linha de comando.
  3. Você domina totalmente todas as estruturas de controle: condicionais, laços, funções. Se a linguagem possuir suporte, saltos, classes, interfaces, traços, mixins, monads... o que houver, muito embora alguns deles demandem um grau de abstração que pode levar um tempo pra fazer sentido.
  4. Você domina bem as estruturas clássicas de dados: listas, coleções, mapas e árvores. Praticamente todas as linguagens imperativas precisam dessas estruturas, estas ideias, para produzir coisas realmente úteis. Afinal a grande sacada da tecnologia é ser capaz de processar um volume alto de dados em pouco tempo.
  5. Você domina um modo de persistir, recuperar e manipular dados. Serve arquivo binário, banco de dados, arquivo xml ou json. Salvar em banco de dados requer conhecimentos adicionais em sima de um sistema de gerenciamento de banco de dados, o que é considerado um plus no caminho para desenvolver aplicativos "do mundo real".
Em resumo, na primeira lista você tem os meios e na segunda as formas de medir o quanto você já sabe.

Uma das maiores dificuldades é justamente saber o que é que realmente você já sabe, e com isso você já fica uns passos adiante na sua caminhada de ser "O Super Profissional das Galáxias".


Nenhum comentário:

Postar um comentário