Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Paradigmas de Linguagens de Programacao - Aula #1

6,155 views

Published on

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

Published in: Education
  • A palavra grega παραδεικνύναι está mesmo correta? Não consegui confirmar... O conteúdo é bastante objetivo e ao mesmo tempo bem completo ajudou de verdade a conceitualizar o significado de paradigmas de LP. Para mim um aspirante foi de grande ajuda. Um abraço e obrigado por disponibilizar o conteúdo.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Paradigmas de Linguagens de Programacao - Aula #1

  1. 1. Paradigmas de Linguagens de Programação Conceitos Introdutórios Aula #1 (CopyLeft)2009 - Ismar Frango ismar@mackenzie.br
  2. 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. 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. 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. 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...

×