quarta-feira, 11 de março de 2020

Linguagens de Programação

        Linguagens de Programação       


Uma Linguagem de Programação (LP) é uma ferramenta utilizada pelo profissional de computação para escrever programas, isto é, conjuntos de instruções a serem seguidas pelo computador para realizar um determinado processo Propósito de uma LP:

  • Uma maior capacidade de resolução de problemas;
  • Desenvolver a habilidade de utilização de uma LP;
  • Possibilitar a escolha de uma LP apropriada;
  • Ampliar a possibilidade de aprendizagem de novas LP’s;
  • Desenvolver a habilidade de criação de novas LP’s

      LP no processo de desenvolvimento      

As linguagens de programação surgiram da necessidade de tornar o processo de desenvolvimento de software mais produtivo.
O processo de desenvolvimento de software geralmente obedece as seguintes fases:

  • Especificação de requisitos;
  • Projeto do software;
  • Implementação;
  • Validação;
  • Manutenção



      Algumas propriedades desejáveis         

As propriedades desejáveis numa LP são:
  • Legibilidade;
  • Confiabilidade;
  • Eficiência;
  • Facildade de aprendizagem;
  • Ortogonalidade;
  • Reusabilidade;
  • Portabilidade.


       Especificação           


Ao se criar uma LP é necessário definir como se faz para escrever programas nessa linguagem e como os programas válidos devem se comportar.
A especificação de uma LP requer a descrição de um léxico, de uma sintaxe e de uma semântica para a LP.



       Métodos de Implementação        Todo e qualquer programa escrito em uma LP necessita ser traduzido para a linguagem máquina para ser executado.
Segundo SEBESTA (1999), para isso pode se recorrer a três métodos:

  • Compilação;
  • Interpretação; e
  • Híbrido.

Compilação



Interpretação


Híbrido



         Tipos de Linguagens          

CARACTERÍSTICAS

Linguagem Máquina - Única compreendida pelo computador. Específica de cada computador.

Linguagens de Baixo Nível - Utiliza mnemónicos para representar instruções
elementares
Ex.: Assembly

Linguagens de Alto Nível - Utiliza instruções próximas da linguagem humana de forma a facilitar o raciocínio.
       Ex.: Uso Científico : Fortran
              Propósito Geral : Pascal, Basic
              Uso Comercial : Cobol, Clipper
              Uso específico : Lisp, Prolog


Ilustração de um programa em linguagem máquina




           Paradigmas de programação                

Dá-se o nome de paradigma a um conjunto de características que servem para categorizar um grupo de linguagens. Existem diversas classificações
de paradigmas de LPs, sendo a mais comum a que divide os paradigmas
de LPs nos paradigmas imperativo, orientado a objetos, funcional e lógico.
A classificação utilizada aqui adapta a proposta apresentada por Appleby
[APPLEBY, 1991]. As únicas alterações realizadas nessa classificação
são a substituição do termo distribuído pelo termo, mais genérico,
concorrente e a remoção do paradigma de linguagens de bancos de dados.


          Paradigma imperativo        

O termo paradigma foi introduzido por Kuhn em 1962, designando o conjunto de crenças e preconceitos; Em computação é entendido como um processo que realiza mudanças de estados;

Os conceitos fundamentais são de variável, valor e atribuição;

Variáveis são vistas como sendo um conjunto de células de memória;
O paradigma imperativo é subdividido nos paradigmas estruturado, orientado a objetos e concorrente.

Paradigma imperativo estruturado
As primeiras LPs foram fortemente influenciadas pela programação em linguagem máquina;
Logo se percebeu que esse estilo de programação estimulava a ocorrência de erros e reduzia a produtividade do programador;
Para contornar essa dificuldade surgiu a programação estruturada;
Baseia na idéia de desenvolvimento de programas por refinamentos sucessivos (top-down).


Paradigma imperativo orientado a objectos
 Conceitos que objetivam tornar mais rápido e confiável o desenvolvimento desses sistemas.;
Enfocam as abstrações de dados como elemento básico de programação;
Classes são abstrações que definem uma estrutura de dados e um conjunto de operações que podem ser realizadas sobre elas, chamadas métodos;


Paradigma imperativo concorrente
A programação concorrente ocorre quando vários processos executam simultaneamente e concorrem por recursos.
Permitem utilizar uma única unidade de processamento ou várias unidades em paralelo.
As linguagens Pascal e Java (entre outras) são exemplos de LPs que permitem desenvolver sistemas concorrentes.

           Paradigma declarativo               
Tipicamente, programas em linguagens declarativas são especificações de relações ou funções;
Não existem atribuições a variáveis dos programas uma vez que as variáveis declarativas são de facto incógnitas e não representam células de memória;
Os interpretadores ou compiladores das LPs declarativas gerenciam a memória do computador.

Dão ênfase a O QUE calcular, ao invés de COMO calcular; um programa declarativo é um statement (declaração) que se concentra na solução. (ou descrição do conjunto da solução, sem algoritmo explícito)

Paradigma declarativo funcional
Operam apenas sobre funções;
Recebem listas de valores e retornam um valor;
Objetivo da programação funcional



Paradigma declarativo lógico
Baseadas em um subconjunto do cálculo de predicados;
Um predicado define uma relação entre factos ou entre variáveis;
A execução de um programa lógico corresponde a um processo de dedução automática.
– Ex.: Prolog



















Share:

2 comentários:

  1. Obrigado Dr. Pela Iniciativa.

    Mas como consegue controlar se os estudantes estao ou nao a aderir?

    ResponderEliminar
  2. Bom dia Dr.

    Many thanks.
    Tenho acompanhado o registo diário, semanal e mensal de visualizações de cada aula. Porém não tenho como identificar quem acede.

    ResponderEliminar

Seguidores

Visitantes do blog

Pesquisar neste blogue

posts recentes