![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizJXJWTp8yTivQUT62_5VZt30WaiXKLdeJMA-N_BLJ_D2gucUMfmVYAJ5Sw2wVrMtyb7Gmh7o207PH_bGTvlHhC7jzIZeam8tAbpBgoMWI9kDcmICNO6j4ZaY0hrkClUGoSLGJtNu_jpM/s320/linguagem.jpg)
O código fonte precisa ser convertido em código de máquina, por meio de interpretação ou compilação, para ser executado pelo computador. Dessa forma o programador pode definir sobre quais dados o computador vai atuar, como esses dados vão ser armazenados e transmitidos.
As linguagem de programação são feitas para adotar uma linguagem mais próxima da linguagem humana, o que é chamado de linguagem de alto nível. Isso facilita a execução das tarefas pelo programador e aumenta sua produtividade.
Interpretação e compilação
Como mencionado o código fonte precisa ser traduzido em linguagem de máquina, na compilação o código é todo traduzido para só depois ser executado, é dito então que o programa foi compilado, é armazenado e pode ser executado quantas vezes for necessário sem que haja necessidade de nova compilação.
A interpretação ocorre quando o código é executado à medida que vai sendo traduzido, como em JavaScript, BASIC, Python ou Perl, ocorre uma execução imediata dos trechos do código.
Conceitos
Programação estruturada – essa forma de programação sugere que todos os programas podem ser reduzidos a apenas três estruturas: sequência, decisão e repetição. A programação estruturada ainda é bastante influente, visto que muitas pessoas aprendem programação através dela, embora a orientação a objetos tenha superado o uso de linguagens estruturadas.
Programação modular – a programação modular é a forma na qual o desenvolvimento das rotinas de programação são feitas através de módulos, que são ligados entre si por meio de uma interface comum.
Programação orientada a objetos - a programação orientada a objetos é baseada no paradigma de orientação a objetos, responsável pela produção de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.
Os objetos são definidos por um conjunto de classes que determina o comportamento (definido nos métodos) e estados possíveis (atributos) de seus objetos, bem como a interação com outros objetos.
Programação linear - é uma importante área da otimização, e lidam com problemas de otimização em que a função objetivo e as restrições são lineares.
Classificação
A Association for Computing Machinery (lit. Associação para Maquinaria da Computação) ou ACM mantém um sistema de classificação com os seguintes
sub-itens:
- Linguagens aplicativas, ou de aplicação
- Linguagens concorrentes, distribuídas e paralelas
- Linguagens de fluxo de dados
- Linguagens de projeto
- Linguagens extensíveis
- Linguagens de montagem e de macro
- Linguagens de microprogramação
- Linguagens não determinísticas
- Linguagens não procedurais
- Linguagens orientadas a objeto
- Linguagens de aplicação especializada
- Linguagens de altíssimo nível
Quanto ao paradigma - As linguagens de programação podem ser reunidas segundo o padrão que seguem em sua sintaxe. Esses padrões podem ser divididos em dois grupos: imperativo e declarativo.
- Imperativos - São aqueles que facilitam a computação por meio de mudanças de estados, são eles: Procedural, de estruturas de blocos, de orientação a objetos e da computação distribuída.
- Declarativos - são aqueles nos quais um programa especifica uma relação ou função, são divididos em: Funcional e da programação lógica.
Quanta a estrutura de tipos - essa estrutura está ligada diretamente ao tipo das variáveis e suas atribuições, são elas:
- Fracamente tipada - onde o tipo de variável muda dinamicamente dependendo da situação, como PHP e Smalltalk.
- Fortemente tipada - onde o tipo da variável se mantem o mesmo até ser excluída da memória, como JAva e Ruby.
- Dinamicamente tipada - onde o tipo da variável é definida em tempo de execução, ou seja, enquanto o programa estiver executando, como SNOBOL, APL, Awk, Perl, Python e Ruby.
- Estaticamente tipada - onde o tipo de variável é definido em tempo de compilação, que se refere ao momento em que o programa é compilado, como Java e C.
Quanto ao grau de abstração - Esse padrão se refere ao quão inteligível é a linguagem de programação para o ser humano, divide-se em: linguagem de baixo, médio e de alto nível.
Quanto a geração - Não há consenso entre autores sobre a geração das linguagens de programação, no modelo abaixo, feito por Henri Bal e Dick Grune é enfatizado o aspecto da aplicação, que são:
- Primeira geração - linguagem de máquina.
- Segunda geração - linguagens de montagem (assembly).
- Terceira geração - Linguagens procedurais.
- Quarta geração - Linguagens aplicativas.
- Quinta geração - Linguagens voltadas a Inteligência artificial como as linguagens lógicas (Prolog) e as linguagens funcionais (Lisp).
- Sexta geração - Redes neurais.
Curtiu? Deixe seu comentário, dúvida!
Linguagem de Programação
Reviewed by Guilherme
on
maio 20, 2018
Rating:
![Linguagem de Programação](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizJXJWTp8yTivQUT62_5VZt30WaiXKLdeJMA-N_BLJ_D2gucUMfmVYAJ5Sw2wVrMtyb7Gmh7o207PH_bGTvlHhC7jzIZeam8tAbpBgoMWI9kDcmICNO6j4ZaY0hrkClUGoSLGJtNu_jpM/s72-c/linguagem.jpg)
Nenhum comentário: