O que deve saber um programador – nível zero?


 

Semana passada eu comentei do que acho que é necessário que um programador nível básico precisa saber, enquanto escrevia pensei que para chegar ao nível básico o aspirante precisa passar por um caminho inicial até chegar no ponto de começar a aprender o que vai torná-lo enfim um programador nível básico.

Então sem mais delongas vamos listar os passos necessários para percorrer esse caminho:

  1. Estude introdução a algoritmos – nesse tópico não estou falando de algoritmos sofisticados e sim da primeira etapa onde aprendemos a fazer pequenos algoritmos em pseudo-linguagem ou portunhol que geralmente descrevem os passos para fazer um bolo. Entenda como descrever os passos para resolver um problema de forma estruturada e lógica.
  2. Saiba lógica matemática – sim a boa e velha tabela verdade, é necessário entender como funcionam as relações lógicas. Principalmente AND, OR e NOT.
  3. Estude uma linguagem de programação – usando o manual da linguagem, aprenda as palavras reservadas, os comandos e blocos de construção de programas. Usando Java como exemplo temos a seguinte lista:
    1. Tipos de dados – int, long, short, byte, char, float, double e boolean
    2. Operadores – +, -, *, /, %, <, >, <=, >=, !=, == e alguns outros
    3. Estruturas de decisão – if e switch
    4. Estruturas de repetição – for, while e do/while
    5. Declaração de métodos (ou funções se fosse em C)
  4. Faça muitos exercícios – uma coisa que as pessoas demoram a entender (ou aceitar) é que programação precisa de exercício, o programador precisa ser capaz de entender o problema em termos de construções básicas que fazem parte da linguagem com a qual trabalha. Precisa ser capaz de expressar a solução com essas construções e quanto mais programamos mais rapidamente identificamos quais serão os itens que expressarão a resposta. Uma estratégia que estou pensando que pode funcionar (tive essa ideia pensando na forma como estudamos música) é refazer os programas que já foram feitos várias vezes, não estou falando de escrever o programa copiando, e sim de resolver os mesmos problemas várias vezes adicionando um ou dois novos problemas por semana, aos poucos ganha-se mais experiência e mais confiança na resolução de problemas.
  5. Aprenda a escrever claramente – sim, a interpretação de texto e a capacidade de descrever a solução do problema de forma clara são fundamentais na vida de um programador.
  6. Aprenda a usar a entrada e saída via teclado – isso é importante para podermos começar a fazer programas com os quais o usuário pode interagir, programas que vão solicitar por exemplo que o usuário informe um número para cálculo, ou um conjunto de números para fazer uma média, e é claro será necessário imprimir pelo menos no console o resultado do processamento.
  7. Entenda o que é um endereço de memória – em Java não podemos manipular diretamente a memória do computador, mas em C podemos indicar um endereço que queremos acessar, mesmo assim, Java tem variáveis de referência e precisamos entender o que essas variáveis fazem e para que são usadas.
  8. Aprenda a criar e usar tipos abstratos de dados – o programador pode criar seus próprios tipos de dados para organizar melhor seus programas e isso pode ser feito agrupando os tipos básicos da linguagem em novos tipos. Nas linguagens orientadas a objeto, como Java, esses tipos de dados são criados em classes, já nas linguagens estruturadas, como C, usamos structs.
  9. Aprenda a fazer um loop de aplicação – as aplicações profissionais costumam continuar executando até que o usuário escolha uma opção para encerrar o programa, isso pode ser feito, por exemplo, colocando um laço que só termina quando o usuário digita um valor específico. Enteder como criar esse mecanismo, mesmo em uma aplicação que não tem interface gráfica ajuda a desenvolver muito a habilidade de programação.No nível zero de programação eu costumo trabalhar com programas que tem interface baseada em caracteres, também chamadas CHUI (CHaracter User Interface). Neste modelo, imprimimos um pequeno menu texto e ficamos lendo o que o usuário digita, interpretamos a opção, e se ela for válida executamos a ação correspondente, senão imprimimos uma mensagem para o usuário.

Acredito que isso seja o necessário para “passar de faixa” saindo assim da faixa branca :)

Leave a Reply