Linguagens de máquina, linguagens simbólicas e linguagens de alto nível 1. Linguagens de máquina Qualquer computador pode entender diretamente apenas sua própria linguagem de máquina. A linguagem de máquina é a “linguagem natural” de um computador em particular. Ela é definida pelo projeto de hardware daquele computador. As linguagens de máquina consistem geralmente em sequências de números (em última instância reduzidos a ls e Os) que instruem os computadores a executar suas operações mais elementares, uma de cada vez. As linguagens de máquina são dependentes da máquina, isto é, uma linguagem de máquina em particular pode ser usada em só um tipo de computador. As linguagens de máquina são incômodas para as pessoas, como pode ser visto: pela seguinte seção de um programa em linguagem de máquina que soma as horas extras a pagar ao salário base e armazena o resultado em pagamento bruto. +130 0042 77 4 +14 005 934 19 +12 002 74 027 2. Linguagens simbólicas À medida que os computadores se tornaram mais populares, tornou-se evidente que a programação em linguagem de máquina era muito lenta, tediosa e sujeita a erros. Em vez de usar as sequências de números que os computadores podiam entender diretamente, os programadores começaram a usar abreviações semelhantes às das palavras inglesas para representar as operações elementares do computador. Estas abreviações* formaram a base das linguagens simbólicas. Programas tradutores chamados de assemblers (montadores) foram desenvolvidos para converter, à velocidade do computador, os programas em linguagem simbólica para a linguagem de máquina. A seção de um programa em linguagem simbólica mostrada a seguir também soma horas extras a pagar ao salário base e armazena o resultado em pagamento bruto, mas com maior clareza que seu equivalente em linguagem de máquina: LOAD BASEPAY ADD OVERPAY STORE GROSSPAY Embora tal código seja mais claro para as pessoas, ele é incompreensível para os computadores até ser traduzido para a linguagem de máquina. 3. Linguagens de alto nível. O uso de computadores aumentou rapidamente com o advento das linguagens simbólicas, mas estas ainda exigiam muitas instruções para realizar até as tarefas mais simples. Para acelerar o processo de programação, foram desenvolvidas as linguagens de alto nível, nas quais uma única instrução realiza tarefas significativas. Programas tradutores chamados compiladores convertem os programas em linguagem de alto nível para linguagem de máquina. As linguagens de alto nível permitem que os programadores escrevam instruções que parecem quase com a linguagem Humana. Exemplo: Mes1 = 100; Mes2 = 50; Resultado = Mes1 + Mes2; Resultado é : 150; Obviamente, as linguagens de alto nível são muito mais desejáveis do ponto de vista do programador que as linguagens de máquina ou as linguagens simbólicas. C e C++ estão entre as mais poderosas e amplamente utilizadas linguagens de alto nível. O processo de compilar um programa em linguagem de alto nível para linguagem de máquina pode tomar um tempo considerável do computador. Por isso, foram desenvolvidos programas interpretadores, os quais podem executar diretamente programas em linguagem de alto nível sem a necessidade de compilar aqueles programas para linguagem de máquina. Embora programas compilados executem mais rápido que programas interpretados, os interpretadores são populares em ambientes de desenvolvimento de programas em que os mesmos são modificados frequentemente, à medida que novas características são acrescentadas aos programas e seus erros são corrigidos. Uma vez que o desenvolvimento de um programa tenha terminado, uma versão compilada do mesmo pode ser produzida para ser executada de forma mais eficaz. Referencia: C++: como programar/H.M. Deitel e P.J. Deitel trad. Carlos Arthur Lang Lisbôa e Maria Lúcia Lang Lisbôa. - 3.ed. - Porto Alegre : Bookman, 2001.