Introdução à Informática e Hardware
Introdução à Informática e Hardware
• Introdução • Definição • Compilação • Interpretação
• Escolha de uma linguagem • Categorias
– Linguagens de Primeira Geração – Linguagens de Segunda Geração – Linguagens de Terceira Geração – Linguagens de Quarta Geração
Introdução à Informática e Hardware
Nesta aula serão abordadas as linguagens de programação, explicando o que são, quais são as mais comuns, tipos, exemplos e como elas funcionam.
Introdução à Informática e Hardware
A Linguagem de Programação pode ser entendida como um conjunto de palavras (vocabulário) e um conjunto de regras gramaticais (para relacionar essas palavras) usados para instruir o sistema de computação a realizar tarefas específicas e com isso, criar os programas. Cada linguagem tem seu conjunto de palavras chave e sintaxes.
(MARÇULA, Marcelo, 2008, 3 ed. P. 169)
Introdução à Informática e Hardware
• A pessoa responsável por criar o programa é o
programador, seu papel é escrever comandos
(código-fonte) na linguagem de programação. • A LP (linguagem de programação) deve
traduzir o código-fonte em uma linguagem compreensível pela CPU. Essa transformação pode acontecer por meio da compilação ou da
interpretação.
Introdução à Informática e Hardware
• A compilação transforma código-fonte em programa executável pela CPU de modo a criar programas autônomos (que não necessitam da LP para ser executados).
• Para isso são necessárias algumas etapas:
– Compilação – Linkedição
Introdução à Informática e Hardware
• Mas antes destas etapas deve acontecer a
codificação, ou seja, o programador utilizando
um linguagem de alto nível cria o código-fonte, que nada mais é que um conjunto de comandos organizados de acordo com as regras da linguagem.
Introdução à Informática e Hardware
• Na etapa de compilação o código-fonte passa por um processo onde um programa conhecido como compilador transforma os comandos do código-fonte em comandos de linguagem de máquina criando o chamado
código objeto.
• É nesta etapa que o compilador realiza várias análises como léxica, sintática e semântica.
Introdução à Informática e Hardware
• Outro ponto importante é que um programa pode utilizar códigos criados anteriormente e armazenados em arquivos conhecidos como
bibliotecas ou funções nativas.
• O processo de compilação deve então ligar todas essas partes de forma adequada. Esse processo é realizado pelo linkeditor (ligador). Terminado o processo de linkedição (ligação) é gerado então um código executável.
Introdução à Informática e Hardware
• O código executável é um programa autônomo, isto é, que pode ser executado sem a necessidade da linguagem de programação.
• A compilação deve levar em conta o tipo de CPU, pois na compilação são adicionadas instruções específicas da CPU. (Java multi-plataforma)
• São exemplos de linguagens compiladas C, C++, Cobol, Pascal, Delphi e Visual Basic.
Introdução à Informática e Hardware
Introdução à Informática e Hardware
• A interpretação consiste em executar o código-fonte diretamente por meio de um módulo da linguagem de programação conhecido como interpretador. Neste processo não existe nem código objeto nem código executável.
• Sendo assim estes programas não são autônomos pois necessitam da linguagem para serem executados.
Introdução à Informática e Hardware
• Há muitas linguagens que podem ser tanto interpretadas quanto compiladas, assim como há linguagens híbridas (parcialmente compiladas, parcialmente interpretadas) e há ainda linguagens interpretadas que podem dinamicamente gerar blocos compilados (Just in time compiling) para aumentar seu desempenho.
Introdução à Informática e Hardware
• Alguns exemplos de linguagens interpretadas são JavaScript, Lisp, PHP, Python, Ruby,
Smalltalk e VBScript.
Introdução à Informática e Hardware
• A escolha da linguagem de programação deve levar em conta os seguintes itens (segundo Pressman, 1995):
– Área da aplicação do programa a ser criado, pois cada linguagem de programação é voltada para a criação de determinados tipos de aplicações.
– Complexidade do programa a ser criado e da estrutura de dados que serão gerados por ele, pois a linguagem pode ajudar a diminuir essa
Introdução à Informática e Hardware
– Tipo de sistema de computação no qual o programa será executado, pois existe uma interação entre o código gerado pela linguagem de programação e a CPU do sistema
– Desempenho desejado, pois isso é bastante influenciado pelo tipo de linguagem escolhido
– Especialização da equipe de desenvolvimento (de programadores). Quanto mais especializada na linguagem for a equipe, mais eficaz ela será.
Introdução à Informática e Hardware
• As linguagens de programação são categorizadas em gerações. Essas gerações não tem relação apenas com a época em que foram criadas, mas, também com a proximidade delas da linguagem natural humana. Essa proximidade é conhecida como abstração.
Introdução à Informática e Hardware
Introdução à Informática e Hardware
• Linguagens cuja sintaxe for mais próxima da linguagem de máquina (zeros e uns) são conhecidas como linguagens de baixo nível, inversamente as linguagens cuja sintaxe for parecida com o idioma normal são conhecidas como linguagens de alto nível.
Introdução à Informática e Hardware
• Exemplo de linguagem de baixo nível:
Introdução à Informática e Hardware
• Exemplo de linguagem de alto nível:
Introdução à Informática e Hardware
• São as linguagens de mais baixo nível, onde o programador tem de escrever comandos praticamente em linguagem de máquina.
• Assembly
• Uma característica dessa linguagem é que cada comando tem correspondência direta com um comando da CPU
• É usada quando outras de mais alto nível não cumprem os requisitos de velocidade de processamento ou de utilização de memória.
Introdução à Informática e Hardware
• São linguagens que apresentam um avanço em relação ao Assembly. Os comandos são dados por intermédio de palavras utilizadas no dia a dia (normalmente em inglês).
• Alguns autores não consideram Assembly uma linguagem de programação, sendo assim essa geração marcaria o início das LP
Introdução à Informática e Hardware
• Essas linguagens foram muito utilizadas e serviram de base para as mais modernas. Exemplos:
– FORTRAN: reconhecida como a primeira linguagem de programação. Ideal para aplicações matemáticas e de engenharia;
– COBOL: primeira linguagem voltada a criação de aplicações comerciais;
– BASIC: linguagem criada para o ensino de programação;
– ALGOL: linguagem voltada a aplicações científicas;
Introdução à Informática e Hardware
• Também conhecidas como Linguagens de
Programação Estruturadas ou Linguagens Modernas são subdivididas em três categorias:
– Linguagens de alto nível de uso geral; – Linguagens orientadas a objetos;
– Linguagens especializadas;
Introdução à Informática e Hardware
• São linguagens baseadas no ALGOL que apresentam um uso muito amplo:
– Pascal: primeira linguagem de programação estruturada, foi criada para ensinar as técnicas de programação.
– PL/1: criada pela IBM, usada para aplicações científicas e comerciais;
– C: linguagem originalmente criada para o desenvolvimento de sistemas operacionais e compiladores, mas também
pode ser usada para aplicações comerciais;
– Ada: linguagem criada pelo Departamento de Defesa dos Estados Unidos para sistemas em tempo real de uso
militar.
Linguagens de Alto Nível
de uso geral
Introdução à Informática e Hardware
• São linguagens que permitem a implementação dos modelos de análises e projetos orientados a objetos, exemplos:
– Smalltalk: linguagem criada para explicar os conceitos de orientação à objeto;
– C++: derivada da linguagem C;
– Java: linguagem criada pela extinta Sun Microsystens que é capaz de rodar em qualquer
Linguagens Orientadas a
Objeto
Introdução à Informática e Hardware
– Linguagens de Script (internet): melhoram a funcionalidade de páginas de internet tornando-as mais agradáveis, exemplo: JavaScript e VBScript. – Linguagens de Internet: são usadas para criar
páginas de internet dinâmicas, exemplos: PHP (Hypertext Preprocessor), ASP (Active Server
Pages), JSP (Java Server Pages), Perl (Practical Extraction and Report Language) e Python.
Linguagens Orientadas a
Objeto
Introdução à Informática e Hardware
• São linguagens que apresentam formas de sintaxe bastante incomuns (em relação as demais) e são criadas para aplicações
especiais, exemplos:
– LISP: usada quase que exclusivamente para aplicações de inteligência artificial (IA);
– PROLOG: também é utilizada em AI porém é orientada a objeto;
– FORTH: utilizada para desenvolvimento de
Introdução à Informática e Hardware
• Atualmente são as linguagens que apresentam maior nível de abstração, para isso automatizam muitas tarefas. Podem ser classificadas em três categorias:
– Linguagens de consulta; – Geradores de programa;
– Linguagens de prototipação;
Introdução à Informática e Hardware
• São linguagens declarativas criadas para trabalhar em conjunto com os bancos de dados, permitindo que os dados sejam manipulados.
• O principal exemplo dessa linguagem é o SQL
(Structured Query Language)
Introdução à Informática e Hardware
• São linguagens que permitem que o
programador crie programas inteiros usando apenas declarações baseadas em modelos
gerados pelo projeto do programa. Neste tipo de linguagem o nível de abstração é muito
elevado e o trabalho de programação é muito pequeno.
Introdução à Informática e Hardware
• Algumas ferramentas chamadas CASE
(Computer-Aided System Engineering)
automatizam várias tarefas na criação de
modelos e projetos de sistemas de software. • São exemplos de ferramentas CASE: Rational
Rose (IBM), System Architect (Popkin) e ERWin (CA – Computer Associates).
Introdução à Informática e Hardware
• São linguagens de programação que facilitam a criação da interface com o usuário, também conhecidas como linguagens visuais.
• O programador monta a interface final por meio de ícones e botões e posteriormente ele programa o que deve acontecer quando o usuário interagir com estes.
• São exemplos destas linguagens o Delphi,
Visual Basic .net e C#.