Fundamentos de Programação Linguagens

Linguagens de Programação

Uma Linguagem de Programação é uma linguagem de computação formal destinada à comunicação com a maquina através de instruções, particularmente, a um computador. Uma Linguagem de Programação pode ser usada para a criação de programas para controlar o comportamento da maquina ou para expressar algoritmos.

As Linguagens de Programação

História da Evolução das Linguagens de Programação

Os computadores mais antigos eram frequentemente programados sem a ajuda de uma linguagem de programação, escrevendo programas em linguagem de máquina absoluta. Linguagens de máquina absolutas foram posteriormente denominadas linguagens de programação de primeira geração (1GL).

O próximo passo foi o desenvolvimento de linguagens de programação de segunda geração (2GL) ou linguagens de montagem, que ainda estavam intimamente ligadas à arquitetura do conjunto de instruções do computador específico. Estes serviram para tornar o programa muito mais legível para humanos, e aliviou o programador de cálculos de endereço tedioso e propenso a erros.

Uma linguagem de programação de terceira geração (3GL) é uma forma operacional de categorizar linguagens de programação de alto nível. Onde as linguagens de montagem, categorizadas como linguagens de programação de segunda geração, dependem da máquina, as 3GLs são muito mais independentes da máquina e mais programáveis.

A definição de 4GL tem mudado ao longo do tempo, ela pode ser tipificada operando mais com grandes coleções de informações ao mesmo tempo. Os idiomas alegados como 4GL podem incluir suporte para gerenciamento de banco de dados, geração de relatório, otimização matemática, desenvolvmento de GUI ou desenvolvimento da web. Alguns pesquisadores afirmam que os 4GLs são um subconjunto de linguagens específicas de domínio.

Enquanto as 4GL são projetadas para criar programas específicos, as 5GL são projetadas para fazer o computador resolver um determinado problema sem o programador. Desta forma, o utilizador só precisa de se preocupar sobre quais problemas precisam ser resolvidos e quais condições precisam ser atendidas, sem se preocupar em como implementar uma rotina ou algoritmo para resolvê-los. Resumindo, uma inteligência artificial.

Historia das Linguagens de Programação

Sistemas de Computação

Um sistema computacional é um conjunto de dispositivos eletrônicos que utilizamos para todo o processamento de alguma informação, ou seja, união de hardware (parte física) e software (parte lógica).

Conceito de Processador (Hardware)
  • Hardware: São todas as partes físicas que compõem um dispositivo seja ele um aparelho de TV, um telefone, um avião, um computador e etc. No contexto dos Sistemas de Computação trata-se apenas dos hardwares computacionais.
  • Software: Representa a parte lógica e processável de qualquer dispositivo que é executada sob hardware.
  • Peopleware: São todos os recursos humanos envolvidos nas tarefas, direta ou indiretamente relacionadas ao funcionamento de um sistema.

Linguagem "C"

O desenvolvimento da linguagem C está intimamente conectado ao desenvolvimento do sistema operacional Unix. Durante o desenvolvimento do Unix, foi necessária a criação de uma linguagem de alto nível para a programação do sistema, uma vez que o esforço de programação em linguagem assembly era muito grande. Sendo assim, um grupo de pesquisadores do Bell Labs, incluindo Ken Thompson e Dennis Ritchie, desenvolveram uma linguagem de alto nível a qual batizaram de “linguagem B”. A linguagem B foi posteriormente substituída por outra que a sucedeu, a “linguagem C”.

C é uma linguagem processual imperativa, que foi projectado para ser compilada usando um compilador relativamente simples, para fornecer acesso de baixo nível à memória, para fornecer construções de linguagem que mapear eficientemente para instruções da máquina e para exigir suporte mínimo em tempo de execução.

Estrutura de um programa em C

Algumas características da linguagem C :

  • Há um pequeno número fixo de palavras-chave, incluindo um conjunto completo de fluxo de primitivas de controle: para, if / else, while, switch e do / while.
  • Há um grande número de operadores aritméticos e lógicos, como +, + =, ++, &, ~, etc.
  • O acesso de baixo nível à memória do computador é possível através da conversão de endereços de máquina para ponteiros digitados.

Ciclo de desenvolvimento de um programa

  1. Engenharias de Sistemas;
  2. Analises de Requisitos;
  3. Projeto;
  4. Codificação;
  5. Testes e Integração;
  6. Operação e Manutenção.

Sintaxe de uma Instrução

Sintaxe é um conjunto de regras que define a forma de uma linguagem, estabelecendo como são compostas as suas estruturas básicas (palavras).

A Sintaxe é formada por duas regras:

As regras lexicas descrevem as combinações válidas de caracteres que formam os tokens da LP (palavras reservadas, identificadores, operadores, etc).

As regras sintáticas descrevem como os tokens podem ser combinados para formar instruções válidas (comandos, expressões, subrotinas, etc).

Semântica de uma Instrução

Semântica de uma Instrução descreve o significado das expressões, das instruções e das unidades de programas

Razões para descrever a semântica:

  • Saber precisamente o que as instruções de uma linguagem fazem
  • As provas de exatidão do programa recorrem a descrição formal da semântica da linguagem

Semântica Operacional-Descreve o significado de um programa pela execução de suas instruções em uma máquina, seja ela real ou simulada

Semântica Axiomática- Baseada em lógica (cálculo de predicados), axiomas(é uma afirmação lógica que se presume verdadeira) ou regras de inferência são definidas para cada tipo de instrução na linguagem (para permitir transformações de expressões para outras expressões)

Created By
José Nunes
Appreciate

Credits:

Created with images by freephotocc - "cup of coffee laptop office"

Made with Adobe Slate

Make your words and images move.

Get Slate

Report Abuse

If you feel that this video content violates the Adobe Terms of Use, you may report this content by filling out this quick form.

To report a Copyright Violation, please follow Section 17 in the Terms of Use.