Papo Sério: Como começar (ou voltar) a estudar programação [PARTE 1]

Papo Sério: Como começar (ou voltar) a estudar programação [PARTE 1]

  • Jul 17, 2020

Nesta pandemia você deve estar vendo uma galera por aí falando que programar é fácil e que você ganhará milhões de reais depois de inventar próprio “Uber de alguma coisa” porém a vida não é fácil. E as coisas que vem fácil nem sempre são boas. Então eu decidi fazer essa postagem para auxiliar aqueles que precisam ou querem aprender a programar. Então continua sentado aí e pega seu copo com água (Bebam bastante água pessoal!) ou xícara de café e leia o texto abaixo.

Como eu comecei

Bem, eu comecei a programar nos meados de 2012. Eu comecei brincando com Python mas foi tudo uma ironia porque eu não sabia bem o que eu queria e talvez porque ninguém me apresentou a ideia de um “uber de alguma coisa” como estão fazendo por aí recentemente. Então peguei tudo que eu sabia sobre Linux e comecei a estudar Python usando o man(Para quem não sabe. man é um programa que possibilita você ler o manual de qualquer outro software instalado na sua distribuição) do Linux. Minha primeira tentativa foi criar uma página dinâmica usando Python com CGI e adivinhem só ?!? Foi um fracasso enorme!

Primeiro eu me frustrei porque me faltava conhecimento para isso. Usar CGI é para poucos. Aliás! ouso ainda dizer que é para quem sabe do que está fazendo! e segundo que você desenvolver algo usando o Apache tendo pouco conhecimento de como ele funciona é pedir pra dar errado.

O que eu quero dizer é que programar não é fácil como andam falando nas redes sociais e comerciais do Youtube. Programar envolve um processo como um todo e não vai ser em duas semanas, dois anos ou 10 anos que você vai aprender a programar, Isso vai de você e como você vai levar a sério programação. Não existe data limite para aprender! e tendo noção disso você irá entender que programar não é o fim do processo mas parte do desenvolvimento de um produto ou conceito.

Como aprender a programar

Eu encaro isso como uma questão complicada quando alguém pergunta porque todos os seres humanos possuem processos diferentes de aprendizado. Então o que vou colocar aqui tem mais a ver o “caminho das pedras” do que a fórmula secreta de como aprender a programar e aquilo que eu acredito depois de ver tantos meios que acho bizarros por aí.

Lógica de programação ou Programação lógica ?

Lógica de programação é uma matéria que todo estudante universitário tem nas faculdades. Porém… Há algo engraçado nessa matéria! Ela não se chama lógica de programação de verdade. Na verdade o nome verdadeiro dela deveria ser Programação Lógica e programação lógica não é uma matéria, é na verdade uma das várias matérias que deveria ser estudada por quem gosta de programação… Isso acontece porque em programação temos um conceito fundamental chamado Paradigma. As linguagens que usamos são baseadas em paradigmas e não em “lógica de programação”. É por isso que se diz que quando você aprende uma linguagem como C, C++ ou Python, você aprende outra linguagem facilmente. Não é porque elas são semelhantes mas sim seus paradigmas que são imperativos! E aqui entra a contradição ou engano de que lógica de programação não existe e que muito menos as linguagens de programação como C, C++ e Python são lógicas. Aliás… A única linguagem de programação lógica é Prolog e isso é um assunto pra outra hora no blog. Eu recomendo fortemente vocês lerem sobre paradigmas de programação. Paradigmas são a base da programação e tudo que está relacionado as linguagens em si. Se o seu foco é linguagens como C, C++, Python(Opa! Essa é multiparadigma), JAVA, JavaScript(Também é multiparadigma!) você deve entender como é o comportamento de uma linguagem imperativa, orientada a objetos e funcional. Assim você vai entender como a linguagem se comporta diante de um “espectro” pré estabelecido com base nos seus recursos!

Entenda algoritmos

A coisa mais importante depois de aprender sobre paradigmas é aprender algoritmos. Isso porque algoritmos são a parte complexa de programar. Normalmente você fica limitado ou perde a paciência e cabeça aqui. Algoritmos não estão limitados as linguagens apenas. Você pode usar algoritmos para qualquer coisa, seja um cálculo matemático ou resolver problemas de forma automatizada. Você deve entender eles porque são a base de máquinas de estados finitos e programas são nada mais que máquinas de estados finitos. Algoritmos são essenciais para o desenvolvimento de softwares e por fazer parte de um conjunto de estudos para desenvolver softwares mais inteligentes e mais eficientes

Tem mais coisa ?

Tem sim! Mas vai ficar para outra hora. Em breve eu vou postar a segunda parte deste texto e vou explicar mais sobre linguagens, conceitos e recursos que você pode usar para aprender a programar e entender melhor como é essa coisa de ser garoto de programa.. Opa! Programador!