Se você comparar o programa escrito na linguagem de máquina e em assembly, notará que assembly é mais fácil de ler, escrever e entender o código. É uma comunicação de um para um, a instrução é entre o código de máquina e o assembly, formando uma arquitetura. Lembrando que o computador só entende a linguagem de máquina, mesmo escrevendo em assembly o código será transformado em linguagem de máquina para o computador saber o que deve ser feito. O programa responsável da tradução do assembly para a linguagem de máquina é chamado de assembler. A figura a seguir representa esta tradução.
A linguagem de máquina e o assembler são conhecidos como linguagens de baixo nível, porque um programador para utilizá-las deve conhecer os detalhes de funcionamento de um computador para poder escrever um programa. Por exemplo, se você escrever programas com estas linguagens, você tem que saber como a leitura e escrita de dados na memória do computador funciona, qual registro é utilizado para guardar um determinado valor etc. Com o passar do tempo programadores perceberam a necessidade de uma linguagem de alto nível, a qual eles não precisariam mais trabalhar o código em baixo nível. Assim foram desenvolvidas linguagens de programação de alto nível como COBOL, Pascal, FORTRAN, C, C++, Java, C# etc. As linguagens de programação de alto nível utilizam a língua inglesa, anotações matemáticas e pontuações para escrever os programas. Um programa escrito com uma linguagem de alto nível é também chamado de código fonte. Estas linguagens são mais parecidas com a linguagem humana. A tarefa de somar dois números utilizando a linguagem de alto nível ficaria assim:
Int x = 15 + 12;
Pode notar que a linguagem de alto nível é mais fácil de ler, escrever, entender e modificar do que um programa escrito em linguagem de baixo nível. Você deve estar pensando como os computadores entendem linguagem de alto nível, já que eles só entendem 0 e 1. A tradução é feita por um compilador, um interpretador ou a combinação de ambos. O compilador é um programa que traduz programas escritos em alto nível para a linguagem de máquina. Compilar um programa é uma tarefa pesada. As vezes a tradução é feita para uma linguagem de baixo nível ao invés de uma linguagem de máquina. O código que é gerado pelo compilador é chamado de código compilado. O programa compilado é executado por um computador.
Outra maneira de executar um programa escrito em alto nível é utilizar um interpretador. O interpretador não traduz de uma vez todo o programa. O interpretador vai lendo e executando o programa linha a linha, e no processo vai traduzindo na hora para a linguagem de máquina. Você pode pensar no interpretador como um simulador. As vezes a combinação de um compilador e interpretador podem ser utilizados para executar programas escritos em alto nível. Por exemplo, um programa escrito em Java é compilado em uma linguagem intermediária chamada bytecode. O interpretador da plataforma Java que lerá este código é chamado de Java Virtual Machine (JVM), ele vai ler o bytecode e executá-lo. Executar um programa com interpretador é mais lento do que executar um programa compilado. A maioria das JVMs hoje em dia utilizam o compilador just-in-time (JIT), o qual compila todo o código em linguagem de máquina. Há outro tipo de compilador que é chamado de ahead-of-time (AOT), utilizado para compilar um programa que esteja em uma linguagem intermediária (exemplo, Java bytecode) para linguagem de máquina. A imagem seguir representa a relação entre o código fonte, o compilador e o código de máquina.
Linguagens de programação são também categorizadas como primeira, segunda, terceira e quarta geração. Quanto mais alta a geração da linguagem, mais parecida com a linguagem humana ela é. A linguagem de máquina é também conhecida como linguagem de primeira geração ou 1GL. O assembly é conhecido como linguagem de segunda geração ou 2GL. As linguagens procedurais de alto nível tais como C, C++, Java e C# as quais você tem que escrever um algoritmo para resolver um problema utilizando a sintaxe da linguagem, são conhecidas como linguagens de terceira geração ou 3GL. As linguagens não procedurais, as quais você não precisa escrever um código para resolver um problema, são conhecidas como linguagens de quarta geração ou 4GL. Structured Query Language (SQL) é a linguagem de quarta geração mais utilizada, esta serve para fazer a comunicação com o banco de dados.
❤️ Curso Java Para Iniciantes
👍 Curso de Desenvolvimento Web Completo
Beginning Java 9 Fundamentals: Arrays, Objects, Modules, JShell, and Regular Expressions (English Edition)
#java
Deixe um comentário