Your SlideShare is downloading. ×
Paradigmas de Linguagens de Programação
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Paradigmas de Linguagens de Programação

2,057
views

Published on

Aula inicial da disciplina de "Fundamentos de Programação 2", ministrada para o curso de Engenharia Eletrônica.

Aula inicial da disciplina de "Fundamentos de Programação 2", ministrada para o curso de Engenharia Eletrônica.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,057
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
104
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
  • 2. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁLinguagens de ProgramaçãoAlgumas 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ÁParadigmaNoçã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 osmembros de uma comunidadecientífica compartilham e umacomunidade científica consistede pessoas que compartilham umparadigma.“ Thomas Kuhn, TheStructure of Scientific Revolutions(1962) Prof. Fabio Alexandre Spanhol, M.Sc. 4
  • 5. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁParadigma de ProgramaçãoProgramação Processamento de informaçãoTrata computacionalmente os problemasencontrados 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çãoParadigma lógico Conceitos: relação, dedução Linguagens: PrologParadigma 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çãoParadigma 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ÁModelosModelo 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çãoSequencial 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 umprogramador 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 Linguagensde Programaçao. PortoAlegre: Bookman, 2011. Prof. Fabio Alexandre Spanhol, M.Sc. 14