linguagens de alto nível criar programas que são mais fáceis para um ser humano para decifrar , ao contrário de linguagens de baixo nível , que uma máquina pode mais facilmente executar. Eles podem ser classificados por paradigmas , ou seja , as classificações de abstrações utilizadas para entender a estrutura da linguagem de controle . Linguagens de programação não " descer " de outras línguas. No entanto , os designers de linguagem emprestar conceitos e sintaxe de outros idiomas . Isso faz com que novas linguagens fáceis de aprender , uma vez que você já domina o paradigma básico . Digitação Idioma
A abordagem para digitação língua difere pela linguagem. Typing refere-se à classificação dos dados como um tipo , e se ou não um tipo de dados pode ser tratado como um outro tipo de dados por um programa. Por exemplo, qualquer número, caractere alfanumérico ou valor verdadeiro /falso é representado por um valor binário . Portanto, sem digitação, você poderia fazer uma expressão legal que calcula o valor do símbolo "!" dividido por dois . Línguas digitados evitar isso, e línguas do tipo estático teste de digitação antes de o programa é executado , geralmente quando compilado.
Compilado e linguagens interpretadas
Compilando uma linguagem converte-a máquina códigos e linguagens compiladas são projetados para ser executado de tal forma . Por outro lado, uma linguagem interpretada executado porque um programa interpretador verifica a sintaxe da linguagem e segue as ordens lógicas que encontra, sem a necessidade de compilá-lo de antemão. A distinção entre linguagens compiladas e interpretadas é principalmente uma questão de preferência do designer da linguagem - em teoria, qualquer linguagem pode ser compilado ou interpretado. Linguagens interpretadas são também chamados de " linguagens de script. " C + +, dialetos mais básica e Common Lisp são linguagens compiladas . Perl e Python são linguagens interpretadas . Java combina ambos os paradigmas compilados e interpretados , no qual o código Java normal é compilado para bytecode Java , que é então interpretado pela Máquina Virtual Java.
Declarativa vs Imperativo
linguagens de programação podem encarnar paradigmas declarativas ou imperativas : impulsionado pela lógica computacional ou fluxo de controle. Idiomas projetados com o paradigma declarativo especificar o que uma máquina deve realizar, sem necessariamente indicar como deve ser feito. Eles incluem linguagens dedicadas a um domínio de problema específico , como HTML e linguagens de programação funcionais sem um estado persistente , como Lisp . O paradigma imperativo , por outro lado , trata de um programa, tal como uma série de comandos que modificam o estado do programa . As linguagens procedurais , como C são linguagens imperativas , e estruturados , como Java , use o estilo imperativo . Alguns idiomas, como os encontrados em um makefile usado para construir programas , usar os dois estilos declarativas e imperativas .
Estruturada e orientada a objetos
Uma classe especial de linguagens imperativas , linguagens estruturadas dividir lógica do programa em subseções distintas para reduzir o " código espaguete ", ou lógica aleatória salta para as partes mais difíceis de seguir do programa. A abordagem estruturada tornou-se solidificou por programação orientada a objetos , que dividiu trechos de código em classes e métodos. Java e C + + são linguagens de programação orientadas a objeto .
Metaprogramação
" Metaprogramação " refere-se a programas que atuam em outros programas. Algumas línguas são projetados especificamente para metaprogramação . A linguagem de Marca , por exemplo, é uma linguagem de script simples, que compila e executa programas escritos em linguagens compiladas como C C + + e Python também apresentam características metaprogramação .