Automação de programação com algoritmos
Introdução
Em geral
Programação é o processo de criação de um conjunto de instruções que informam ao computador como executar algum tipo de tarefa. Mas não apenas a ação de escrever código para o computador ou software executar. Inclui também todas as tarefas necessárias para que o código funcione corretamente e cumpra o objetivo para o qual foi escrito.[1].
Atualmente, a noção de programação está intimamente associada à criação de aplicações informáticas e videojogos. Nesse sentido, é o processo pelo qual uma pessoa desenvolve um programa, utilizando uma ferramenta que lhe permite escrever o código (que pode ser em uma ou várias linguagens, como C++, Java "Java (linguagem de programação)") e Python, entre muitas outras) e outra que é capaz de "traduzi-lo" para o que se conhece como linguagem de máquina, que pode "entender" o microprocessador.[2].
Como funciona um programa
Para criar um programa e interpretá-lo e executá-lo pelo computador, as instruções devem ser escritas em uma linguagem de programação.
A linguagem compreendida por um computador é conhecida como código de máquina. Consiste em sequências de instruções básicas que o processador reconhece, codificadas como sequências de números 1 e 0 (sistema binário). Nos primórdios da computação, era programado diretamente em código de máquina. Escrever programas como esse era muito complicado e também era difícil entendê-los e mantê-los depois de escritos. Com o tempo, ferramentas foram desenvolvidas para facilitar o trabalho.
Os primeiros cientistas que atuaram na área decidiram substituir as sequências de uns e zeros por mnemônicos, que são abreviações em inglês para a função desempenhada por uma instrução de processador. Por exemplo, para adicionar você pode usar a letra A da palavra inglesa add. Criaram assim uma família de linguagens de nível superior, que são conhecidas como linguagem assembly ou simplesmente assembly (em inglês, assembly). Com o tempo, os montadores incorporaram facilidades adicionais, mas sempre mantendo uma correspondência direta com as instruções do processador. Em um nível conceitual, então, programar em assembly é muito semelhante a fazê-lo em linguagem de máquina, só que de uma forma mais amigável.