SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ




Linguagens de Programação
Algumas linguagens
  C, C++, Java, D, Perl, Python, Lua, Bash, Prolog, Pascal,
  Basic, Fortran, COBOL, ASM, Lisp, Haskell, Modula-2,
  Oberon, Java, C#, PL/1, Ada, Smalltalk, Simula, Algol, Eiffel,
  Scheme, CLOS, Maude, Glass, Holo,...
Motivo?
  Propósitos diferentes
  Avanços tecnológicos
  Interesses comerciais
  Cultura e background científico
                                       Prof. Fabio Alexandre Spanhol, M.Sc.   2
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ




Paradigma
Noção Geral
  Modelo interpretativo ou conceitual de uma
  realidade
   • Ponto de Vista
   • Entendimento dessa realidade
   • Melhor forma de atuação
   • Conceitos Base
  Exemplos
   • Políticos: Liberalismo, fascismo, comunismo, socialismo, etc.
   • Econômicos: Monetarismo, Keynesianismo, etc.
   • Programação: Imperativo, funcional, OO, etc.
                                      Prof. Fabio Alexandre Spanhol, M.Sc.   3
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ




Paradigma
"Um paradigma é o que os
membros de uma comunidade
científica compartilham e uma
comunidade científica consiste
de pessoas que compartilham um
paradigma.“ Thomas Kuhn, The
Structure of Scientific Revolutions
(1962)


                                       Prof. Fabio Alexandre Spanhol, M.Sc.   4
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ




Paradigma de Programação
Programação
  Processamento de informação
Trata computacionalmente os problemas
encontrados no mundo real
  Fornece e determina a visão que o programador
  possui sobre a estruturação e execução do programa
  A forma com que o programador deve raciocinar e
  utilizar os recursos da linguagem
  Determina a forma com que o desenvolvedor do
  programa analisa os dados
                                      Prof. Fabio Alexandre Spanhol, M.Sc.   5
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ




Paradigma de Programação

                                                Realidade

                                                  Domínio




                                     Prof. Fabio Alexandre Spanhol, M.Sc.   6
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ




Paradigmas de Programação
 Paradigma imperativo
  Conceitos: estado, atribuição, sequenciação
  Linguagens: BASIC, Pascal, C, Algol, FORTRAN,
  Assembly, etc.


 Paradigma funcional
  Conceitos: função, aplicação, avaliação
  Linguagens: Lisp, ML, Ocaml, Haskell, etc.
                                      Prof. Fabio Alexandre Spanhol, M.Sc.   7
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ




Paradigmas de Programação
Paradigma lógico
  Conceitos: relação, dedução
  Linguagens: Prolog


Paradigma orientado a objetos
  Conceitos: objeto, mensagem
  Linguagens: Python, C++, Java, Eiffel, C#,
  Smalltalk, etc.


                                      Prof. Fabio Alexandre Spanhol, M.Sc.   8
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ




Paradigmas de Programação
Paradigma concorrente
  Conceitos: processo, comunicação (síncrona ou assíncrona)
  Linguagens: Occam, Ada, Java, Limbo, Pict, etc.




                                      Prof. Fabio Alexandre Spanhol, M.Sc.   9
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ




Modelos
Modelo imperativo                                       Modelo declarativo
 Linguagens expressam           Linguagens que não
  sequências de comandos          possuem os conceitos de
  que realizam transformações        sequências de comandos
  sobre dados                        atribuição
 Dominante e bem                linguagens funcionais: ênfase
  estabelecido                    em valores computados por
 Base: máquina de von            funções
  Neumann                        linguagens lógicas: ênfase
    orientadas a procedimentos   em axiomas lógicos
    orientadas a objetos
                                          Prof. Fabio Alexandre Spanhol, M.Sc.   10
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ




Modelos de execução
Sequencial                                          Concorrente
 Uma computação é                                       Múltiplas computações
 realizada após o término                               podem ser executadas
 da anterior                                            simultaneamente
 Controle de fluxo de                                   Computações paralelas
 execução interno ao                                         múltiplos processadores
 programa:                                                   compartilham memória
    sequência                                           Computações distribuídas
    seleção                                                  múltiplos computadores
    iteração                                                 conectados por uma rede de
                                                             comunicação
    invocações
                                     Prof. Fabio Alexandre Spanhol, M.Sc.                 11
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ




Qual usar?
O “grau de sucesso” de um
programador depende em parte:
  Coleção de paradigmas que domina
  Da habilidade em escolher o modelo
  conceitual (paradigma) mais indicado
  para analisar e resolver cada
  problema



                                      Prof. Fabio Alexandre Spanhol, M.Sc.   12
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ




Qual usar?
 Lembre-se
  Todo problema é um PREGO, se você tem
  apenas um martelo?




                                      Prof. Fabio Alexandre Spanhol, M.Sc.   13
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ




Referências
 SEBESTA, Robert W.
Conceitos de Linguagens
de Programaçao. Porto
Alegre: Bookman, 2011.




                                      Prof. Fabio Alexandre Spanhol, M.Sc.   14

Contenu connexe

Tendances

Algoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de ProgramaçãoAlgoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de ProgramaçãoElaine Cecília Gatto
 
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesParadigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesAdriano Teixeira de Souza
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de ProgramaçãoNatanael Simões
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6Fabio Spanhol
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programaçãoessa
 
Programação 1
Programação 1Programação 1
Programação 1essa
 
Linguagem C 01 - Tópicos Introdutórios
Linguagem C 01 - Tópicos IntrodutóriosLinguagem C 01 - Tópicos Introdutórios
Linguagem C 01 - Tópicos IntrodutóriosFabio Spanhol
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de ProgramaçãoBeDMK
 
Mostrando a Cobra - Breve Introdução à Linguagem Python
Mostrando a Cobra - Breve Introdução à Linguagem Python Mostrando a Cobra - Breve Introdução à Linguagem Python
Mostrando a Cobra - Breve Introdução à Linguagem Python Fabio Spanhol
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programaçãoAlbertoVach
 
4 introdução ao paradigma funcional
4 introdução ao paradigma funcional4 introdução ao paradigma funcional
4 introdução ao paradigma funcionalPéricles Miranda
 
Python Training #0.5 ed. 7
Python Training #0.5 ed. 7Python Training #0.5 ed. 7
Python Training #0.5 ed. 7Fabio Spanhol
 
Aprendizado Profundo & CNNs
Aprendizado Profundo & CNNsAprendizado Profundo & CNNs
Aprendizado Profundo & CNNsFabio Spanhol
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6 Fabio Spanhol
 
Python Training #1 - ed4
Python Training #1 - ed4Python Training #1 - ed4
Python Training #1 - ed4Fabio Spanhol
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoSidney Roberto
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação Marcos Gregorio
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5Fabio Spanhol
 

Tendances (20)

Algoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de ProgramaçãoAlgoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de Programação
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesParadigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - Classificações
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de Programação
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Programação 1
Programação 1Programação 1
Programação 1
 
Linguagem C 01 - Tópicos Introdutórios
Linguagem C 01 - Tópicos IntrodutóriosLinguagem C 01 - Tópicos Introdutórios
Linguagem C 01 - Tópicos Introdutórios
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
Mostrando a Cobra - Breve Introdução à Linguagem Python
Mostrando a Cobra - Breve Introdução à Linguagem Python Mostrando a Cobra - Breve Introdução à Linguagem Python
Mostrando a Cobra - Breve Introdução à Linguagem Python
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
4 introdução ao paradigma funcional
4 introdução ao paradigma funcional4 introdução ao paradigma funcional
4 introdução ao paradigma funcional
 
Python Training #0.5 ed. 7
Python Training #0.5 ed. 7Python Training #0.5 ed. 7
Python Training #0.5 ed. 7
 
Aprendizado Profundo & CNNs
Aprendizado Profundo & CNNsAprendizado Profundo & CNNs
Aprendizado Profundo & CNNs
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6
 
Python Training #1 - ed4
Python Training #1 - ed4Python Training #1 - ed4
Python Training #1 - ed4
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de Programação
 
Python tutorial-ed3
Python tutorial-ed3Python tutorial-ed3
Python tutorial-ed3
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5
 

En vedette

Paradigmas de linguagens de programacao - aula#10
Paradigmas de linguagens de programacao - aula#10Paradigmas de linguagens de programacao - aula#10
Paradigmas de linguagens de programacao - aula#10Ismar Silveira
 
Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2Ismar Silveira
 
Lua para Jogos
Lua para JogosLua para Jogos
Lua para JogosDavid Ruiz
 
Paradigmas de Linguagens de Programacao - Aula #7
Paradigmas de Linguagens de Programacao - Aula #7Paradigmas de Linguagens de Programacao - Aula #7
Paradigmas de Linguagens de Programacao - Aula #7Ismar Silveira
 
Paradigmas de Linguagens de Programacao - Aula #5
Paradigmas de Linguagens de Programacao - Aula #5Paradigmas de Linguagens de Programacao - Aula #5
Paradigmas de Linguagens de Programacao - Aula #5Ismar Silveira
 
Paradigmas de Linguagens de Programacao - Aula #6
Paradigmas de Linguagens de Programacao - Aula #6Paradigmas de Linguagens de Programacao - Aula #6
Paradigmas de Linguagens de Programacao - Aula #6Ismar Silveira
 
Paradigmas de Linguagens de Programacao - Aula #4
Paradigmas de Linguagens de Programacao - Aula #4Paradigmas de Linguagens de Programacao - Aula #4
Paradigmas de Linguagens de Programacao - Aula #4Ismar Silveira
 
Paradigmas de Linguagens de Programacao - Aula #3
Paradigmas de Linguagens de Programacao - Aula #3Paradigmas de Linguagens de Programacao - Aula #3
Paradigmas de Linguagens de Programacao - Aula #3Ismar Silveira
 
Criação de Jogos 2D com Técnicas 3D Utilizando Python e C
Criação de Jogos 2D com Técnicas 3D Utilizando Python e CCriação de Jogos 2D com Técnicas 3D Utilizando Python e C
Criação de Jogos 2D com Técnicas 3D Utilizando Python e CLeinylson Fontinele
 
Paradigmas de linguagens de programacao - aula#9
Paradigmas de linguagens de programacao - aula#9Paradigmas de linguagens de programacao - aula#9
Paradigmas de linguagens de programacao - aula#9Ismar Silveira
 
Paradigmas de Linguagens de Programacao- Aula #8
Paradigmas de Linguagens de Programacao- Aula #8Paradigmas de Linguagens de Programacao- Aula #8
Paradigmas de Linguagens de Programacao- Aula #8Ismar Silveira
 
Apostila sistema operacional cor capa ficha 2011 02 04
Apostila sistema operacional cor capa ficha 2011 02 04Apostila sistema operacional cor capa ficha 2011 02 04
Apostila sistema operacional cor capa ficha 2011 02 04MatheusRpz
 
Introdução à Computação Aula 01 - Apresentação
Introdução à Computação  Aula 01 - ApresentaçãoIntrodução à Computação  Aula 01 - Apresentação
Introdução à Computação Aula 01 - ApresentaçãoLeinylson Fontinele
 
Introducao ambiente windows
Introducao ambiente windowsIntroducao ambiente windows
Introducao ambiente windowsMatheusRpz
 
E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11Ismar Silveira
 
A Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em JogosA Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em Jogoselliando dias
 
Apostila Algoritmos e Estrutura de Dados (AEDS)
Apostila Algoritmos e Estrutura de Dados (AEDS)Apostila Algoritmos e Estrutura de Dados (AEDS)
Apostila Algoritmos e Estrutura de Dados (AEDS)Ricardo Terra
 
Engenharia de Software - Aula1
Engenharia de Software - Aula1Engenharia de Software - Aula1
Engenharia de Software - Aula1Ismar Silveira
 

En vedette (20)

Paradigmas de linguagens de programacao - aula#10
Paradigmas de linguagens de programacao - aula#10Paradigmas de linguagens de programacao - aula#10
Paradigmas de linguagens de programacao - aula#10
 
Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2
 
Lua para Jogos
Lua para JogosLua para Jogos
Lua para Jogos
 
Paradigmas de Linguagens de Programacao - Aula #7
Paradigmas de Linguagens de Programacao - Aula #7Paradigmas de Linguagens de Programacao - Aula #7
Paradigmas de Linguagens de Programacao - Aula #7
 
Paradigmas de Linguagens de Programacao - Aula #5
Paradigmas de Linguagens de Programacao - Aula #5Paradigmas de Linguagens de Programacao - Aula #5
Paradigmas de Linguagens de Programacao - Aula #5
 
Paradigmas de Linguagens de Programacao - Aula #6
Paradigmas de Linguagens de Programacao - Aula #6Paradigmas de Linguagens de Programacao - Aula #6
Paradigmas de Linguagens de Programacao - Aula #6
 
Paradigmas de Linguagens de Programacao - Aula #4
Paradigmas de Linguagens de Programacao - Aula #4Paradigmas de Linguagens de Programacao - Aula #4
Paradigmas de Linguagens de Programacao - Aula #4
 
Paradigmas de Linguagens de Programacao - Aula #3
Paradigmas de Linguagens de Programacao - Aula #3Paradigmas de Linguagens de Programacao - Aula #3
Paradigmas de Linguagens de Programacao - Aula #3
 
Criação de Jogos 2D com Técnicas 3D Utilizando Python e C
Criação de Jogos 2D com Técnicas 3D Utilizando Python e CCriação de Jogos 2D com Técnicas 3D Utilizando Python e C
Criação de Jogos 2D com Técnicas 3D Utilizando Python e C
 
Paradigmas de linguagens de programacao - aula#9
Paradigmas de linguagens de programacao - aula#9Paradigmas de linguagens de programacao - aula#9
Paradigmas de linguagens de programacao - aula#9
 
Paradigmas de Linguagens de Programacao- Aula #8
Paradigmas de Linguagens de Programacao- Aula #8Paradigmas de Linguagens de Programacao- Aula #8
Paradigmas de Linguagens de Programacao- Aula #8
 
E:\Plp 2009 2\Plp 9
E:\Plp 2009 2\Plp 9E:\Plp 2009 2\Plp 9
E:\Plp 2009 2\Plp 9
 
Apostila sistema operacional cor capa ficha 2011 02 04
Apostila sistema operacional cor capa ficha 2011 02 04Apostila sistema operacional cor capa ficha 2011 02 04
Apostila sistema operacional cor capa ficha 2011 02 04
 
A Internet das Coisas
A Internet das CoisasA Internet das Coisas
A Internet das Coisas
 
Introdução à Computação Aula 01 - Apresentação
Introdução à Computação  Aula 01 - ApresentaçãoIntrodução à Computação  Aula 01 - Apresentação
Introdução à Computação Aula 01 - Apresentação
 
Introducao ambiente windows
Introducao ambiente windowsIntroducao ambiente windows
Introducao ambiente windows
 
E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11
 
A Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em JogosA Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em Jogos
 
Apostila Algoritmos e Estrutura de Dados (AEDS)
Apostila Algoritmos e Estrutura de Dados (AEDS)Apostila Algoritmos e Estrutura de Dados (AEDS)
Apostila Algoritmos e Estrutura de Dados (AEDS)
 
Engenharia de Software - Aula1
Engenharia de Software - Aula1Engenharia de Software - Aula1
Engenharia de Software - Aula1
 

Similaire à Paradigmas de Linguagens de Programação

"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2
"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2
"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2Fabio Spanhol
 
Paradigms of programming languagens
Paradigms of programming languagensParadigms of programming languagens
Paradigms of programming languagensMarcelo Hama
 
"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python
"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python
"Mostrando a Cobra" - ou Breve Introdução à Linguagem PythonFabio Spanhol
 
Linguagen..
Linguagen..Linguagen..
Linguagen..essa
 
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 1º PERÍODO ALGORITMOS E LÓG...
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 1º PERÍODO ALGORITMOS E LÓG...CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 1º PERÍODO ALGORITMOS E LÓG...
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 1º PERÍODO ALGORITMOS E LÓG...Os Fantasmas !
 
Atps paradigmas linguagem programacao
Atps paradigmas linguagem programacaoAtps paradigmas linguagem programacao
Atps paradigmas linguagem programacaopablogranola
 
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfAmlieOGalaxias
 
Programacao computacional
Programacao computacionalProgramacao computacional
Programacao computacionalLedielson Souza
 
Programacao computacional..
Programacao computacional..Programacao computacional..
Programacao computacional..Ledielson Souza
 
Aula Inaugural - Programação Imperativa
Aula Inaugural - Programação ImperativaAula Inaugural - Programação Imperativa
Aula Inaugural - Programação ImperativaIvna Valença
 
Apresentação final
Apresentação finalApresentação final
Apresentação finalvalmon
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09essa
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09essa
 
Linguagensdeprogramao 100611235520-phpapp01
Linguagensdeprogramao 100611235520-phpapp01Linguagensdeprogramao 100611235520-phpapp01
Linguagensdeprogramao 100611235520-phpapp01Romário santos
 

Similaire à Paradigmas de Linguagens de Programação (20)

"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2
"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2
"Mostrando a Cobra" - ou Breve Introdução a Linguagem Python. ed2
 
Paradigms of programming languagens
Paradigms of programming languagensParadigms of programming languagens
Paradigms of programming languagens
 
"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python
"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python
"Mostrando a Cobra" - ou Breve Introdução à Linguagem Python
 
Functional Programming - Scala
Functional Programming - ScalaFunctional Programming - Scala
Functional Programming - Scala
 
Cap02
Cap02Cap02
Cap02
 
Cap02
Cap02Cap02
Cap02
 
Cap02
Cap02Cap02
Cap02
 
Implementação
ImplementaçãoImplementação
Implementação
 
Linguagen..
Linguagen..Linguagen..
Linguagen..
 
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 1º PERÍODO ALGORITMOS E LÓG...
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 1º PERÍODO ALGORITMOS E LÓG...CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 1º PERÍODO ALGORITMOS E LÓG...
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 1º PERÍODO ALGORITMOS E LÓG...
 
Atps paradigmas linguagem programacao
Atps paradigmas linguagem programacaoAtps paradigmas linguagem programacao
Atps paradigmas linguagem programacao
 
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
 
Programacao computacional
Programacao computacionalProgramacao computacional
Programacao computacional
 
Programacao computacional..
Programacao computacional..Programacao computacional..
Programacao computacional..
 
Aula Inaugural - Programação Imperativa
Aula Inaugural - Programação ImperativaAula Inaugural - Programação Imperativa
Aula Inaugural - Programação Imperativa
 
Apresentação final
Apresentação finalApresentação final
Apresentação final
 
Isc aula 7
Isc   aula 7Isc   aula 7
Isc aula 7
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Linguagensdeprogramao 100611235520-phpapp01
Linguagensdeprogramao 100611235520-phpapp01Linguagensdeprogramao 100611235520-phpapp01
Linguagensdeprogramao 100611235520-phpapp01
 

Plus de Fabio Spanhol

Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens HistopatológicasClassificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens HistopatológicasFabio Spanhol
 
Quem Tem Medo do Terminal?
Quem Tem Medo do Terminal?Quem Tem Medo do Terminal?
Quem Tem Medo do Terminal?Fabio Spanhol
 
ENEM - Exame Nacional do Ensino Médio
ENEM - Exame Nacional do Ensino MédioENEM - Exame Nacional do Ensino Médio
ENEM - Exame Nacional do Ensino MédioFabio Spanhol
 
Elaboração e Gerenciamento de Projetos
Elaboração e Gerenciamento de Projetos Elaboração e Gerenciamento de Projetos
Elaboração e Gerenciamento de Projetos Fabio Spanhol
 
XML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos IntrodutóriosXML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos IntrodutóriosFabio Spanhol
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2Fabio Spanhol
 
Gestão de Projetos com MS-Project 2010
Gestão de Projetos com MS-Project 2010Gestão de Projetos com MS-Project 2010
Gestão de Projetos com MS-Project 2010Fabio Spanhol
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialFabio Spanhol
 
E essa tal Virtualização?
E essa tal Virtualização?E essa tal Virtualização?
E essa tal Virtualização?Fabio Spanhol
 
Automação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com PythonAutomação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com PythonFabio Spanhol
 

Plus de Fabio Spanhol (11)

Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens HistopatológicasClassificação Automatizada de Câncer de Mama - Imagens Histopatológicas
Classificação Automatizada de Câncer de Mama - Imagens Histopatológicas
 
Quem Tem Medo do Terminal?
Quem Tem Medo do Terminal?Quem Tem Medo do Terminal?
Quem Tem Medo do Terminal?
 
ENEM - Exame Nacional do Ensino Médio
ENEM - Exame Nacional do Ensino MédioENEM - Exame Nacional do Ensino Médio
ENEM - Exame Nacional do Ensino Médio
 
Elaboração e Gerenciamento de Projetos
Elaboração e Gerenciamento de Projetos Elaboração e Gerenciamento de Projetos
Elaboração e Gerenciamento de Projetos
 
XML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos IntrodutóriosXML-RPC: Tópicos Introdutórios
XML-RPC: Tópicos Introdutórios
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2
 
Gestão de Projetos com MS-Project 2010
Gestão de Projetos com MS-Project 2010Gestão de Projetos com MS-Project 2010
Gestão de Projetos com MS-Project 2010
 
Computação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo TutorialComputação Científica com SciPy - Brevíssimo Tutorial
Computação Científica com SciPy - Brevíssimo Tutorial
 
Tutorial Python - 1
Tutorial Python - 1Tutorial Python - 1
Tutorial Python - 1
 
E essa tal Virtualização?
E essa tal Virtualização?E essa tal Virtualização?
E essa tal Virtualização?
 
Automação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com PythonAutomação de Aplicativos: Scripting com Python
Automação de Aplicativos: Scripting com Python
 

Paradigmas de Linguagens de Programação

  • 2. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Linguagens de Programação Algumas linguagens C, C++, Java, D, Perl, Python, Lua, Bash, Prolog, Pascal, Basic, Fortran, COBOL, ASM, Lisp, Haskell, Modula-2, Oberon, Java, C#, PL/1, Ada, Smalltalk, Simula, Algol, Eiffel, Scheme, CLOS, Maude, Glass, Holo,... Motivo? Propósitos diferentes Avanços tecnológicos Interesses comerciais Cultura e background científico Prof. Fabio Alexandre Spanhol, M.Sc. 2
  • 3. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Paradigma Noção Geral Modelo interpretativo ou conceitual de uma realidade • Ponto de Vista • Entendimento dessa realidade • Melhor forma de atuação • Conceitos Base Exemplos • Políticos: Liberalismo, fascismo, comunismo, socialismo, etc. • Econômicos: Monetarismo, Keynesianismo, etc. • Programação: Imperativo, funcional, OO, etc. Prof. Fabio Alexandre Spanhol, M.Sc. 3
  • 4. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Paradigma "Um paradigma é o que os membros de uma comunidade científica compartilham e uma comunidade científica consiste de pessoas que compartilham um paradigma.“ Thomas Kuhn, The Structure of Scientific Revolutions (1962) Prof. Fabio Alexandre Spanhol, M.Sc. 4
  • 5. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Paradigma de Programação Programação Processamento de informação Trata computacionalmente os problemas encontrados no mundo real Fornece e determina a visão que o programador possui sobre a estruturação e execução do programa A forma com que o programador deve raciocinar e utilizar os recursos da linguagem Determina a forma com que o desenvolvedor do programa analisa os dados Prof. Fabio Alexandre Spanhol, M.Sc. 5
  • 6. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Paradigma de Programação Realidade Domínio Prof. Fabio Alexandre Spanhol, M.Sc. 6
  • 7. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Paradigmas de Programação Paradigma imperativo Conceitos: estado, atribuição, sequenciação Linguagens: BASIC, Pascal, C, Algol, FORTRAN, Assembly, etc. Paradigma funcional Conceitos: função, aplicação, avaliação Linguagens: Lisp, ML, Ocaml, Haskell, etc. Prof. Fabio Alexandre Spanhol, M.Sc. 7
  • 8. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Paradigmas de Programação Paradigma lógico Conceitos: relação, dedução Linguagens: Prolog Paradigma orientado a objetos Conceitos: objeto, mensagem Linguagens: Python, C++, Java, Eiffel, C#, Smalltalk, etc. Prof. Fabio Alexandre Spanhol, M.Sc. 8
  • 9. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Paradigmas de Programação Paradigma concorrente Conceitos: processo, comunicação (síncrona ou assíncrona) Linguagens: Occam, Ada, Java, Limbo, Pict, etc. Prof. Fabio Alexandre Spanhol, M.Sc. 9
  • 10. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Modelos Modelo imperativo Modelo declarativo  Linguagens expressam  Linguagens que não sequências de comandos possuem os conceitos de que realizam transformações  sequências de comandos sobre dados  atribuição  Dominante e bem  linguagens funcionais: ênfase estabelecido em valores computados por  Base: máquina de von funções Neumann  linguagens lógicas: ênfase  orientadas a procedimentos em axiomas lógicos  orientadas a objetos Prof. Fabio Alexandre Spanhol, M.Sc. 10
  • 11. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Modelos de execução Sequencial Concorrente Uma computação é Múltiplas computações realizada após o término podem ser executadas da anterior simultaneamente Controle de fluxo de Computações paralelas execução interno ao múltiplos processadores programa: compartilham memória sequência Computações distribuídas seleção múltiplos computadores iteração conectados por uma rede de comunicação invocações Prof. Fabio Alexandre Spanhol, M.Sc. 11
  • 12. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Qual usar? O “grau de sucesso” de um programador depende em parte: Coleção de paradigmas que domina Da habilidade em escolher o modelo conceitual (paradigma) mais indicado para analisar e resolver cada problema Prof. Fabio Alexandre Spanhol, M.Sc. 12
  • 13. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Qual usar? Lembre-se Todo problema é um PREGO, se você tem apenas um martelo? Prof. Fabio Alexandre Spanhol, M.Sc. 13
  • 14. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Referências SEBESTA, Robert W. Conceitos de Linguagens de Programaçao. Porto Alegre: Bookman, 2011. Prof. Fabio Alexandre Spanhol, M.Sc. 14