Linguagens de Programação.

Propaganda
Linguagens de Programação.
História da Ciência e Tecnologia - ADS
Professor: Kleber Manrique Trevisani.
Ana Luiza Lima.
Carolina Pedrosa.
Diana Ferreira.
Marielly Barros.
Sumário
• Surgimento das primeiras linguagens de
programação.
• Linguagens X Aplicabilidade X Época.
• Principais paradigmas de linguagens de programação.
• Imperativa.
• Estruturada.
• Orientada a objetos.
• Orientada a aspectos.
Surgimento. (I)
• As linguagens de programação são linguagens usadas
para a comunicação com o computador.
Surgimento. (II)
• Estas linguagens são constituídas de comandos, que
quando utilizados corretamente, executam uma ação.
Linguagem Java
Linguagem assembly
Surgimento.(III) Altos, médios níveis.
•
•
•
•
•
•
•
• As linguagens de alto nível, possuem instruções
simples, normalmente próximas do inglês e das
notações matemáticas. Como:
Fortran -1957
Java - 1990
COBOL - 1959
Python - 1991
Basic- 1964
PHP - 1995
C - 1972
C++ - 1985
C# - 2000
Smalltalk - 1972
Linguagem Fortran. (I)
• Criada por John Backus e pela empresa americana
International Business Machines (International Business
Machines), no ano de 1957.
• Fortran é a contração de "Formula Translator".
• O Fortran permite a criação de programas que primam pela
velocidade de execução.
• A linguagem Fortran tinha a intenção de traduzir equações
científicas para códigos de computadores.
Linguagem Fortran. (II)
• Uma das línguas mais utilizadas na ciência e na
engenharia.
• Primeira linguagem de Paradigma Imperativa.
Linguagem Fortran 90
Linguagem COBOL. (I)
• O COBOL foi criado por um comitê de investigadores
de várias instituições civis e governamentais durante o
ano de 1959.
• Ná década de 60 tinha a aplicação de uma plataforma
de desenvolvimento para aplicações bancárias e
financeiras e administrativos para empresas e governos.
• Paradigma Orientada a objeto
Linguagem COBOL. (II)
• O COBOL, possuía excelentes capacidades de auto
documentação, bons métodos de manuseio de
arquivos, e excepcional modelagem de dados para a
época.
• Linguagem COBOL.
Linguagem Basic.(I)
• Criada por 1964, por John G. Kemeny,Thomas E. Kurtz
• A ideia por trás da criação de BASIC é permitir aos
estudantes da época (década de 60) diferentes áreas de
conhecimento, e escreverem simples programas que não
dependam de profundos conhecimentos técnicos.
Linguagem Basic.(II)
• Paradigma Imperativo, estruturado.
• Possuía apenas 15 comandos.
Linguagem Basic.
Linguagem C. (I)
Criada em 1972 por Dennis Ritchie.
• C foi originalmente desenvolvido para a
implementação do sistema Unix (sistema operacional
portátil).
• Paradigma Estruturada, Imperativa.
Linguagem C. (II)
• C tem influenciado muitas outras linguagens de
programação. Principalmente a C++.
Linguagem C.
Linguagem C++
Surgiu em 1985, criada por Bjarne Stroustrup
Linguagem C++
• "C++", sugere que seria um C com algo mais.
• é uma linguagem de programação multi-paradigma.
• Abstração de dados, orientação a objeto,
programação genérica, programação procedural
Linguagem C# (I)
• Criada por Anders Hejlsberg, publicada no ano 2000.
• C# ou C Sharp é uma linguagem de programação
orientada a objetos criada pela Microsoft, faz parte
da sua plataforma .Net. A companhia baseou C# na
linguagem C++ e Java.
Linguagem C# (II)
• Exemplo:
Linguagem Smalltalk. (I)
• Criafa por Alan Kay, em 1972.
• Smalltalk é o nome da mais popular linguagem
orientada para objetos existente.
• Tudo são objetos: variáveis, constante, classes,
registros de ativação, etc.
• Influenciou uma geração de linguagens orientadas
por objetos.
Linguagem Java. (I)
• Java é uma linguagem de programação
desenvolvidade na década de 90 em Califónia, por
uma equipe de programadores chefiada po James
Gosling, na empresa Sun Microsystems.
• Sintaxe similar a C/C++.
Linguagem Java. (II)
• Exemplo:
Linguagem Python. (I)
• Foi lançada por Guido van Rossum em 1991.
• É uma linguagem de programação de alto
nível,interpretada, imperativa, orientada a objeto, de
tipagem dinâmica e forte.
• Um dos focos primordiais de Python era aumentar a
produtividade do programador.
• É um software de código aberto.
Linguagem Python (II)
• Exemplo:
Linguagem PHP (I)
• O PHP foi criado em 1995, por Rasmus Lerdorf.
• É uma linguagem de programação muito
usada atualmente para gerar conteúdo para a WEB
rápido, simples e eficientes.
Linguagem PHP (II)
• O PHP permitia, inicialmente, os programadores
criarem aplicativos simples para a web. Linguagem
orientado a objeto + imperativo.
•
Foi disponibilizado o código fonte do PHP para
usuários poderem aperfeiçoar e melhorar o código.
Linguagem PHP (III)
• Exemplo:
Linguagens e quanto são usadas. ( 2010-2009)
Paradigmas da linguagem de programação
Um paradigma de linguagem é a metodologia de
construção
de
programas
adotada
na
implementação da linguagem.
Ex: escreva: "Qual é a nota do aluno?"
leia nota se nota maior ou igual a sete
então:
escreva "Ele passou"
senão:
escreva: "Ele foi reprovado"
fim
do
se
fim do programa
Imperativa.(I)
Programas concentrados em um estado e ações.
Denominado procedural.
• Primeiro paradigma a surgir e ainda é o dominante.
•
Imperativa. (II)
Modelo Computacional do
Paradigma Imperativo
Vantagens/ Desvantagens.
•
Eficiência
Representação
do mundo
eficiente,fácil compreensão.
•
real
de
forma
Problema
Difícil legibilidade, erros introduzidos durante
manutenção.
Estruturada. (I)
• Linguagens puramente imperativas, com em
o Assembly, é muito fácil o programador criar
códigos de difícil leitura, pois esse tipo de
linguagem
possui
o
que
se
chama
de saltos (jumps) em sua estrutura.
• Estes saltos funcionam da seguinte forma: o
programador define uma marcação (label) no
código e depois, a partir de qualquer parte do
programa, ele pode executar um desvio de fluxo
de execução (salto) para aquela marcação.
Estruturada. (II)
Exemplo:
#include
<iostream>
using namespace std;
int main() {
cout << "Olá mundo." << endl;
return 0;
}
Exemplo. (II)
print "Tabuada!"
a = int(raw_input("Entre com a tabuada que deseja [0-9]: "))
print # Apenas para deixar uma linha em branco.
if 0 <= a <= 9:
for i in range(10):
print "%d x %d = %.2d" % (a, i, a * i)
else:
print "Entre ZERO e NOVE!"
código Python
Vantagens.
• Provê um melhor controle sobre o fluxo de
execução do código, quando comparada com a
programação imperativa.
• É fácil de se entender, sendo amplamente usada em
cursos introdutórios de programação.
Desvantagens.
• Ainda se foca em como a tarefa deve ser feita e não
em o que deve ser feito.
• Tende a gerar códigos confusos, onde tratamento
dos dados são misturados com o comportamento do
programa.
Orientada a objetos
Ela foi criada para tentar simular o mundo real
dentro do computador e para isso utiliza objetos.
• Vantagens
Provê uma melhor organização do código.
Contribui para o reaproveitamento de código.
• Desvantagens
Não possui o mesmo desempenho de códigos
estruturados similares.
• Seus conceitos são de difícil compreensão se
comparados aos conceitos da Programação
estruturada.
•
Exemplo.(I)
Agora vamos fazer um looping por todos esses
objetos, enviando para cada um deles a
mensagem "fale". O que iria acontecer?
Inicialmente, vamos supor que a classe abstrata
Animal possui o método "fale", e que ele seja
implementado (de forma algorítmica) da seguinte
forma:
Classe Animal {
método fale() {
imprimaNaTela(" Eu sou mudo! ");
}
}
Exemplo.(II)
using namespace std;
#include <iostream>
#include <iomanip>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
class pessoa {
private:
char nome[30];
int matricula;
char cpf[16];
char endereco[30];
Vantagens da POO
• Programação Orientada a Objeto
• Os sistemas, em geral, possuem uma divisão
de código um pouco mais lógica e melhor
encapsulada do que a empregada nos sistemas
não orientados a objetos.
• É mais fácil gerenciar o desenvolvimento deste tipo de
software quando temos uma equipe grande.
Desvantagens
Dificilmente uma linguagem orientada a objetos
conseguirá ter um desempenho em tempo de
execução superior a linguagens não orientadas a
objetos.
Orientada a aspectos
•
A programação orientada a aspectos foi criada para
resolver a implementação destes interesses
transversais para os sistemas modelados com
orientação a objetos. Usando AOP é possível separar
estes interesses em unidades chamadas aspectos.
Separação de interesses.
• De forma geral, os vários interesses do
sistema devem ser separados em módulos.
• Pode se classificar os interesses de sistemas
de software em:
• Interesses do negócio
capturam a funcionalidade central de um
módulo, por exemplo, procedimento de
quitação de uma compra;
Fontes.
•
Linguagem
C++.
Disponível
em
:
<http://pt.wikipedia.org/wiki/C%2B%2B> Acesso em
10 Jun 2013.
• Linguagem
C.Disponível
em:
<http://pt.wikipedia.org/wiki/C_(linguagem_de_progr
ama%C3%A7%C3%A3o)> A acesso em 24 mai 2013.
• Linguagem
Basic.Disponível
em
:<
http://pt.wikipedia.org/wiki/BASIC> Acesso em 23
mai 2013.
Fontes. (II)
• Llinguagem
COBOL.
Disponível
em:
<https://pt.wikipedia.org/wiki/Cobol> acesso em 20
mai 2013.
• Llinguagem
Fortran.
Disponível
em:<https://pt.wikipedia.org/wiki/Fortran> acesso em
08 mai 2013.
• ANDRADE G. O que são linguagens de programação.
<http://www.infoescola.com/informatica/o-que-saolinguagens-de-programacao/>. acesso em 05 mai
2013.
Fontes.(III)
• MORIMOTO C. E. linguagens de programação.
• <http://www.hardware.com.br/artigos/linguagensprogramacao/> acesso em 05 mai 2013.
• <http://www.slideshare.net/RodrigoGonalves8/linguag
em-da-programao-9144180> acesso em 9 Jun 2013.
• <http://pipeless.blogspot.com.br/2009/01/programaoestruturada-versus-programao.html> acesso em 9
Jun 2013.
• <http://pt.scribd.com/doc/2625512/ProgramacaoOrientada-a-Aspectos> acesso: em 12 Jun 2013.
Fontes.(IV)
• <http://www.inf.pucrs.br/~gustavo/disciplinas/pli/mate
rial/paradigmas-aula12.pdf > acesso em 9
Jun 2013.
• DAVID
F.M<
http://www.hardware.com.br/artigos/programacaoorientada-objetos >acesso em 9 Jun 2013.
• http://www.slideshare.net/rafaelcianci/atpsparadigmas-da-linguagem-12575783 acesso em 24
maio 2013.
Vídeos.
• Vídeo
Aula
de
Orientação
a
Objetos:
<http://www.youtube.com/watch?v=t9Cd7EWL0eo>
• Orientação a Objetos - Aprenda de uma forma
simples
: <http://www.youtube.com/watch?v=hnrQR7Pgak>
Paradigma Estruturado:
<http://www.youtube.com/watch?v=gHYs4YKUI6U>
Download