Artigo original: What is the Difference Between Coding and Programming?

Tradução em português europeu

Demorei algum tempo a compreender o que os termos programar e escrever código realmente significam e o que cada campo implica. Tenho a certeza de que não sou o único que ficou confuso com estes termos quando estava a começar na área da tecnologia.

Durante algum tempo pensei que eram a mesma coisa e demorei algum tempo a perceber que existem diferenças entre os dois "mundos".

Neste artigo, vou explicar as diferenças básicas entre escrever código e programar, como cada um funciona e como trabalham em colaboração para desenvolver aplicações e sites.

Então, vamos explorar estes termos e como os profissionais os utilizam, começando por compreender o que eles significam.

O que é escrever código?

Untitled-design

Podes ter visto cursos, bootcamps ou artigos a falar sobre escrever código – então porque enfatizamos este termo?

Isto acontece porque o simples ato de escrever código torna possível fazermos todas as coisas interessantes que fazemos todos os dias. Permite-nos utilizar aplicações mobile, trabalhar com programas diferentes e operar sistemas, e até mesmo brincar com os jogos que amamos, ou visitar o website onde estás a ler este artigo. É tudo possível através da escrita de código.

Então, o que é escrever código em termos simples?

Podemos definir a escrita de código como sendo o ato de traduzir instruções para um computador, de uma linguagem humana para uma linguagem que uma máquina consiga compreender. O código indica ao computador como se comportar e que ações deve realizar.

Se quiseres tornar-te um/a escritor/a de código, vais precisar de ter alguns conhecimentos básicos sobre linguagens de programação. Quando digo linguagens de programação, quero dizer linguagens como: Python, Java, Go, PHP ou JavaScript, só para mencionar algumas.

Abaixo está um bom exemplo de código escrito na linguagem Python, que irá converter qualquer PDF num Audiobook:

import PyPDF2                     # pip install pypdf
import pyttsx3                    # pip install pyttsx3
from tkinter.filedialog import *  # pip install tkinter

book = askopenfilename()
pdfReader = PyPDF2.PdfFileReader(book)

pages = pdfReader.numPages

for num in range(0, pages):
    page = pdfReader.getPage(num)
    text = page.extractText()
    speak = pyttsx3.init()
    speak.say(text)
    speak.runAndWait()

O que é programação?

fresh

Provavelmente, também já ouviste alguém a dizer, "Sou programador/a". Algumas pessoas que utilizam este termo têm noção do significado do termo, enquanto outras pessoas não. Se não souberes exatamente o que significa programação, vamos tentar alcançar alguns esclarecimentos ao compreender o que realmente é programar.

Programar é o processo de criar as instruções que vão indicar ao computador como realizar uma tarefa em particular que lhe seja atribuída. Fazes isto ao utilizar linguagens de programação como:

fresh--1-

Quando falamos de programação, pensa em algo como um controlo remoto da tua televisão – ele aguardará que tu lhe dês instruções ao pressionar diferentes botões, que por sua vez, indicam à televisão para realizar uma tarefa específica (como mudar de canal, aumentar o volume e assim adiante). Bem, é o mesmo modo com que os programadores podem instruir um computador a fazer várias coisas.

Com programação, podes fazer praticamente tudo – como programar robôs para ajudar nas lides domésticas, ou até mesmo programar carros autónomos como a Tesla.

De maneira a que um programador desenvolva um programa que implemente a sua ideia, é necessário realizar as seguintes tarefas:

  • Planear a estrutura da aplicação (com a ajuda de ferramentas como o Trello)
  • Criar o design da aplicação (ao utilizar ferramentas como Figma ou AdobeXD)
  • Desenvolvê-la (ao utilizar a sua linguagem de programação de eleição)
  • Testar as suas funcionalidades
  • Implementá-la (quer num serviço de alojamento gratuito quer pago)
  • Fazer a manutenção depois de estar terminada.

Por isso, como podes ver, podemos dizer que a programação não lida apenas com a própria escrita do código. Também envolve a utilização de estruturas de dados e algoritmos e, em geral, lidar com o panorama geral da criação e desenvolvimento de sistemas complexos.

A diferença entre escrever código e programar

fresh--2-

Vamos dividir as diferenças em quatro categorias principais, o que nos vai ajudar a decompor os conceitos e compreendê-los melhor.

A terminologia

Escrever código lida com colocar o código numa linguagem compreendida tanto por máquinas como por humanos. O foco principal da escrita de código é fornecer comunicação entre os dois (humanos e computadores).

Programação envolve criar perfil e estrutura para o código de um programa, que segue determinados padrões, antes de o código em si ser escrito para realizar a tarefa que necessita realizar.

As ferramentas que utilizas

No que diz respeito a escrita de código, uma das ferramentas mais importantes será o teu editor de texto (como o Bloco de notas, ou algo mais complexo e rico em funcionalidades, como o Visual Studio Code, Sublime, Atom ou Vim).

Quando falamos de programação, por outro lado, precisas adicionar algumas outras ferramentas. Como programador/a, irás realizar revisões de documentos, fazer muito planeamento, pensar em design e assim adiante.

Para te ajudar nestas tarefas, vais utilizar ferramentas como editores de código mais avançados, ferramentas de análise, depuradores, frameworks de modelação, ferramentas de montagem, algoritmos de modelação e muito mais.

Como programador/a, vais precisar de ter muita experiência a utilizar estas ferramentas e mais exposição ao processo que os programadores utilizam para criar aplicações e outros produtos.

O teu nível de conhecimentos

Como escritor/a de código, ter conhecimentos básicos de uma linguagem de programação e a sua sintaxe é um bom começo. Assim que souberes como escrever código numa linguagem, fica mais fácil aprender outras. Novamente, o teu principal objetivo está na escrita no próprio código que indica à máquina o que fazer.

Por outro lado, os/as programadores/as precisam de mais conhecimentos. Vais precisar de saber como criar e trabalhar com algoritmos, como desenhar sites, como depurar e testar o teu código, como gerir projetos, e claro, como trabalhar com outras linguagens de programação.

Resolução de problemas, pensamento crítico e habilidades analíticas também são coisas essenciais quando estás a desenvolver sistemas complexos.

O produto final

Como escritor/a de código, o teu resultado esperado é geralmente uma solução simples que, depois de compilada, irá reproduzir com sucesso o resultado desejado. Um bom exemplo é o que demos anteriormente – converter um PDF num ficheiro de áudio.

Por outro lado, os/as programadores/as vão trabalhar para fornecer uma aplicação completa funcional ou um pedaço de software que as pessoas vão utilizar no mercado. Também serão responsáveis por dar seguimento e fazer a manutenção do que criaram para garantir que está a funcionar suavemente, sem nenhum problema.

Como a escrita de código e a programação trabalham em conjunto

Por esta altura, espero que sejas capaz de dizer a diferença entre escrita de código e programação e com o que estas duas coisas lidam. Agora, vamos ver como as duas podem (e devem) trabalhar em conjunto para alcançar muita coisa.

Para compreender melhor o como, vamos começar por fornecer um cenário real, onde ambas, escrita de código e programação, vão ter de trabalhar em conjunto para produzir uma aplicação funcional completa.

Imagina que te deram a tarefa de criar uma aplicação que irá ajudar a gerir ou acompanhar a tua rotina diária ou estar a par das tuas despesas diárias. Ao utilizar os conceitos dos dois mundos, podemos realizar a tarefa.

Vais precisar de um/a programador/a, que será capaz de:

  • Planear a estrutura da aplicação (com a ajuda de ferramentas como o Trello)
  • Escrever as principais funcionalidades da aplicação, qual a utilização esperada por parte dos utilizadores, etc.
  • Desenhar a aplicação (ao utilizar ferramentas como Figma ou Adobexd)

Após completar estes passos, entra o trabalho do/a escritor/a de código. Eles recebem as ideias que o/a programador/a cria e transformam-nas num formato legível para máquinas ao escrever código para realizar as tarefas especificadas. Depois do passo mágico da escrita do código, o/a programador/a volta novamente ao trabalho.

Então, o/a programador/a, irá analisar o código e verificar se existem erros, executará testes e verificará se está tudo a funcionar corretamente e que o código gera o resultado esperado. Se tudo isto se verificar, a aplicação está agora pronta para lançamento e manutenção – que permanece nas mãos do/a programador/a.

Este simples exemplo explica como as duas habilidades podem ser utilizadas em conjunto para melhor produtividade.

Apenas um apontamento final: um/a "escritor/a de código" e um/a "programador/a" nem sempre são duas pessoas distintas. Pode ser que a mesma pessoa realize todas as tarefas.

Resumindo

Onde nos enquadramos nestes dois mundos? Levei bastante tempo a perceber o que realmente me interessa.

Se tiveres mais interesse na lógica, tenta focar as tuas forças em todo o processo da programação. Se simplesmente gostares de ler e escrever código, então investe o teu tempo nisso.

Como sabemos, a ciência da computação é um campo muito amplo e ainda em desenvolvimento. Trabalha em encontrar o caminho que desejas explorar e foca-te nisso – certifica-te apenas que também desfrutas e te divertes.

Se ainda estiveres com dificuldades, espero que este artigo te tenha dado algumas luzes e ajudado a encontrar o teu caminho.

Obrigado por leres até aqui. Se tiveres gostado deste artigo, por favor compartilha-o para que possas ajudar outro programador (ou escritor de código) a encontrar o seu caminho.

Entra em contacto com o autor nas redes sociais: Twitter | LinkedIn | GitHub

Desfruta da programação ❤