Postagem em destaque

Código Limpo: Nomes Significativos

Imagem
Às vezes fico com um assunto na cabeça por semanas, até achar uma situação ou um exemplo que esclareça a situação. Explico: estava querendo já a algum tempo escrever sobre boas práticas de programação, e pensei em iniciar por "Nomes Significativos", para seguir a nomenclatura utilizada pelo ótimo livro Código Limpo , de Robert C. Martin.  Entretanto, ficava sempre amarrado em exemplos que pareciam ser bons, mas que ainda eu não tinha visto a utilidade prática.  Antes de continuar preciso explicar que tenho um hábito de anotar num bloco de papel todas as ideias que surgem, pois elas desaparecem com a mesma velocidade que aparecem. Para isso tenho um bloco e caneta na mesa de cabeceira (além de um no banheiro), pois esses são os lugares onde tenho mais ideias... Vai entender... Semana passada, estava com um problema bem complicado e tive uma ideia: "vou criar uma variável para indicar que quando um arquivo tiver um certo tamanho deve gravar algumas informações no log. Pois

Como aprender a programar

Estava assistindo um vídeo do Fabio Akita, "A Dor de Aprender | Que Cursos/Livros" e em determinado momento, ele falou sobre os microcomputadores antigos, da década de 80, como o TK95. E logo depois ele pergunta: "Como pessoas como eu, quando criança, conseguimos aprender a programar num ambiente muito mais hostil do que hoje em dia?". Isso me fez lembrar do meu início como programador, em 1985, mesmo ano que comecei a surfar. Já explico o que o surfe tem a ver com isso.

Como ele mesmo diz, naquela época as máquinas eram extremamente limitadas. Perto de agora, a situação realmente não era fácil: não existia internet, poucos livros e cursos, e principalmente não existia o Github. No máximo, algumas revistas como Micro Hobby e Micro Sistemas. 


O meu primeiro computador foi um TK2000 e ele vinha com um manual que ensinava o básico do Basic (isso soou estranho). Meu pai também sabia um pouquinho: ele criou um programa que escolhia um número aleatório e você tentava adivinhar qual era o número, com base no retorno do programa, que informava se o número que você digitou era maior ou menor que o escolhido. 

E como eu consegui aprender? Basicamente não tive muita opção: tentativa e erro. Eu vejo aprender a programar como aprender a surfar. Sei disso porque aprendi as duas coisas na mesma idade e minha base, nas duas situações era a mesma: eu gostava mas não sabia nada antes de começar. Para aprender a surfar, não tem jeito, você vai cair. Faz parte do processo. Em programação é a mesma coisa. O fato de você ficar de pé na prancha, não quer dizer que você surfa. Em seguida novos desafios surgem e você começa a aprender algumas manobras, a dropar ondas maiores.

Com o tempo você passa a dominar a linguagem e começa a aprender outras. No meu caso, depois do Basic, passei para o Assembler 6502. Com isso consegui fazer alguns projetos bem interessantes, como o contador de voltas para meu autorama. Eu desmontei um joystick, e deixei o fio no meio da pista. Assim toda vez que o carrinho passava pelo local, contabiliza as voltas e dava a velocidade média. Isso fez muito sucesso entre meus amigos.

Programa Assembler para produzir som no TK 2000

Cansei de ver a pessoa que recém fez um curso de programação falar algo do gênero: "Agora vou pegar um projeto do zero que é mais fácil". Como você espera criar um projeto do zero se nem conhece a linguagem direito? Hoje em dia temos o Github com milhares de exemplos de bons códigos. Baixe, entenda, modifique, enfim: tente, quando errar, aprenda e tente de novo. Não tem jeito, não é fácil. No pain, no gain.

Mas depois que você aprende uma linguagem é muito mais fácil aprender outra: já programei ou programo em 17 linguagens. Diria que é ordens de grandeza mais fácil depois que você já programa. Mas atenção: eu disse aprender e não se tornar um especialista.

No meu caso, há uns 2 anos comecei a aprender Go porque um colega de trabalho comentou alguma coisa sobre concorrência em Go. Me interessei e resolvi me aprofundar no assunto por conta própria. Alguns meses depois, participei de uma reunião e soube que a empresa tinha interesse em migrar alguns sistemas (ou parte deles) para Go. Como eu já conhecia a linguagem, fui chamado para o projeto.

Se eu puder dar uma dica: programar é ser autodidata. Além disso, é preciso estar sempre se atualizando, comprando livros e estudando.

Saiba mais:

https://www.akitaonrails.com/2019/10/23/akitando-65-a-dor-de-aprender-que-cursos-livros

https://www.paradoxofinal.com.br/2017/06/faca-o-simples.html

https://www.paradoxofinal.com.br/2012/08/computador-na-sala-de-aula.html

https://www.paradoxofinal.com.br/2011/04/para-quem-nunca-viu-um.html

Comentários

Postagens mais visitadas deste blog

Netflix não mostra ícone de streaming

Google Hacking

FTP não funciona no PHP