12.07.2015 Views

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

notas de aula - Jerônimo C. Pellegrini1 E L E M E N T O S B Á S I C O S1.1 paradigmas de programaçãoHá diversas maneiras de conceber o que é “programar um <strong>com</strong>putador”, cada uma delasusando diferentes conceitos e abstrações. O nome dado tradicionalmente a cada umadestas diferentes concepções de programação é “paradigma de programação”.No paradigma imperativo, a programação se dá por sequências de <strong>com</strong>andos, incluindo<strong>com</strong>andos que modificam o estado interno da memória do <strong>com</strong>putador (de maneirasemelhante àquela <strong>com</strong>o os <strong>com</strong>putadores funcionam internamente, e talvez seja este omotivo do paradigma imperativo ser o primeiro usado na prática 1 ).No paradigma orientado a objetos, programas são conjuntos de objetos de diferentesclasses que interagem através de mensagens que ativam métodos nos objetos destino.Smalltalk [1] 2 é a linguagem onde o paradigma de orientação a objetos se mostra demaneira mais pura e clara.No paradigma lógico programas são cláusulas lógicas representando fatos, relações eregras. Prolog [2] é o principal representante da família das linguagens lógicas.Dentro do paradigma funcional, um programa é um conjunto de funções, semelhantes(mas não sempre) às funções em Matemática. Há diversas linguagens que podemrepresentar o paradigma funcional, <strong>com</strong>o ML, Haskell e <strong>Scheme</strong>. Estas são, no entanto,radicalmente diferentes apesar de <strong>com</strong>partilharem a noção de “programas <strong>com</strong>o conjuntosde funções”. Escrever programas em linguagens funcionais é, então, escrever funções. Naterminologia da programação funcional funções recebem argumentos e retornam valores. Oambiente de programação toma expressões e calcula seus valores aplicando funções.Estes não são os únicos “paradigmas” possíveis, mas certamente são os mais conhecidos.Pode-se falar também de programação <strong>com</strong> vetores (em APL [3]), ou do modeloVersão PreliminarActor [4] para programação concorrente <strong>com</strong>o paradigmas de programação, e há a progra-1 A primeira linguagem de programação de alto nível desenvolvida foi o FORTRAN, que é essencialmenteimperativo; antes dele usava-se linguagem de máquina – uma forma também imperativa de programação2 E não Java ou C++, que são linguagens onde paradigmas se misturam.[ 13 de setembro de 2010 at 21:23 ]1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!