7.6. Linguagens de Programação de Alto Nível ?
É raro para programadores escrever programas directamente em linguagem de máquina ou montagem. Os ficheiros executáveis para a maioria das aplicações contêm centenas de milhares ou mesmo milhões de instruções em linguagem de máquina. Seria muito difícil criar algo assim do zero.
Linguagens de programação de alto nível foram inventadas para abstrair os detalhes do código da máquina e ajudar os programadores a concentrarem-se na resolução de problemas. Embora fosse necessário 3 ou 4 linhas de código para adicionar dois números usando linguagem assembly, esta tarefa poderia ser realizada com uma única instrução numa linguagem de programação de alto nível como C++, Java ou Python. Com uma linguagem de alto nível, um programador cria um programa usando operações poderosas e “grandes” que mais tarde serão convertidas em muitas pequenas operações de máquina.
Programas escritos numa linguagem de alto nível devem ser convertidos em código de máquina para serem executados. Isto é feito antes do tempo, convertendo um programa inteiro em código de máquina com um programa compilador (compilando o código), ou linha a linha à medida que o programa é executado por um intérprete. Uma linha numa linguagem de programação de nível superior pode transformar-se em qualquer lugar, de uma a dezenas ou mais de instruções de máquina. Isto não só significa que há menos código a digitar, como também significa que há menos código a depurar – quando algo corre mal, é muitas vezes mais fácil de localizar.
Os separadores abaixo mostram como poderá ser o código em vários níveis de linguagem. Imagine que estamos a conceber software para o terminal de vendas num restaurante; vamos olhar para a parte do código que pode calcular a dica de 15% que é automaticamente adicionada a grandes grupos. (Nota: todos os idiomas são compostos por representantes de um determinado nível – não se preocupe com os detalhes de cada um.)
Para calcular o montante total devido, primeiro multiplique o preço total da refeição por 0,15. Isto dá-lhe a dica para a refeição. Depois, acrescente isso ao preço da refeição para encontrar a conta total.
tip = mealCost * 0.15bill = mealCost + tip
LOAD MealCostMULT TIPRATESTORE TipLOAD MealCostADD TipSTORE Bill
010101011110010111110110101011101101101010010101010111011000111100010101011111001101101010111111
Nota que a linguagem de alto nível é muito mais compacta do que o código de montagem ou de máquina e ainda mais importante, permite-nos expressar um algoritmo a um nível muito mais próximo do domínio do problema real. Em vez de nos preocuparmos com o carregamento e armazenamento de valores em registos, podemos expressar comandos que se assemelham mais a cálculos normais: tip = mealCost * 0.15
.
Módulos interactivos em linha para o ensino da Informática por Osman Balci et al.
Introdução à Informática usando Java por Bradley Kjell (CC BY-NC 3.0)