Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Linguagens de
Programao
Conceitos Introdutrios
Aula #1
(CopyLeft)2009 - Ismar Frango ismar@mackenzie.br
Paradigmas
A palavra paradigma tem origem:
Na palavra grega que significa padro ou
exemplo, que por sua vez vem de , que
significa demonstrar.
Final do sculo 19
Epistemologia ou teoria do
conhecimento (do grego
"" - cincia,
conhecimento; "" - discurso),
um ramo da filosofia que trata
dos problemas filosficos
relacionados crena e ao
conhecimento.
Paradigmas
Thomas S. Kuhn foi o responsvel pela
definio atual de paradigma:
"an entire constellation of beliefs, values and
techniques, and so on, shared by the members of a
given community "
Paradigma cientfico (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.
Sinopse do livro em http://www.des.emory.edu/mfp/kuhnsyn.html
Paradigmas de
programao
Um paradigma de programao um estilo
paradigmtico de programar
Uma linguagem est para um paradigma assim
como um processo de engenharia de software
est para uma determinada metodologia
Um paradigma de programao fornece (e
determina) a viso que o programador possui
sobre a estruturao e execuo do programa
Paradigmas de
programao
Paradigma
* Functional programming
(ADA, Java)
* Imperative programming, compared to Declarative programming
Orientado a
* Logic programming (as in Prolog)
Aspectos
* Message passing programming, compared to Imperative programming
* Nondeterministic Programming
( AspectJ,
* Object-Oriented Programming (as in Smalltalk)
* Pipeline Programming (as in the UNIX command line)
AspectC++)
* 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
Orientado a
Objetos ( C++,
Java,
Smalltalk)
Paradigma
Imperativo ( C,
Pascal, C++, Java)
Paradigma de
Programao em
Lgica (PROLOG,
Gdel)
Voltando no tempo...