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.
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çõesde 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
Obrigado Dr. Pela Iniciativa.
ResponderEliminarMas como consegue controlar se os estudantes estao ou nao a aderir?
Bom dia Dr.
ResponderEliminarMany 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.