Você está na página 1de 9

Paradigma imperativo

1. C 2. Algol : O Algol( Algorithmic Language), est entre as linguagems de programao de alto nvel, o seu uso principal a aplicao cientfica. O Algol foi a primeira linguagem de programao estruturada. Em 1960 foi lanado o algol-60 que foi reconhecida como uma das melhores linguagens(Comentrio de C.A.R. Hoare respeito do ALGOL 60: "Aqui est uma linguagem to a frente de seu tempo, que no foi uma melhoria sobre seus predecessoras, mas tambm a quase todas suas sucessoras".). E aps isto muitas outra linguagens de programao surgiram como derivadas do Algol. O aspecto mais importante a ser levado em conta no algol a sua clareza e abrangncia de sua estrutura baseada em blocos e o estilo de sua definio. Isto sem dvida contribuiu para outras linguagens tais como o pascal, o delphi e entre outras mais. 3. Basic : A linguagem Basic (Beginners All-Purpose Symbolic Instruction Code), criada por J.Kemeny e T. Kurtz em 1963 no Dartmouth College, foi elaborada para ajudar no ensino dos conceitos de programao. As linguagens FORTRAN e Assembly empregavam rotinas de baixo nvel para alguns controles e compilao, a Basic vinha ento facilitar ao programador sua tarefa, no precisando se preocupar com mtodos e algoritmos exigidos para construir e depurar programas. No incio o Basic no conseguiu atingir um nvel muito desejavel devido a : Todos os caracteres utilizados eram em caixa ,alta problemas de edentamento e o uso de funes como GOTO e GOSUB,mas sua evoluo de linguagem interpretada para uma rpida e bem estruturada linguagem compilada, mudou sua reputao. Na dcada de 70, um novo Basic interpretado e residente em ROM foi introduzido pela Microsoft e GW-BASIC logo aps o Quick Basic e mais tarde o Visual Basic. 4. Ada : O nome Ada vem de Ada Lovelace, considerada a primeira mulher programadora da histria da computao. A linguagem Ada que possue este nome em homenagem a Ada Lovelace(considerada a primeira mulher programadora da histria da computao), uma Linguagem de tipagem esttica, imperativa, orientada a objetos e uma linguagem de alto nvel, originada de Cobol,Pascal e outras linguagens. Foi originalmente produzida por uma equipe liderada por Jean Ichbiah da CII Honeywell Bull, contratados pelo Departamento de Defesa dos Estados Unidos durante a dcada de 70, com o intuito de substituir as centenas de linguagem de programao usadas pelo DoD. Ada uma aplicao com compiladores validados para uso confivel em misses criticas, tais como softwares de aviao. Normatizada internacionalmente pela ISO, sua verso mais atual de 2005. 5. Pascal 6. Cobol 7. Fortran 8. Lua : Lua uma linguagem de programao poderosa, rpida e leve, projetada para estender aplicaes. Lua combina sintaxe simples para programao procedural com poderosas construes para descrio de dados baseadas em tabelas associativas e semntica extensvel. Lua tipada dinamicamente, interpretada a partir de bytecodes para uma mquina virtual baseada em registradores, e tem gerenciamento automtico de memria com coleta de lixo

incremental. Essas caractersticas fazem de Lua uma linguagem ideal para configurao, automao (scripting) e prototipagem rpida. Ela usada em muitas aplicaes industriais (e.g., Adobe's Photoshop Lightroom), com nfase em sistemas embutidos (e.g., o middleware Ginga para TV digital) e jogos (e.g., World of Warcraft). Lua atualmente a linguagem de script mais usada em jogos. 9. Mathematica: Concebido por Stephen Wolfram, o Mathematica um CAS (computer algebra system) absolutamente fantstico, verdadeiramente revolucionrio! . A caracterstica principal do Mathematica a sua fabulosa linguagem de programao: de altssimo nvel, essencialmente funcional e sem tipos, inacreditavelmente flexvel, compacta e regular. Trata-se de uma linguagem de reescritura, base de regras de transformao, s que enriquecida por um sofisticado sistema de concordncia (sinttica) de padres. Todos os elementos do sistema (at mesmo os menus da interface) podem ser manipulados pela linguagem. O Mathematica no Brasil est em uso em organizaes importantes, como a Petrobrs, Banco Santander, Furnas, Eletronuclear, Transpetro, CENPES, INPE, Embraer, Mackenzie, USP, UNESP, Unicamp, ITA, FGV, UFRJ e muitas outras. Um bom exemplo de um software funcionando do Mathematica o site do prprio criador o http://www.wolframalpha.com/index.html 10. Python 11. Assembler

Paradigma Orientado a Objeto


1. Smalltalk: Smalltalk uma linguagem orientada a objetos, dinamicamente tipada, com uma sintaxe simples que pode ser aprendida em quinze minutos. Sua maior vantagem ser muito consistente: - Tudo um objeto: classes, mtodos, nmeros, etc. - Um pequeno nmero de regras, sem excesses! Smalltalk roda numa mquina virtual. O desenvolvimento acontece numa imagem onde todos os objetos vivem e so modicados. 2. C++ 3. Java 4. C# 5. Pascal 6. Ruby 7. Object Pascal : O Pascal ao longo de sua histria foi ganhando muita importncia, principalmente no ensino de programao, sendo em meados a dcada de 70 a linguagem mais utilizada para este fim. O desenvolvimento do compilador Turbo Pascal, pela Borland, teve grande importncia neste sucesso da linguagem, j que ele no era um simples compilador, mas um ambiente de desenvolvimento, onde se podia construir e depurar o cdigo, o que foi uma novidade para a poca. Devido a sua grande utilizao a linguagem foi incorporando as novas tecnologias na rea de linguagens de programao, como por exemplo a orientao ao objeto, o que deu origem a

uma verso da linguagem popularmente conhecida como "Object Pascal" (esta verso foi implementada junto com o IDE Delphi da Borland). Object Pascal uma linguagem de programao o orientada a objetos, ou seja, segue o paradigma de orientao a objetos (paradigma de analise, projeto e programa o de sistemas de software baseado na composio e intera o entre diversas unidades de software chamadas de objetos). estrutura de tipos: Uma das grandes caractersticas do Object Pascal que ele fortemente tipado, ou typesafe. Isto significa que vari veis atuais passadas para procedimentos ou funes devem ser do mesmo tipo que o parmetro formal identificado na definio do procedimento ou funo. 8. Objective-C Objective-C foi desenvolvido por Brad Cox e Tom Love, no comeo da dcada de 1980. O conceito desta linguagem era o de sanar problemas relacionados a reusabilidade em projetos de Software e Cox queria mostrar que isso era possvel atravs de algumas poucas mudanas prticas nas ferramentas j existentes. Em 1985, quando foi demitido da Apple, Steve Jobs fundou uma empresa chamada NeXT, que tentou desenvolver sua prpria linha de computadores pessoais com seu prprio sistema operacional. Em 1988, Jobs licenciou o Objective-C da StepStone, que detinha os direitos da linguagem, e liberou sua prpria verso do compilador e bibliotecas, nas quais a interface e estrutura do NextStep, o sistema operacional da NeXT, eram baseadas. Uma parceria da Sun Microsystems com a NeXT resultou no OpenStep, uma especificao de APIs grficas para sistemas operacionais. Apesar da NeXT no ter feito um sucesso muito grande em quantidade de vendas e pblicoalvo, ela possua algo extremamente interessante, a estrutura de um sistema operacional rpido e confivel, o OpenStep. Ento, em 1989, A Apple adquire a NeXT, trazendo Steve Jobs de volta Apple como seu CEO, e utiliza o OpenStep como base para seu prximo Sistema operacional,o Mac OSX, isto inclui o Objective-C, o Project Builder(mais tarde substitudo pelo Xcode) e o InterfaceBuilder. 9. SuperCollider : SuperCollider uma linguagem e ambiente de programao, lanado originalmente em 1996 por James McCartney para sntese de udio e composio algortmica em tempo real. um software livre, lanado sob os termos da GNU.Desde ento, evoluiu para um sistema usado e futuramente desenvolvido tanto por cientistas quanto por artistas que trabalham com som.Sua linguagem de programao dinmica expressiva e eficiente fez com que ele se tornasse um ponto importante para a pesquisa acstica e a programao interativa.

10. Oberon: Oberon uma linguagem de programao criada em 1986 por Niklaus Wirth, o mesmo criador das linguagens Pascal, Modula e Modula 2, como parte integrante do Sistema Operacional Oberon . uma linguagem significativamente menor e menos complexa do que sua antecessora a Modula 2. Oberon uma lnguagem de programao muito bem como Modula-2 na sintaxe mas com diversas caractersticas interessantes. Baseou em conceitos de OOP e fornece uma relao de usurio grfica Windows-based. 11. Eiffel: Eiffel foi criado em 1985 por Bertrand Meyer. uma linguagem de programao orientado a objectos centrado na construo de software robusto. Sua sintaxe parecida da linguagem de programao Pascal. Uma caracterstica que o distingue do resto das linguagens que permite o desenho por contrato desde a base, com precondies, ps-loop invariantes e variantes, invariantes de classe (Programao orientada a objetos) e afirmaes. Eiffel uma linguagem com tipos fortes, mas relajado por herana. Implementa administrao automtica de cor, geralmente mediante algoritmos de coleta de lixo 12. Simula: Linguagem SIMULA foi criada na Noruega por Ole-Johan Dahl and Kristen Nygaard uma Linguagem de programao derivada do Algol. O SIMULA I (1962-65) e Simula 67 (1967) foram as primeiras linguagens OO,eram usadas para simulaes do comportamento de partculas de gases. Os conceitos de objetos, classes e herana apareceram l embora no necessariamente com estes nomes,a herana apareceu apenas em Simula 67 e se falava apenas em subclassing.Simula passou a ser usada com freqncia da dcada de 70, sendo inclusive a linguagem utilizada para desenvolver as primeiras verses de Smalltalk. 13. .NET

Paradigma Funcional
1. Clojure: Clojure uma outra linguagem de programao para JVM. Porm, bem diferente da tecnologia Java ou de qualquer outra linguagem para JVM mencionada. Ele um dialeto derivado do Lisp. O Clojure usa as expresses S distintas ou a notao prefixo. Essa notao pode ser resumida como (argumentos de funo...). Voc sempre comea com o nome de uma funo e liste zero ou mais argumentos a serem transmitidos para essa funo. A funo e seus argumentos esto organizados juntos, colocando-os entre parnteses. Isso leva a uma das marcas registradas do Clojure: muitos parnteses.

Como voc pode supor, o Clojure uma linguagem de programao funcional. Os acadmicos podem debater sua "pureza", mas eles adotam definitivamente os pilares da programao funcional: evitam o estado mutvel, recurso, funes de ordem mais alta, etc. Clojure tambm uma linguagem digitada dinamicamente, embora voc possa adicionar opcionalmente as informaes de tipo para melhorar o desempenho para caminhos crticos em seu cdigo. Clojure no s executado na JVM, mas foi projetado com a interoperabilidade Java em mente. Finalmente, Clojure uma linguagem projetada tendo a coincidncia em mente e tem alguns recursos exclusivos relacionados programao simultnea. 2. Erlang: Erlang a passagem de mensagens de forma assncrona , uma linguagem de programao funcional no-pura para programao de sistemas concorrentes e distribudos. Erlang incorpora muita das recentes inovaes de linguagem de programao, incluindo funes de alta ordem, avaliao estrita, gerenciamento automtico de memria (garbage collection), pattern-matching, compreenso de listas, sistema de mdulos, tipos de dados primitivos, incluindo inteiros, nmeros reais, suporte para programao seqencial e concorrente. Erlang possui um modelo de concorrncia baseado em processos. A concorrncia explicita, possibilitando que o usurio controle precisamente as computaes realizadas seqencialmente e aquelas executadas em paralelo. O nico meio para troca de dados em Erlang a passagem de mensagens de forma assncrona. 3. Haskell: A lingugem Haskell surgiu em 1990, e a sua base fundamentao matemtica do clculo lambda, isto , as suas funes podem ser combinadas para formar outras funes, uma linguagem pura, sem efeitos colaterais, e sem complicaes sintcticas, destaca-se pela sua clareza do cdigo. No Haskell temos diferentes conceitos tais como polimorfismo, permite uma generalizao do cdigo criada, lazy evaluation, funes de ordem superior, que permite uma reduo drstica do cdigo e de erros, definio de listas por compreenso, entre outros. Possui um vasto reportrio de tipos de dados, estruturados sob uma hierarquia de tipos de classes, com deduo automtica de tipos dados, o que evita erros de programao e facilita a sua aprendizagem. Relativamente a velocidade de execuo, a linguagem Haskell no to lenta como algumas pessoas podero pensar, foram feitos alguns testes em que comprando Haskell com outras linguagens de programao, ficou em quarto lugar em termos de velocidade. No entanto, se para a aplicao desejada o tempo de execuo absolutamente crucial, no podendo sacrificar o mnimo de tempo, aconselha-se a utilizao da linguagem C. No entanto, se a estabilidade do software, e o tempo gasto a programar so prioridades, a escolha de Haskell seria a mais acertada. Alm destes pontos, a linguagem Haskell de cdigo aberto, com vrios compiladores e interpretadores disponveis, multiplataforma, alm de seu uso estar em grande expanso. 4. J:

Criada por Kenneth Iverson e Roger Hui nos anos 90, J uma sntese das linguagens de programao APL (criado tambm por Iverson) e as linguagens funcionais FP e FL criados por John Backus (famoso por FORTRAN, ALGOL e BNF). Para eliminar o problema gerado pelo uso de um jogo de caracteres especiais em APL, J s requer o jogo de caracteres bsicos ASCII. Usam-se tanto o ponto como os dois pontos para estender o significado do jogo de caracteres disponvel. Dado que trata-se de uma linguagem de programao de arranjos J muito conciso e potente, e til para criar programas nos campos das matemticas e da estatstica, especialmente quando envolvem operaes com matrizes. Da mesma maneira que as linguagens FP/FL, J suporta Programao a nvel de funes(tambm conhecida como programao funcional de alta ordem), graas a suas caractersticas de programao ttica (se note que a programao a nvel de funes no o mesmo que programao funcional). A diferena de muitas linguagens que suportam a programao orientada a objectos, o flexvel esquema de espao de nomes hierrquicos da linguagem J (onde a cada nome existe em um mbito particular) pode ser usado com efetividade como um marco de trabalho para realizar programao orientada a objectos baseada tanto em classes, como em instncias. 5. (Common) Lisp 6. Miranda: Miranda foi criada para ser uma linguagem funcional mais atraente para o mercado e para o meio acadmico, oferecendo conceitos antes no disponveis em linguagens funcionais como abstrao e polimorfismo. Criada pelo Professor Ingls David Turner, Miranda uma evoluo das SASL e KCR (tambm desenvolvidas pelo Prof. David) usando alguns conceitos de Hope e ML. O projeto de Miranda foi desenvolvido no laboratrio da Universidade de Kent na Inglaterra entre 1985 e 1986, mas est atualmente sob o domnio da empresa Researcher Software LTD. que se tornou dona na marca Miranda. Miranda pode ser utilizada em uma grande gama de aplicaes, mas suas principais so: prototipao rpida, ensino de linguagens funcionais, como linguagem de especificao, e pesquisa sobre o paradigma funcional. Miranda possui aplicaes prticas principalmente no que diz respeito prototipao rpida, ensinar programao funcional e realizar pesquisas em programao funcional, bem como uma linguagem de especificao e uma ferramenta para programao em geral. 7. Scheme:

Scheme foi desenvolvida em 1975 por Guy L. Steele e Gerald J. Sussman. Eles queriam desenvolver uma linguagem de semntica simples e clara. Scheme foi influenciada pelo clculo lambda, que uma das primeiras linguagens de programao funcional, teve seu escopo esttico herdado de Algol e a sintaxe de Lisp. uma linguagem muito bem desenhada e de propsito geral. A flexibilidade de Scheme garantida devido a ausncia de restries, assim o no limitando o poder da linguagem. Utilizao de sistema de recurso denominado Tail Recursion (recurso de cauda). 8. ML:

ML foi criado por Robin Milner e outros no final dos anos 1970 na Universidade de Edimburgo, cuja sintaxe foi inspirada pelo ISWIM. considerada uma linguagem funcional impura por permitir efeitos colaterais e, por esta razo tambm considerada uma linguagem de programao multi-paradigma. As caractersticas do ML so incluir chamada-a-valor avaliao e estratgia, em primeira classe funes de gerenciamento automtico de memria atravs de coleta seletiva de lixo, polimorfismo paramtrico, tipagem esttica, tipo inferncia, tipos de dados algbricos, correspondncia padro, exceo e manuseio. Hoje existem vrios idiomas no ML famlia; os dois principais dialetos so Standard ML e Caml, mas existem outros que influenciaram muitas outras lnguas, como Haskell, Cyclone, e Nemerle. Os pontos fortes da ML so aplicados principalmente em lngua e manipulao (compiladores, analisadores, provadores de teoremas), mas uma linguagem de aplicao geral tambm utilizado em bioinformtica, sistemas financeiros, e aplicativos, incluindo um banco de dados genealgicos, um clienteP2P / programa servidor, etc.

Paradigma Lgico
1. QLISP : Um dos grandes problemas na criao de programas para tirar proveito do processamento paralelo tem sido a falta de boas lnguas multiprocessamento ,aquele que poderoso e compreensvel para programadores. Existem extenses de multiprocessamento para Common Lisp projetado para ser adequado para estudar os estilos de programao paralela em o nvel mdio de gros em uma arquitetura de memria compartilhada. A linguagem resultante chamado QLISP. Um problema com a programao paralela o grau em que o programador deve explicitamente resolver os problemas de sincronizao. Duas novas abordagens para o problema olhar promissor: o RST o conceito de futuros pesado, ea segunda um novo tipo de uma funo chamada parcialmente, multiplicar funo invocada. 2. Planner: Planner foi a primeira linguagem de programao lgica a qual permitia a invocao orientada a padres de planos procedimentais de asseres e de objetivos. Com a necessidade de adaptao aos sistemas de memria muito limitada, que eram disponveis quando ela foi desenvolvida. A linguagem Planner usava estruturas de controle de backtracking, de tal forma que apenas um nico caminho computacional tinha que ser armazenado por vez.

A partir do Planner, foram desenvolvidas as seguintes linguagens de programao QA-4,Popler e Conniver. 3. Prolog: A Linguagem de Programao Prolog estabelece relaes entre objetos e formula consultas sobre tais relaes de forma no numrica, mas simblica. Um programa Prolog formado por clusulas. H trs tipos de clusulas: fatos ou assertivas, regras ou procedimentos e consultas. Uma relao pode ser especificada por meio de: - fatos, que estabelecem as tuplas de objetos que satisfazem a relao, - regras, que estabelecem condies para a satisfao das relaes, - combinaes de fatos e regras descrevendo a relao; Interrogar um programa acerca de suas relaes por meio de uma consulta corresponde a consultar uma base de conhecimento. A resposta do sistema Prolog consiste em um conjunto de objetos que satisfazem as condies originalmente estabelecidas pela consulta; As linguagens de programao Mercury, Visual Prolog eFrill, foram desenvolvidas a partir do Prolog 4. Oz : Oz possue uma forma simples e feita da maioria dos conceitos dos principais paradigmas, incluindo programao lgica, funcional, imperativa, orientada a objectos, com restries, distribuda, concorrente. Oz tem uma semntica formal simples e uma implementao eficiente, o Sistema de Programao Mozart. Oz uma linguagem orientada participao, termo introduzido por Joe Armstrong, o principal desenhador da linguagem Erlang. Uma linguagem orientada participao faz participao fcil de usar e eficiente. Como complemento programao multiparadigma, as principais vantagens de Oz radicam na programao com restries e a programao distribuda. Devido a seu desenho, Oz implementa um modelo de programao distribudo que faz rede transparente. Este modelo faz fcil programar aplicaes abertas e tolerantes a falhas na linguagem. Para Programao com restries, Oz introduz a ideia de espaos de computao, os quais permitem buscas definidas pelo utente e estratgias de distribuio que so ortogonales ao domnio de restries.

Bibliografia http://labes.inf.ufes.br/vsouza/sites/default/files/CursoOOSlides03.pdf http://www.ncc.up.pt/~pbv/aulas/pf/aula1.pdf http://weblog.destaquenet.com/2009/06/16/programacao-funcional-vale-a-pena-aprender/ http://www.ic.uff.br/~bazilio/cursos/lp/material/lang_a4.pdf http://www-usr.inf.ufsm.br/~shun/elc117/t2/index.html http://brasiliavirtual.info/tudo-sobre/ada-linguagem-de-programacao/ http://wapedia.mobi/pt/Linguagem_de_programa%C3%A7%C3%A3o_Ada http://www.gregosetroianos.mat.br/softmathematica.asp http://www.ebah.com.br/linguagem-de-programacao-pdf-a22670.html http://gigaflops.tripod.com/page/lp/pascal/pascal.html http://www.ebah.com.br/linguagem-de-programacao-pdf-a22670.html http://www.patrickgasnier.com/PDF/Introducao_Desenvolvimento_Iphone/03ObjectiveC.pdf http://www.ia.unesp.br/pos/stricto/musica/teses/dissertacao_aldocardoso.pdf

http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_l%C3%B3gica http://books.google.com.br/books?id=b0tcn_uPLoAC&pg=PA89&lpg=PA89&dq=Oberon+Prog rama%C3%A7%C3%A3o&source=bl&ots=zGLLajPG4O&sig=jn3CQnqAmtAd5gLudZyVy0B qm50&hl=ptBR&ei=oRteTNT8H4mMuAeCzIm0Bw&sa=X&oi=book_result&ct=result&resnum=7&ved=0 CEMQ6AEwBjgK http://pt.wikilingue.com/es/Linguagem_de_programa%C3%A7%C3%A3o_Eiffel http://www.jairo.pro.br/lpi/ling_prog.pdf http://www.ibm.com/developerworks/br/opensource/library/os-eclipse-clojure/ http://www.cin.ufpe.br/~hemr/papers/CESBAM04_rebelo.pdf http://calculoprogramas.wetpaint.com/page/Linguagem+de+Programa%C3%A7%C3%A3o+Has kell http://www.geomatica.eng.uerj.br/docentes/araujo/_media/carac:scheme1.ppt http://www.cin.ufpe.br/~jpsm/PLC.doc http://pt.wikipedia.org/wiki/ML_%28linguagem_de_programa%C3%A7%C3%A3o%29 http://www.dreamsongs.com/Files/hicss.pdf http://www.dborgesti.com.br/apostilas/Apostila-Prolog.pdf