You are on page 1of 8

Curso Superior de Bacharelado em Sistemas de Informao Disciplina de Algoritmos e Programao Professor: Nildo Carlos da Silva

Evoluo das Principais Linguagens de Programao Janio Luiz Antunes1


A primeira LP (mas no implementada): Plankalkl foi uma linguagem de programao criada por Konrad Zuse nos anos de 1942 a 1946. Foi a primeira linguagem de programao de alto nvel do mundo. Esta linguagem de programao possui entre outras coisas, indicaes de atribuio, chamadas da funo (subrotinas), instrues condicionais, estrutura de repetio (iterao), aritmtica de ponto flutuante, matrizes (arrays), tipos de dados compostos, tratamento de exceo, dentre outras caractersticas. Zuse no pretendia usar a linguagem nos sucessores de seu Z3 (Primeiro computador digital, automtico, programvel, de propsito geral, completamente funcional, eletro-mecnico), mas os eventos da Segunda Guerra Mundial foraram o seu uso por muito tempo. Durante anos esse trabalho permaneceu esquecido. Somente em 1972 foi publicada completamente. No contexto de uma tese, Plankalkl foi descrito e implementado em 1975 por J. Hohmann. No final dos anos 90 foram feitas implementaes alternativas independentes (1998 e dois anos mais tarde, na universidade livre de Berlim), incluindo um editor de sinttico. Principais pocas 1955 1965:

FORTRAN (FORmula TRANslation/TRANslator) A famlia de linguagens de programao conhecida globalmente como Fortran foi desenvolvida a partir da dcada de 1950 e continua a ser usada hoje em dia. O nome um acrnimo da expresso "IBM Mathematical FORmula TRANslation System" As verses iniciais da linguagem eram conhecidas como FORTRAN, mas a capitalizao foi ignorada em verses recentes da linguagem comeando a partir do Fortran 90. Os padres oficiais da linguagem referem-se a ela atualmente como "Fortran". A linguagem Fortran principalmente usada em Cincia da Computao e Anlise Numrica. Apesar de ter sido inicialmente uma linguagem de programao procedural, verses recentes de Fortran possuem caractersticas que permitem suportar programao orientada por objetos.

Acadmico do curso de Sistemas de Informao; janioantunes@hotmail.com

COBOL (COmmon Business Oriented Language) Foi desenvolvida em 1959 (em torno do mesmo tempo como Fortran) para substituir linguagens de processamento especfico assembler (linguagens de segunda gerao). O primeiro padro ANSI foi o padro 68(embora ele tivesse sido usado comumente desde 1961). Padres posteriores eram o padro 74 e o padro 85. A maioria dos programas Cobol usados hoje so de acordo com o padro 85 (e ento faz-se o Tiny Cobol). Ele no tem uma estrutura de blocos e consequentemente sem nenhuma maneira de esconder variveis; h mais liberdade na escrita do programa; nmeros so prximos a aritmtica humana, por exemplo: ponto fixo ou nmeros decimais so geralmente usados ao invs do ponto flutuante; O I/O orientado por registro, no por classificao; recursividade no permitido e a lngua prpria muito extensa pois no usa bibliotecas. ALGOL 60 (ALGorithmic Oriented Language) Em muitos aspectos, a linguagem ALGOL-60 provou ser revolucionria para a poca. Entre estes aspectos destacam-se a estrutura de blocos, declaraes explcitas de variveis, regras de escopo para variveis locais, rotinas recursivas em uma linguagem imperativa, expresses if aninhadas e tempos de vida dinmicos para variveis. Outra inovao da linguagem foi a sua definio, usando a BNF, que facilitou em muito o projeto do compilador. ALGOL 60, entretanto no se tornou um sucesso em termo de vendas. Entre as razes apontadas para isto esto o interesse da IBM em investir em seu FORTRAN e a falta de comandos de entrada e sada, pois a linguagem havia sido projetada com a inteno de ser independente de mquina. Uma forma nova de passagem de parmetros veio com o ALGOL-60: a passagem de parmetros por nome ( call-by-name ). LISP (LISt Processing) Foi concebida por John McCarthy em 1958. Num clebre artigo, ele mostra que possvel usar exclusivamente funes matemticas como estruturas de dados elementares (o que possvel a partir do momento em que h um mecanismo formal para manipular funes: o Clculo Lambda de Alonzo Church). Durante os anos de 1970 e 1980, Lisp se tornou a principal linguagem da comunidade de inteligncia artificial, tendo sido pioneiro em aplicaes como administrao automtica de armazenamento, linguagens interpretadas e programao funcional. APL (A Programming Language) Destinada operaes matemticas, ela nasceu do trabalho de um professor de matemtica canadense de nome Kenneth Iverson. A linguagem APL foi formalmente definida e introduzida por Iverson em seu livro A Programming Language de 1962. Sua proposta original era a de produzir uma nova notao matemtica, menos sujeita s ambiguidades da notao convencional. Segundo Iverson, foi projetada com o objetivo de ser matematicamente concisa. Na dcada de 1960, trabalhando na IBM em conjunto com Adin Falcoff, ambos produziram a primeira verso de APL, quando um interpretador da linguagem ficou disponvel.

Programas em APL em geral sempre so muito pequenos, embora poderosos. A linguagem est preparada para tratar arranjos de grandes dimenses. BASIC (Beginners All-purpose Symbolic Instruction Code) uma linguagem de programao, criada com fins didticos, pelos professores John George Kemeny e Thomas Eugene Kurtz em 1964 no Dartmouth College. BASIC tambm o nome genrico dado a uma grande famlia de linguagens de programao derivadas do BASIC original. Provavelmente existem mais variaes de BASIC do que de qualquer outra linguagem de programao. quase sem sentido comparar o BASIC original com verses atuais, principalmente o Visual Basic, tendo em vista as grandes modificaes existentes na linguagem. 1965 1971:

PL/I (Programming Language One) uma linguagem de programao desenvolvida pela IBM em meados de 1960. A previso da IBM era que a linguagem fosse utilizada em cincias, inteligncia artificial e negcios. Por um perodo de tempo foi a principal linguagem ensinada na Universidade de Michigan Dearborn. Entretanto, a popularidade declinou nos anos recentes, devido introduo de linguagens de programao mais modernas voltadas para o ambiente Mainframe. Sua principal funo o processamento/manipulao de dados; suporta recurso e alocao dinmica. SIMULA 67 Simula a primeira linguagem de programao orientada a objetos. Em vrios anos aps seu desenvolvimento, quase todas as linguagens modernas comearam a utilizar seus princpios de orientao a objetos. Assim foi como se popularizam termos como classes, objetos, instncias, herana, polimorfismo, etc. Simula 67 foi lanado oficialmente por seus autores Ole Johan Dahl e Kristen Nygaard em maio de 1967, na Conferncia de Trabalho em Linguagens de Simulao IFIO TC 2, em Lysebu. O impacto do Simula 67 foi enorme, devido a ser a primeira linguagem orientada a objetos, porm levou tempo para se concretizar. Na verdade, a Orientao a objeto teve que esperar a criao de Smalltalk 80 para definir seu impacto ALGOL 68 Foi concebida como sucessora do ALGOL 60, sendo projetada com os objetivos de atender um escopo muito maior de aplicaes e possuir uma sinttica e semntica mais rigorosas. Contribuies do ALGOL 68 para o campo de informtica so profundos, embora alguns deles no foram identificados publicamente at que foram passados, de uma forma ou outra, para uma de muitas linguagens de programao desenvolvidas subsequentemente.

Pascal Pascal uma linguagem de programao estruturada, que recebeu este nome em homenagem ao matemtico Blaise Pascal. Foi criada em 1970 pelo suo Niklaus Wirth, tendo em mente encorajar o uso de cdigo estruturado. O prprio Niklaus Wirth diz que Pascal foi criada simultaneamente para ensinar programao estruturada e para ser utilizada em sua fbrica de software. A linguagem extremamente bem estruturada e muito adequada para ensino de linguagens de programao. provavelmente uma das linguagens mais bem resolvidas entre as linguagens estruturadas, e certamente um dos exemplos de como uma linguagem especificada por uma pessoa pode ser bem melhor do que uma linguagem especificada por um comit. 1971 1980:

PROLOG (PROgramming in LOGic) uma linguagem de programao que se enquadra no paradigma de Programao em Lgica Matemtica. uma linguagem de uso geral que especialmente associada com a inteligncia artificial e lingstica computacional. Consiste numa linguagem puramente lgica, que pode ser chamada de Prolog puro, e numa linguagem concreta, a qual acrescenta o Prolog puro com componentes extra-lgicos. Smalltalk Em Smalltalk tudo objeto: os nmeros, as classes, os mtodos, blocos de cdigo, etc. No h tipos primitivos, ao contrrio de outras linguagens orientadas a objeto; strings, nmeros e caracteres so implementados como classes em Smalltalk, por isso esta linguagem considerada puramente orientada a objetos. Tecnicamente, todo elemento de Smalltalk um objeto de primeira ordem. Os programadores definem classes de objetos em suas aplicaes para imitar (ou simular) o mundo real. Estas classes de objeto so organizadas hierarquicamente, de modo que seja possvel fazer novos objetos com caractersticas de outros objetos, com poucas mudanas. Smalltalk relativamente fcil de aprender comparado a linguagens como C++ e ADA. O cdigo-fonte Smalltalk fcil de ler, o que o torna a linguagem de programao ideal para iniciantes. C uma linguagem de programao compilada de propsito geral, estruturada, imperativa, procedural, de alto nvel, padronizada pela ISO, criada em 1972, por Dennis Ritchie, no AT&TBell Labs, para desenvolver o sistema operacional Unix (que foi originalmente escrito em Assembly). C uma das linguagens de programao mais populares e existem poucas arquiteturas para as quais no existem compiladores para C. C tem influenciado muitas outras linguagens de programao, mais notavelmente C++, que originalmente comeou como uma extenso para C.

Modula 2 Criada por Niklaus Wirth na ETH em 1978, surgiu a partir da necessidade de criar uma linguagem prtica, eficiente e essencialmente independente do hardware sobre o qual fosse executada. descendente, principalmente, de duas outras linguagens: o Modula e o Pascal. Da primeira herdou o nome e o conceito de mdulos, alm da sintaxe sistemtica e moderna, dentre outras caractersticas, do Pascal. Ada Linguagem de programao estruturada, de tipagem esttica, uma linguagem imperativa, orientada a objetos e uma linguagem de alto nvel, originada do 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. O nome Ada vem de Ada Lovelace, considerada a primeira mulher programadora da histria da computao. C++ uma linguagem de programao multiparadigma e de uso geral. A linguagem considerada de mdio nvel, pois combina caractersticas de linguagens de alto e baixo nveis. Desde os anos 1990 uma das linguagens comerciais mais populares, sendo bastante usada tambm no meio academico por seu grande desempenho e base de utilizadores. Bjarne Stroustrup desenvolveu o C++ (originalmente com o nome C with Classes) em 1983 no Bell Labs como um adicional linguagem C. Novas caractersticas foram adicionadas com o tempo, como funes virtuais, sobrecarga de operadores, herana mltipla, gabaritos e tratamento de excees. Aps a padronizao ISO realizada em 1998 e a posterior reviso realizada em 2003, uma nova verso do padro da linguagem est em desenvolvimento. Eiffel uma linguagem de programao puramente orientada a objeto, que implementa as teorias sobre a orientao a objeto de Bertrand Meyer. Sendo Bertrand Meyer um terico francs da orientao a objeto, o nome da linguagem obviamente uma aluso famosa Torre Eiffel, um dos smbolos de Paris e, portanto, da Frana. Sendo este autor muito atento aos fundamentos tericos, a linguagem de programao Eiffel tem, ao lado de muitas inovaes polmicas, um retorno aos clssicos. Especificamente, so usadas nela conceitos de linguagens muito mais antigas, como Simula 67 (a primeira linguagem de programao 1985 1990:

orientada a objeto) e CLU, linguagem de programao modular devida a Barbara Liskov, outra importante terica de tcnicas de projeto e programao de software. Modula 3 Foi concebida como a sucessora de uma verso atualizada do Modula-2. Apesar de ter sido influente nos meios de pesquisa, influenciando o desenvolvimento de linguagens comerciais como Java e C#, nunca atingiu adoo na indstria de forma considervel. As principais funcionalidades so a simplicidade e a segurana enquanto preservando o poder das linguagens de programao de sistemas. O objetivo foi continuar a tradio da segurana de tipagem do Pascal enquanto introduzindo novas construes de programao. Foi adicionado suporte para programao genrica (similar a templates), multitarefa, tratamento de excees, coletor de lixo, programao orientada a objeto e encapsulamento de cdigo. Questes mais complexas como herana mltipla e sobrecarga de operadores foram omitidas. Visual Basic O Visual Basic uma linguagem de programao produzida pela empresa Microsoft, e parte integrante do pacote Microsoft Visual Studio. Em suas primeiras verses, o Visual Basic no permitia acesso a bancos de dados, sendo portanto voltado apenas para iniciantes, mas devido ao sucesso entre as empresas, que faziam uso de componentes adicionais fabricados por terceiros para acesso a dados, a linguagem logo adotou tecnologias como DAO, RDO, e ADO, tambm da Microsoft, permitindo fcil acesso a bases de dados. Mais tarde foi adicionada tambm a possibilidade de criao de controles ActiveX, e, com a chegada do Visual Studio .NET, o Visual Basic tornou-se uma linguagem totalmente orientada a objetos. Java uma linguagem de programao orientada a objeto desenvolvida na dcada de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems. Diferentemente das linguagens convencionais, que so compiladas para cdigo nativo, a linguagem Java compilada para um "bytecode" que executado por uma mquina virtual. A linguagem de programao Java a linguagem convencional da Plataforma Java, mas no sua nica linguagem. Haskell Haskell uma linguagem de programao puramente funcional, de propsito geral, nomeada em homenagem ao lgico Haskell Curry. Seu ltimo padro semi-oficial o Haskell 98, destinado a especificar uma verso mnima e portvel da linguagem para o ensino e como base para futuras extenses. 1990 ??:

a linguagem funcional sobre a qual mais pesquisa est sendo realizada. Muitas variantes tem sido desenvolvidas: verses paralelizveis do MIT e Glasgow, ambas chamadas Parallel Haskell, outras verses paralelas e distribuidas chamadas Distributed Haskell e Eden, uma verso chamada Eager Haskell e vrias verses orientadas a objetos: Haskell++, O'Haskell e Mondrian. Uma verso educacional do Haskell chamada Gofer foi desenvolvida por Mark Jones. Ela oferecida pelo HUGS. Existe tambm uma verso do Haskell que permite orientao a aspectos (POA), chamada AspectH. C# uma linguagem de programao orientada a objetos criada pela Microsoft, faz parte da sua plataforma .NET. A empresa baseou C# nas linguagens C++ e Java, e ela considerada a linguagem smbolo do .NET, por ter sido criada praticamente do zero para funcionar na nova plataforma, sem preocupaes de compatibilidade com cdigo existente. O compilador C# foi o primeiro a ser desenvolvido, e a maior parte das classes da plataforma foram desenvolvidas nesta linguagem. PHP uma linguagem de programao de computadores interpretada, livre e muito utilizada para gerar contedo dinmico na Internet. A linguagem surgiu por volta de 1994, como um pacote de programas CGI criados por Rasmus Lerdorf, com o nome Personal Home Page Tools, para substituir um conjunto de scripts Perl que ele usava no desenvolvimento de sua pgina pessoal. Em 1997 foi lanado o novo pacote da linguagem com o nome de PHP/FI, trazendo a ferramenta Forms Interpreter, um interpretador de comandos SQL. Perl uma linguagem de programao estvel e multiplataforma, usada em aplicaes de misso crtica em todos os setores, sendo destacado o seu uso no desenvolvimento de aplicaes web de todos os tipos. Permite a criao de programas em ambientes UNIX, MSDOS, Windows, Macintosh, OS/2 e outros sistemas operacionais. Alm de ser muito utilizada para programao de formulrios web e em tarefas administrativas de sistemas UNIX, onde a linguagem nasceu e se desenvolveu. Possui funes muito eficientes para manipulao de textos. Python uma linguagem de programao de alto nvel, interpretada, imperativa, orientada a objetos, de tipagem dinmica e forte. Foi lanada por Guido van Rossum em 1991. Atualmente possui um modelo de desenvolvimento comunitrio, aberto e gerenciado pela organizao sem fins lucrativos Python Software Foundation. Apesar de vrias partes da linguagem possurem padres e especificaes formais, a linguagem como um todo no formalmente especificada. A linguagem foi projetada com a filosofia de enfatizar a importncia do esforo do programador sobre o esforo computacional. Prioriza a legibilidade do cdigo sobre a velocidade ou expressividade.

Combina uma sintaxe concisa e clara com os recursos poderosos de sua biblioteca padro e por mdulos e frameworks desenvolvidos por terceiros. Ruby uma linguagem de programao interpretada orientada a objetos, reflexiva, de tipagem dinmica e forte que combina uma sintaxe inspirada em Perl com recursos semelhantes aos do Smalltalk. Ruby se originou no Japo em 1995 e foi inicialmente desenvolvida e planejada por Yukihiro "Matz" Matsumoto. Foi inspirada principalmente no Perl, Smalltalk, Eiffel, e Lisp. Ruby suporta mltiplos paradigmas, incluindo programao funcional, orientada a objetos, imperativa e reflexiva. Tambm possue um sistema de tipos de dados dinmicos e gerenciamento de memria automtica; ela muito similar em vrios aspectos a Python, Perl, Lisp, Dylan, Pike, e CLU.

You might also like