Your SlideShare is downloading. ×
0
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
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 Programacao - Aula #1

5,244

Published on

Paradigmas de Linguagens de Programacao - Aula #1 …

Paradigmas de Linguagens de Programacao - Aula #1
Prof. Ismar Frango

Published in: Education
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,244
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
151
Comments
0
Likes
7
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. Paradigmas de Linguagens de Programação Conceitos Introdutórios Aula #1 (CopyLeft)2009 - Ismar Frango ismar@mackenzie.br
  • 2. Paradigmas <ul><li>A palavra paradigma tem origem: </li></ul><ul><ul><li>Na palavra grega παράδειγμα que significa “padrão” ou “exemplo”, que por sua vez vem de παραδεικνύναι , que significa “demonstrar”. </li></ul></ul><ul><li>Final do século 19 </li></ul><ul><ul><li>A palavra paradigma referia-se a um padrão de pensamento ( thought pattern ) em um contexto epistemológico </li></ul></ul><ul><ul><li>Ferdinand de Saussure (da Lingüística) usou paradigma para denotar uma classe de elementos com similaridades </li></ul></ul>Epistemologia ou teoria do conhecimento (do grego &quot; ἐπιστήμη &quot; - ciência, conhecimento; &quot; λόγος &quot; - discurso), é um ramo da filosofia que trata dos problemas filosóficos relacionados à crença e ao conhecimento.
  • 3. Paradigmas <ul><li>Thomas S. Kuhn foi o responsável pela definição atual de paradigma: </li></ul>Sinopse do livro em http://www.des.emory.edu/mfp/kuhnsyn.html &quot; an entire constellation of beliefs, values and techniques, and so on, shared by the members of a given community &quot; <ul><li>Paradigma científico (Kuhn): </li></ul><ul><li>what is to be observed and scrutinized, </li></ul><ul><li>the kind of questions that are supposed to be asked and probed for answers in relation to this subject, </li></ul><ul><li>how these questions are to be structured, </li></ul><ul><li>how the results of scientific investigations should be interpreted. </li></ul>
  • 4. Paradigmas de programação <ul><li>Um paradigma de programação é um estilo paradigmático de programar </li></ul><ul><li>Uma linguagem está para um paradigma assim como um processo de engenharia de software está para uma determinada metodologia </li></ul><ul><li>Um paradigma de programação fornece (e determina) a visão que o programador possui sobre a estruturação e execução do programa </li></ul>
  • 5. Paradigmas de programação <ul><li>* Annotative programming (as in Flare language) </li></ul><ul><li>* Aspect-oriented programming (as in AspectJ) </li></ul><ul><li>* Attribute-Oriented Programming (as in Java 5 Annotations, pre-processed by the XDoclet class; C# Attributes) </li></ul><ul><li>* Class-based programming, compared to Prototype-based programming (within the context of object-oriented programming) </li></ul><ul><li>* Concept-oriented programming is based on using concepts as the main programming construct. </li></ul><ul><li>* Constraint programming, compared to Logic programming </li></ul><ul><li>* Dataflow programming (as in Spreadsheets) </li></ul><ul><li>* Flow-driven programming, compared to Event-driven programming </li></ul><ul><li>* Functional programming </li></ul><ul><li>* Imperative programming, compared to Declarative programming </li></ul><ul><li>* Logic programming (as in Prolog) </li></ul><ul><li>* Message passing programming, compared to Imperative programming </li></ul><ul><li>* Nondeterministic Programming </li></ul><ul><li>* Object-Oriented Programming (as in Smalltalk) </li></ul><ul><li>* Pipeline Programming (as in the UNIX command line) </li></ul><ul><li>* Policy-based programming </li></ul><ul><li>* Procedural programming, compared to Functional programming </li></ul><ul><li>* Process oriented programming a parallel programming model. </li></ul><ul><li>* Reactive programming </li></ul><ul><li>* Recursive programming, compared to Iterative programming </li></ul><ul><li>* Reflective programming </li></ul><ul><li>* Scalar programming, compared to Array programming </li></ul><ul><li>* Component-oriented programming (as in OLE) </li></ul><ul><li>* Structured programming, compared to Unstructured programming </li></ul><ul><li>* Subject-oriented programming </li></ul><ul><li>* Tree programming </li></ul><ul><li>* Value-level programming, compared to Function-level programming </li></ul>• Paradigma Imperativo ( C, Pascal, C++, Java) • Paradigma Orientado a Objetos ( C++, Java, Smalltalk) • Paradigma Orientado a Aspectos ( AspectJ, AspectC++) • Paradigma Funcional (ML,LISP, Scheme, Haskell) • Paradigma de Programação em Lógica (PROLOG, Gödel) • Paradigma Concorrente (ADA, Java)
  • 6.  
  • 7. Voltando no tempo...
  • 8.  
  • 9.  
  • 10.  
  • 11.  
  • 12.  

×