Paradigmas de Linguagens de Programacao - Aula #1

12
Paradigmas de Linguagens de Programação Conceitos Introdutórios Aula #1 (CopyLeft)2009 - Ismar Frango [email protected]

description

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

Transcript of Paradigmas de Linguagens de Programacao - Aula #1

Page 1: Paradigmas de Linguagens de Programacao - Aula #1

Paradigmas de Linguagens de Programação

Conceitos IntrodutóriosAula #1

(CopyLeft)2009 - Ismar Frango [email protected]

Page 2: Paradigmas de Linguagens de Programacao - Aula #1

Paradigmas• A palavra paradigma tem origem:

– Na palavra grega παράδειγμα que significa “padrão” ou “exemplo”, que por sua vez vem de παραδεικνύναι, que significa “demonstrar”.

• Final do século 19 – A palavra paradigma referia-se

a um padrão de pensamento (thought pattern) em umcontexto epistemológico

– Ferdinand de Saussure (da Lingüística) usou paradigma para denotar uma classe de elementos com similaridades

Epistemologia ou teoria do conhecimento (do grego

"ἐπιστήμη" - ciência, conhecimento; "λόγος" - discurso),

é um ramo da filosofia que trata dos problemas filosóficos

relacionados à crença e ao conhecimento.

Page 3: Paradigmas de Linguagens de Programacao - Aula #1

Paradigmas

Thomas S. Kuhn foi o responsável pela definição atual de paradigma:

Sinopse do livro em http://www.des.emory.edu/mfp/kuhnsyn.html

"an entire constellation of beliefs, values and techniques, and so on, shared by the members of a

given community "

Paradigma científico (Kuhn):• what is to be observed and scrutinized, • the kind of questions that are supposed to be asked

and probed for answers in relation to this subject, • how these questions are to be structured, • how the results of scientific investigations should be

interpreted.

Page 4: Paradigmas de Linguagens de Programacao - Aula #1

Paradigmas de programação

• Um paradigma de programação é um estilo paradigmático de programar

• Uma linguagem está para um paradigma assim como um processo de engenharia de software está para uma determinada metodologia

• Um paradigma de programação fornece (e determina) a visão que o programador possui sobre a estruturação e execução do programa

Page 5: Paradigmas de Linguagens de Programacao - Aula #1

Paradigmas de programação

• * Annotative programming (as in Flare language)• * Aspect-oriented programming (as in AspectJ)• * Attribute-Oriented Programming (as in Java 5 Annotations, pre-processed by the XDoclet class; C# Attributes)• * Class-based programming, compared to Prototype-based programming (within the context of object-oriented

programming)• * Concept-oriented programming is based on using concepts as the main programming construct.• * Constraint programming, compared to Logic programming• * Dataflow programming (as in Spreadsheets)• * Flow-driven programming, compared to Event-driven programming• * Functional programming• * Imperative programming, compared to Declarative programming• * Logic programming (as in Prolog)• * Message passing programming, compared to Imperative programming• * Nondeterministic Programming• * Object-Oriented Programming (as in Smalltalk)• * Pipeline Programming (as in the UNIX command line)• * Policy-based programming• * Procedural programming, compared to Functional programming• * Process oriented programming a parallel programming model.• * Reactive programming• * Recursive programming, compared to Iterative programming• * Reflective programming• * Scalar programming, compared to Array programming• * Component-oriented programming (as in OLE)• * Structured programming, compared to Unstructured programming• * Subject-oriented programming• * Tree programming• * Value-level programming, compared to Function-level programming

• 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)

Page 6: Paradigmas de Linguagens de Programacao - Aula #1
Page 7: Paradigmas de Linguagens de Programacao - Aula #1

Voltando no tempo...

Page 8: Paradigmas de Linguagens de Programacao - Aula #1
Page 9: Paradigmas de Linguagens de Programacao - Aula #1
Page 10: Paradigmas de Linguagens de Programacao - Aula #1
Page 11: Paradigmas de Linguagens de Programacao - Aula #1
Page 12: Paradigmas de Linguagens de Programacao - Aula #1