Linguagens de Programação são Necessárias para se Comunicar com um Computador

Tempo de leitura: 5 min

Escrito por Michel Adriano Medeiros
em 07/04/2020

A Programação

Intuitivamente, o teclado é como se fosse a caneta e o monitor como se fosse o papel. Podemos utilizar o teclado para digitar “1 + 2 = 3” e isso aparece no monitor.

Contudo, se quiséssemos que o computador faça a soma para nós, deveríamos digitar apenas “1 + 2 =” e o computador traria a soma com o valor “3”, então precisamos de um programa que controle o computador para fazer isso.

Nós criámos e implementamos um programa para embutir nosso conhecimento humano sobre dígitos e símbolo de soma e deixamos o programa controlar o computador para cuidar da soma utilizando a memória e CPU.

Em outras palavras, um programador escreve um programa, o qual diz ao computador o que fazer e como fazer. Obviamente, o programa deve escrever na linguagem nativa do computador para ele conseguir executar a tarefa.

Na verdade, usar o computador é como dirigir um carro. Quando dirigimos um carro, nós estamos falando “a linguagem do carro” para virar a roda e dizer ao carro ir para direita ou esquerda ou utilizar o acelerador e pedir para o carro ir, mas rápido ou mais lento.

Introdução ao Java

Linguagem Nativa do Computador

A linguagem nativa do computador é chamada de linguagem binária que corresponde a memória do hardware. A menor unidade de memória é um Bit, o qual apenas pode armazenar dois valores: 0 ou 1 como um interruptor que pode estar ligado ou desligado.

Se nós definirmos 0 como “não” e 1 como “sim”, então o computador com um bit pode apenas entender “sim” ou “não”. Indo nessa linha, o computador com um bit de memória pode memorizar e executar dois comandos.

Se quisermos que o computador execute quatro comandos: adição, subtração, divisão e multiplicação um computador deve ter dois bits, porque com dois bits podemos ter quatro combinações: 00, 01, 10 e 11.

Portanto, nós poderíamos definir 00 como adição, 01 como subtração, 10 como multiplicação e 11 como divisão. Seguindo essa ideia, três bits podem implementar oito comandos (2^3); 4 bits podem implementar 16 comandos (2^4).

No geral, o número de comando de y é igual a 2 elevado ao número de bits. Isto é, nós podemos construir um computador com x-bit para memorizar e executar o número de y = 2^x comandos.

Ebook Introdução ao Java

Código ASCII

Similarmente, todos os símbolos humanos podem ser codificados baseados em binários e guardados na memória do computador. De fato, todos os símbolos do teclado de um computador estão codificados para utilizar o ASCII (American Standard Code for Information Interchange), o qual tem 7 bits.

Se aplicarmos a fórmula y = 2^x, nós teremos o seguinte: y = 2^7=128 símbolos diferentes. Isto é, símbolos humanos podem ser representados com uma sequência de 0 ou 1 que cabem dentro de 7 bits.

Essa sequência pode ser chamada de código binário. Não são apenas comandos ou dados que podem ser representados por código binário, o endereço de memória pode também ser representado por código binário.

Consequentemente, humanos podem se comunicar com computadores utilizando a linguagem binária. Contudo, uma linguagem nativa de computador é difícil para um humano reconhecer e lembrar.

Quando cada comando binário é criado com um nome mnemônico e cada endereço de memória é criado com um mnemônico, fica mais fácil para os programadores humanos aplicar mnemônico para escrever programas do que utilizar códigos binários.

CURSO DE JAVA FULL-STACK

Segunda Geração da Linguagem de Programação

Essa segunda geração de linguagem de programação é chamada de “linguagem de montagem (assembly language)”, o qual substitui o código binário por mnemônicos de comandos e endereços de memória.

Por exemplo, se definirmos que o mnemônico ADD refere-se ao código binário 00; SUB ao 01; MIL ao 10 e DIV ao 11, os programadores serão capazes de escrever um programa utilizando o mnemônico ADD ao invés de 00, SUB ao invés de 01 e assim por diante.

Então, um software chamado “montador” é um interpretador escondido dentro de um programa montador que devolve códigos binários para um computador e com isso o programador pode ser comunicar com o computador de maneira mais fácil.

Infelizmente, ambas as linguagens de primeira geração (linguagem binária) e segunda geração (linguagem de montagem) tem um problema em comum.

O problema é a “portabilidade”, porque os códigos binários são específicos para um determinado hardware e não podem ser utilizados em um hardware diferente.

Os símbolos mnemônicos da linguagem de montagem são ligados ao seu código binário correspondente. Isto é, um programa escrito na linguagem de montagem está também preso a um tipo de hardware.

Consequentemente, o código binário e seu correspondente na linguagem de montagem formaram um programa que só pode ser executado em um hardware específico.

Programação em Linguagem Assembly

Terceira Geração da Linguagem de Programação

Para que os programas se tornassem portáteis, a terceira geração apareceu que também é chamada de programação de “alto nível”. O “alto nível” significa que a linguagem está mais próxima da linguagem natural dos humanos e não está presa a um específico hardware, e com isso foi resolvido o problema da portabilidade.

Um programa escrito na linguagem de alto nível também é chamado de código fonte. Um programa escrito na linguagem de alto nível não são diretamente executados e entendidos pelo computador.

Esse código deve ser convertido para linguagem nativa do computador antes de sua execução. Para esse propósito, uma camada especial de software é adicionada para essa conversão.

O processo de conversão pode ser “interpretação” ou “compilação”. No caso de “interpretação”, o software adicionado é chamado de “interpretador”, lê o código de alto nível e converte para a correspondente linguagem nativa e aí sim executa no hardware.

No caso da “compilação”, o software adicionado, é chamado de “compilador”, que converte todo o código de alto nível para a correspondente linguagem nativa antes de executar.

Não importa o hardware o compilador ou interpretador irá converter o código do alto nível para o nível necessário que o hardware necessita para ser executado.

Além disso, um programa escrito na terceira geração pode ser entendido e executado por qualquer computador. Certamente, a linguagem de terceira geração não apenas facilitou a vida dos programadores como garantiu que os programas se tornassem portáteis.

Java para Iniciantes

Você vai gostar também:

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário


*


*


Seja o primeiro a comentar!

Damos valor à sua privacidade

Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

Cookies estritamente necessários

Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

Cookies de desempenho

Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

Cookies de funcionalidade

Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

Cookies de publicidade

Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

Visite as nossas páginas de Políticas de privacidade e Termos e condições.

Importante: Este site faz uso de cookies que podem conter informações de rastreamento sobre os visitantes.
Criado por WP RGPD Pro