Programação de computador
De forma simplificada, a programação de computadores é uma maneira de fazer com que os computadores executem diferentes tarefas. É um processo de escrever um conjunto de instruções (também conhecido como código) que uma máquina pode entender e fazer com que as siga. O objetivo final pode ser resolver uma equação matemática, automatizar uma tarefa chata ou criar uma página da web, um software, um aplicativo móvel ou um jogo completo. A programação de computadores requer habilidades técnicas e pensamento criativo. Alguns chamam de ciência, alguns chamam de arte.
Para ter uma visão completa do que é programação de computador, precisamos destacar dois pontos na definição: "fazer os computadores executarem tarefas" e "escrever um conjunto de instruções que uma máquina possa entender". Vamos falar sobre as instruções primeiro.
O que são linguagens de programação?
Então, como você pode escrever este conjunto de instruções? Pense em um computador como seu amigo estrangeiro. Ele não entende nenhum idioma, exceto o idioma nativo e precisa de descrições muito simples e claras de cada ação que você deseja que ele realize. Por que essa última parte? Bem, imagine que seu amigo estrangeiro (computador) é um viajante do tempo vindo do século XII e, por isso não sabe nada sobre nada.
Seguindo essa lógica, você não pode simplesmente dizer ao seu computador para "ligar para Carlos da contabilidade". Você precisa descrever cada ação que este pedido inclui:
- Pegue o telefone
- Aperte o botão para ligar a tela
- Deslize o telefone para desbloqueá-lo
- Abra o aplicativo de Contatos
- Digite "Carlos da contabilidade" na pesquisa
- Abra o contato de Carlos
- Aperte o botão de Chamada
E o que isso tem relação com sua língua nativa? Os computadores não entendem inglês ou português, mas “entendem” linguagens de programação como C, Python ou Java (isso não é totalmente correto, porque os computadores não entendem realmente linguagem de programação, eles entendem apenas código de máquina e os programadores usam compiladores para traduzir código-fonte que eles escrevem em código de máquina, mas, por enquanto, não se preocupe com todas essas informações).
Existem milhares linguagens de computador. As antigas continuam evoluindo e as novas continuam aparecendo. No site PYPL PopularitY of Programming Language você pode ver as ver as linguagens de programação mais populares. Note a posição de Python.
Cada linguagem de computador tem seus próprios objetivos e méritos, e algumas linguagens são mais adequadas para aplicações e tarefas específicas. Algumas linguagens são mais difíceis, outras nem tanto. Algumas são simples e populares, outras são diferenciadas e específicas. Uma coisa importante de se lembrar é que, assim como o inglês, o português, o russo ou qualquer outra linguagem, as linguagens de programação têm partes, construções e conceitos que são compartilhados entre todas elas. Portanto, aprender outra linguagem de computador será tão difícil (ou tão fácil) quanto aprender uma língua estrangeira.
Como escolher uma linguagem de computador?
Para escolher uma linguagem, você deve se perguntar que tipo de trabalho gostaria de fazer. Isso nos leva à parte da questão “fazer os computadores executarem tarefas”. Pense por que você deseja aprender a programar. Você quer se tornar um desenvolvedor de jogos? Você quer criar aplicativos para celular? Você quer fazer sites? Ou talvez você precise de programação para automatizar o trabalho com dados científicos e estatísticos?
Cada campo vem com um determinado número de linguagens. O desenvolvimento da Web, por exemplo, diferencia dois tipos principais de programação: front-end e back-end.
O front-end de um site é a parte que os usuários podem ver. Fontes, cores, controles deslizantes, painéis e menus são criados com uma combinação de HTML, CSS e JavaScript. Pense nisso como o design de interiores de uma casa. Nesse sentido, o desenvolvimento back-end é semelhante à construção de uma casa. Inclui um servidor, um aplicativo e um banco de dados. O trabalho do desenvolvedor de back-end consiste em construir e manter esses componentes. Muitas linguagens diferentes podem ser usadas aqui, por exemplo, PHP, Python, Java, etc.
Então, não se trata realmente de escolher uma linguagem. É mais sobre como escolher uma área de atuação. Se você deseja criar aplicativos Android, escolha Java; para aplicativos iOS, escolha Swift, e se quiser desenvolver aplicativos para desktop, como jogos, aprenda C ou C++, etc.
O que devo esperar?
A programação não se trata apenas de linguagens, sintaxe e compiladores/interpretadores, é todo o processo de pensamento lógico que a torna tão gratificante. Nunca existe a "melhor" solução para um problema. Você sempre quer torná-lo mais rápido, melhor e maior.
A programação ensina como pensar de forma diferente. Ela ensina você a pensar sobre como as coisas funcionam e por que funcionam desta ou daquela maneira. O processo de codificação parece um quebra-cabeça que você está constantemente tentando resolver.
A programação ensina a ter paciência. É uma das coisas mais estressantes e agravantes que você pode fazer. Muitas pessoas ficam frustradas e desistem de aprender quando seu código não funciona de primeira, mas isso é um normal. Programadores com anos de experiência ainda têm momentos em que seu código não funciona e não têm ideia do porquê, paciência e perseverança são as principais características que os levaram a chegar onde estão.
O resultado final é que programar é uma habilidade e, como com qualquer habilidade, você precisa investir algum tempo e esforço para ver os resultados. Provavelmente não será fácil, mas definitivamente vale a pena!