linguagens de alto e de baixo nível de programação de computadores são projetados para a comunicação entre um humano e um computador em diferentes níveis de abstração. A linguagem de baixo nível muito envolveria um ser humano dando instruções diretamente para o hardware de um computador, utilizando a linguagem ea estrutura do que hardware , em linguagens de alto nível , os seres humanos trabalham com ferramentas lógicas complexas, abstratas para escrever instruções que um programa especial deve traduzir para o computador . Em geral, é mais fácil para os seres humanos a usar essas ferramentas . Linguagens de Programação
Uma linguagem de programação é qualquer língua em que os seres humanos podem dar instruções de computadores . A lista de instruções prontas para serem dadas a um computador e executadas é chamado de um programa. Essencialmente , a loja de instruções, mover e alterar os valores na memória do computador, estes valores podem ser interpretados por vários dispositivos --- monitores , alto-falantes , teclados, touch pads , mouses --- que oferecem formas de comunicação com um usuário < . br>
Código de Máquina
a linguagem de baixo nível é aquele que está perto de os fundamentos do hardware do computador. A linguagem de nível mais baixo é o código de máquina , que está compreendido directamente pelo hardware e não necessita de qualquer interpretação ou tradução . Código de máquina consiste inteiramente de seqüências de números binários : os zeros famosos e queridos. Enquanto ele pode fazer qualquer coisa que outro idioma pode fazer --- de fato, todas as outras línguas deve ser traduzida em código de máquina por um intérprete --- ele não é projetado em torno das necessidades do programador, requer uma compreensão muito perto do processador de um computador e dispositivos , e é quase impossível para um ser humano para ler.
assembly Language
a próxima linguagem de programação "superior" é a linguagem assembly , que é código de máquina com os códigos de instrução substituídos por comandos mais intuitivos. O comando para colocar um valor de 97 em um registro de memória chamado AL , por exemplo --- que em código de máquina ser " 10110000 01100001 " --- que em linguagem assembly ser " MOV AL, 97" , ainda um comando secreto , mas um muito mais fácil de aprender. Enquanto ele ainda é ineficiente para escrever e requer um programador de lidar diretamente com o hardware do seu computador, é uma linguagem de nível mais alto do que o código de máquina , porque é mais abstrato : Isso é parecido com o escritor
< br. > de nível superior Idiomas
programadores modernos escrever mesmo em linguagem de montagem muito raramente. Em vez disso, eles usam uma das muitas linguagens de alto nível diferentes, como C, Java ou Python , que programas chamados compiladores ou intérpretes podem traduzir em código de máquina . Estas línguas remover o programador do reino físico do hardware e para a abstração lógica: Ao invés de se mover em torno de valores hexadecimais registros de memória , o programador trabalha com variáveis cujo conteúdo pode ser alterado ; loops que podem ser repetidas até que alguma condição é satisfeita ; declarações lógicas como IF, e , então, ou e ELSE , e outras ferramentas. Essas línguas são projetados ao redor do programador, atento às formas que ela pode ser dado mais poder com a menor dificuldade.
Comparações
linguagens de alto nível não são tão chamados porque eles são "melhores " do que as linguagens de baixo nível. Às vezes , a capacidade de falar mais diretamente para o processador de um computador em linguagem de montagem ou mesmo código de máquina pode resolver problemas dificultaram pelas camadas de abstração em uma linguagem de alto nível . Uma linguagem de muito alto nível pode lidar apenas com um determinado sistema operacional , como o Microsoft Visual Basic , ou com um programa específico, como os "macros" em um processador de texto . Estes programas são muito úteis para alguém que quer manipular o Windows ou o Word , sem ter que conhecer os meandros de como cada trabalha --- mas tal linguagem seria de nenhuma utilidade para alguém tentando escrever um programa de sua autoria, que seria necessário algo de nível inferior . Um programador escolhe , assim, uma linguagem baseada no trabalho que ele precisa fazer .