Você está na página 1de 11

Linguagem de programao Wikipdia, a enciclopdia livre https://pt.wikipedia.

org/wiki/Linguagens_de_programao

Linguagem de programao
Origem: Wikipdia, a enciclopdia livre.

Uma linguagem de programao um mtodo


padronizado para comunicar instrues para um
computador.[1] um conjunto de regras sintticas e
semnticas usadas para definir um programa de
computador.[2][Nota 1] Permite que um programador
especifique precisamente sobre quais dados um
computador vai atuar, como estes dados sero
armazenados ou transmitidos e quais aes devem ser
tomadas sob vrias circunstncias. Linguagens de
programao podem ser usadas para expressar
algoritmos com preciso.
Trecho de programa na linguagem de programao C.
O conjunto de palavras (lexemas classificados em
tokens), compostos de acordo com essas regras,
constituem o cdigo fonte de um software.[3] Esse cdigo fonte depois traduzido para cdigo de mquina,
que executado pelo processador.[3]

Uma das principais metas das linguagens de programao que programadores tenham uma maior
produtividade, permitindo expressar suas intenes mais facilmente do que quando comparado com a
linguagem que um computador entende nativamente (cdigo de mquina).[4] Assim, linguagens de
programao so projetadas para adotar uma sintaxe de nvel mais alto, que pode ser mais facilmente
entendida por programadores humanos. Linguagens de programao so ferramentas importantes para que
programadores e engenheiros de software possam escrever programas mais organizados e com maior
rapidez.

Linguagens de programao tambm tornam os programas menos dependentes de computadores ou


ambientes computacionais especficos (propriedade chamada de portabilidade[5]). Isto acontece porque
programas escritos em linguagens de programao so traduzidos para o cdigo de mquina do computador
no qual ser executado em vez de ser diretamente executado. Uma meta ambiciosa do Fortran, uma das
primeiras linguagens de programao, era esta independncia da mquina onde seria executada.[6][7]

ndice
1 Histria
2 Interpretao e compilao
3 Conceitos
3.1 Programao estruturada
3.2 Programao modular
3.3 Programao orientada a objetos
3.4 Programao linear
4 Classificao
4.1 Classificao da ACM
4.2 Quanto ao paradigma
4.2.1 Paradigmas Imperativos

1 de 11 25/08/2017 18:54
Linguagem de programao Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Linguagens_de_programao

4.2.2 Paradigmas Declarativos


4.3 Quanto a estrutura de tipos
4.4 Quanto ao grau de abstrao
4.5 Quanto gerao
5 Lista de linguagens
6 Notas
7 Referncias
8 Bibliografia
9 Ver tambm
10 Ligaes externas

Histria
O primeiro trabalho de
linguagem de programao
foi criado por Ada Lovelace,
grande amiga de Charles
Babbage.[8] O projeto da
primeira calculadora
mecnica programvel foi
idealizado por Charles
Babbage[9] que, aps gastar
fortunas e um longo tempo,
no conseguiu concretizar o
projeto.[10] A linguagem de
programao ADA foi
batizada em homenagem a
esta primeira Grace Hopper em 1984.
programadora.[11]
Ada Lovelace em 1840. Uma das primeiras linguagens de programao para computadores
foi provavelmente Plankalkl, criada por Konrad Zuse na Alemanha
Nazista, [12] mas que teve pouco ou nenhum impacto no futuro das linguagens de programao.

O primeiro compilador foi escrito por Grace Hopper,[13] em 1952, para a linguagem de programao
A-0.[14] A primeira linguagem de programao de alto nvel amplamente usada foi Fortran, criada em
1954.[14][15] Em 1957 foi criada B-0, sucessora da A-0, que daria origem a Flow-Matic (1958), antecessor
imediato de COBOL, de 1959.[16] O COBOL foi uma linguagem de ampla aceitao para uso comercial.[16]
A linguagem ALGOL foi criada em 1958-1960[17] O ALGOL-60 teve grande influncia no projeto de
muitas linguagens posteriores.[18]

A linguagem Lisp foi criada em 1958 e se tornou amplamente utilizada na pesquisa na rea de cincia da
computao mais proeminentemente na rea de Inteligncia Artificial.[19] Outra linguagem relacionada ao
campo da IA que surge em 1972 a linguagem Prolog, uma linguagem do paradigma lgico.[20]

A orientao a objetos outro marco importante na histria das linguagens de programao. A linguagem
Simula 67 introduz o conceito de classes.[21] A linguagem Smalltalk[22][23] expande o conceito de classes e
se torna a primeira linguagem de programao que oferecia suporte completo programao orientada a
objetos.[24] A linguagem C++ (originalmente conhecida como C com classes) populariza a orientao a

2 de 11 25/08/2017 18:54
Linguagem de programao Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Linguagens_de_programao

objetos.[25]

Diversas linguagens de programao surgiram desde ento. Entre estas incluem-se C,[26] VB.NET, Java,
Object Pascal, Objective-C, PHP, Python,[27] SuperCollider, linguagem D[28] e Ruby.[29][Nota 2]

Interpretao e compilao
Uma linguagem de programao pode ser convertida, ou traduzida, em cdigo de
mquina por compilao ou interpretada por um processo denominado interpretao.
Em ambas ocorre a traduo do cdigo fonte para cdigo de mquina.[30]

Se o mtodo utilizado traduz todo o texto do programa (tambm chamado de cdigo),


para s depois executar[Nota 3] o programa, ento diz-se que o programa foi compilado
e que o mecanismo utilizado para a traduo um compilador (que por sua vez nada
mais do que um programa).[31] A verso compilada do programa tipicamente
armazenada, de forma que o programa pode ser executado um nmero indefinido de
vezes sem que seja necessria nova compilao, o que compensa o tempo gasto na
compilao. Isso acontece com linguagens como Pascal[32] e C.

Se o texto do programa executado medida que vai sendo traduzido, como em


JavaScript, BASIC, Python ou Perl, num processo de traduo de trechos seguidos de
sua execuo imediata, ento diz-se que o programa foi interpretado e que o
mecanismo utilizado para a traduo um interpretador. Programas interpretados so
geralmente mais lentos do que os compilados, mas so tambm geralmente mais
flexveis, j que podem interagir com o ambiente mais facilmente.[33]
O processo da
compilao. Embora haja essa distino entre linguagens interpretadas e compiladas, as coisas nem
sempre so to simples. H linguagens compiladas para um cdigo de mquina virtual
(sendo esta mquina virtual apenas mais um software, que emula a mquina virtual
sendo executado em uma mquina real), como Java[34] (compila para a plataforma Java[35]) e C (compila
para a plataforma CLI[36]). E tambm h outras formas de interpretar em que os cdigos fontes, ao invs de
serem interpretados linha-a-linha, tm blocos "compilados" para a memria, de acordo com as necessidades,
o que aumenta a performance dos programas quando os mesmos mdulos so chamados vrias vezes,
tcnica esta conhecida como JIT.

Como exemplo, podemos citar a linguagem Java. Nela, um compilador traduz o cdigo java para o cdigo
intermedirio (e portvel) da JVM. As JVMs originais interpretavam esse cdigo, de acordo com o cdigo
de mquina do computador hospedeiro, porm atualmente elas compilam, segundo a tcnica JIT o cdigo
JVM para cdigo hospedeiro.

A traduo tipicamente feita em vrias fases, sendo as mais comuns a anlise lxica, a anlise sinttica (ou
parsing), a gerao de cdigo e a otimizao.[37] Em compiladores tambm comum a gerao de cdigo
intermedirio.[Nota 4]

Conceitos
Programao estruturada

Programao estruturada uma forma de programao de computadores que preconiza que todos os
programas possveis podem ser reduzidos a apenas trs estruturas: sequncia, deciso e repetio.[38] Um
dos primeiros a preconizar a programao estruturada foi Haskell B. Curry[39][Nota 5] Tendo, na prtica, sido

3 de 11 25/08/2017 18:54
Linguagem de programao Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Linguagens_de_programao

transformada na Programao modular, a Programao estruturada orienta os programadores para a criao


de estruturas simples em seus programas, usando as sub-rotinas e as funes. Foi a forma dominante na
criao de software entre a programao linear e a programao orientada por objetos.[40] Apesar de ter sido
sucedida pela programao orientada por objetos, pode-se dizer que a programao estruturada ainda
marcantemente influente, uma vez que grande parte das pessoas ainda aprendem programao atravs dela.
Porm, a orientao a objetos superou o uso das linguagens estruturadas no mercado.[41]

Programao modular

Programao modular uma forma de programao no qual o


desenvolvimento das rotinas de programao feito atravs de
mdulos, que so interligados entre si atravs de uma interface
comum.[42] Foi apresentado originalmente pela Information & Systems
Institute, Inc. no National Symposium on Modular Programming em
1968, com a liderana de Larry Constantine. Exemplos de linguagens
que orientaram seu projeto para este aspecto esto as linguagens
Modula-2,[43][44] desenvolvida por Niklaus Wirth e a Modula-3.[45].
Niklaus Wirth em 2005. Criador da
Programao orientada a objetos linguagem Pascal entre outras.

Orientao a objetos, tambm conhecida como Programao


Orientada a Objetos (POO), ou ainda em ingls Object-Oriented Programming (OOP) um paradigma de
anlise, projeto e programao de sistemas de software baseado na composio e interao entre diversas
unidades de software chamadas de objetos. O extensivo uso de objetos, particularmente em conjuno com o
mecanismo de herana, caracteriza o estilo de programao orientada a objetos.[46] Em alguns contextos,
prefere-se usar modelagem orientada ao objeto (UML), em vez de programao. De fato, o paradigma
"orientao a objetos" tem bases conceituais e origem no campo de estudo da cognio, que influenciou a
rea de inteligncia artificial e da lingstica no campo da abstrao de conceitos do mundo real. Na
qualidade de mtodo de modelagem, tida como a melhor estratgia, e mais natural, para se eliminar o "gap
semntico", dificuldade recorrente no processo de modelar o mundo real, no domnio do problema, em um
conjunto de componentes de software que seja o mais fiel na sua representao deste domnio. Facilitaria a
comunicao do profissional modelador e do usurio da rea alvo, na medida em que a correlao da
simbologia e conceitos abstratos do mundo real e da ferramenta de modelagem (conceitos, terminologia,
smbolos, grafismo e estratgias) fosse a mais bvia, natural e exata possvel. A anlise e projeto orientados
a objetos tem como meta identificar o melhor conjunto de objetos para descrever um sistema de
software.[47] O funcionamento deste sistema se d atravs do relacionamento e troca de mensagens entre
estes objetos. Na programao orientada a objetos, implementa-se um conjunto de classes que definem os
objetos presentes no sistema de software. Cada classe determina o comportamento (definido nos mtodos) e
estados possveis (atributos) de seus objetos, assim como o relacionamento com outros objetos.[42]

Programao linear

Em matemtica, problemas de Programao Linear so problemas de otimizao nos quais a funo objetivo
e as restries so todas lineares.[48] Programao Linear uma importante rea da otimizao por vrias
razes. Muitos problemas prticos em pesquisa operacional podem ser expressos como problemas de
programao linear. Certos casos especiais de programao linear, tais como problemas de network flow e
problemas de multicommodity flow so considerados importantes o suficiente para que se tenha gerado
muita pesquisa em algoritmos especializados para suas solues. Vrios algoritmos para outros tipos de
problemas de otimizao funcionam resolvendo problemas de PL como sub-problemas. Historicamente,
ideias da programao linear inspiraram muitos dos conceitos centrais de teoria da otimizao, tais como
dualidade, decomposio, e a importncia da convexidade e suas generalizaes.

4 de 11 25/08/2017 18:54
Linguagem de programao Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Linguagens_de_programao

Classificao
As linguagens de programao podem ser classificadas e sub-classificadas de vrias formas.

Classificao da ACM

A ACM mantm um sistema de classificao[49] com os seguintes sub-itens:

Linguagens aplicativas, ou de aplicao


Linguagens concorrentes, distribudas e paralelas
Linguagens de fluxo de dados
Linguagens de projeto
Linguagens extensveis
Linguagens de montagem e de macro
Linguagens de microprogramao
Linguagens no determinsticas
Linguagens no procedurais
Linguagens orientadas a objeto
Linguagens de aplicao especializada
Linguagens de altssimo nvel[Nota 6]

Quanto ao paradigma

Diferentes linguagens de programao podem ser agrupadas segundo o paradigma que seguem para abordar
a sua sintaxe e semntica. Os paradigmas se dividem em dois grandes grupos: imperativo e declarativo.[50]

Paradigmas Imperativos

Os paradigmas imperativos so aqueles que facilitam a computao por meio de mudanas de estado.[50] Se
dividem em:

O paradigma procedural. Neste paradigma, os programas so executados atravs de chamadas


sucessivas a procedimentos separados. Exemplos de linguagens deste paradigma so o Fortran e o
BASIC.
O paradigma de estruturas de blocos.[50] A caracterstica marcante deste paradigma so os escopos
aninhados. Exemplos de linguagens deste paradigma so o Algol 60, Pascal[32] e C.
O paradigma de orientao a objetos. Este paradigma descreve linguagens que suportam a interao
entre objetos. Exemplos de linguagens deste paradigma so C++,[25], linguagem D,[51] Java,
Python[27] e Ruby.[29]
O paradigma da computao distribuda. Este paradigma suporta que mais de uma rotina possa
executar independentemente.[52] Um exemplos de linguagem deste paradigma a linguagem Ada.

Paradigmas Declarativos

Os paradigmas declarativos so aqueles nos quais um programa especifica uma relao ou funo.[50] Se
dividem em:

O paradigma funcional. Linguagens deste paradigma no incluem qualquer proviso para atribuio
ou dados mutveis[53] Na programao funcional, o mapeamento entre os valores de entrada e sada
so alcanados mais diretamente. Um programa uma funo (ou grupo de funes), tipicamente

5 de 11 25/08/2017 18:54
Linguagem de programao Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Linguagens_de_programao

constituda de outras funes mais simples.[54] Exemplos de linguagens deste paradigma so as


linguagens Lisp[55], Scheme[56] e Haskell[57]
O paradigma da programao lgica. Este paradigma se baseia na noo de que um programa
implementa uma relao ao invs de um mapeamento.[58] Exemplos de linguagens deste paradigma
so o Prolog[59] e a linguagem Gdel.[60]

Quanto a estrutura de tipos

Fracamente tipada, como PHP e Smalltalk, onde o tipo da varivel muda dinamicamente conforme a
situao.
Fortemente tipada, como Java e Ruby, onde o tipo da varivel, uma vez atribudo, se mantm o
mesmo at ser descartada da memria.[61]
Dinamicamente tipada, como SNOBOL, APL, Awk, Perl, Python e Ruby, onde o tipo da varivel
definido em tempo de execuo.[61]
Estaticamente tipada, como Java e C, onde o tipo da varivel definido em tempo de compilao.[62]

Quanto ao grau de abstrao

Linguagem de programao de baixo nvel, cujos smbolos so uma representao direta do cdigo de
mquina que ser gerado, onde cada comando da linguagem equivale a um "opcode" do processador,
como Assembly.[63]
Linguagem de programao de mdio nvel,[Nota 7] que possui smbolos que podem ser convertidos
diretamente para cdigo de mquina (goto, expresses matemticas, atribuio de variveis), mas
tambm smbolos complexos que so convertidos por um compilador. Exemplo: C, C++
Linguagem de programao de alto nvel, composta de smbolos mais complexos, inteligvel pelo ser
humano e no-executvel diretamente pela mquina, no nvel da especificao de algoritmos, como
Pascal,[32] Fortran, ALGOL,Java e SQL.[63]

Quanto gerao

A classificao das linguagens de programao em geraes uma questo que apresenta divergncias de
autor para autor. Segundo Maclennan,[64] as linguagens se dividem em cinco geraes com as seguintes
caractersticas:

Primeira gerao - So linguagens onde suas estruturas de controle so aparentemente orientadas a


mquina. As instrues condicionais no so aninhadas e dependem fortemente de instrues de
desvio incondicional como o GOTO. Uma linguagem tpica desta gerao a linguagem Fortran.[64]
Segunda gerao - So linguagens onde as estruturas de controle so estruturadas de forma a
minimizar ou dispensar o uso de instrues GOTO. A segunda gerao elaborou melhor e generalizou
diversas estruturas de controle das linguagens de primeira gerao. Uma das grandes contribuies
desta gerao foi suas estruturas de nomes, que eram hierarquicamente aninhadas. Isto permitiu
melhor controle de espaos de nomes e uma eficiente alocao dinmica de memria. Uma linguagem
tpica desta gerao o Algol 60.[64]
Terceira gerao - So linguagens que do nfase a simplicidade e eficincia. Uma linguagem tpica
desta gerao a linguagem Pascal.[32] As estruturas de dados desta gerao mostram um
deslocamento da mquina para a aplicao. As estruturas de controle so mais simples e eficientes.[64]
Quarta gerao - Esta gerao essencialmente o sinnimo para linguagens com abstrao de dados.
A maioria das linguagens desta gerao focam na modularizao e no encapsulamento. Uma
linguagem tpica desta gerao a linguagem Ada.[64]

6 de 11 25/08/2017 18:54
Linguagem de programao Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Linguagens_de_programao

Quinta gerao - Nesta gerao, Maclennan agrupa diversos paradigmas como a orientao a objeto e
o paradigma funcional, paradigma lgico.[64]

Henri Bal e Dick Grune, j apresentam uma classificao em geraes de forma diferente, enfatizando mais
o aspecto da aplicao. So elencadas 6 geraes.[65]

Primeira gerao - linguagem de mquina.


Segunda gerao - linguagens de montagem (assembly).
Terceira gerao - Linguagens procedurais.
Quarta gerao - Linguagens aplicativas.
Quinta gerao - Linguagens voltadas a Inteligncia artificial como as linguagens lgicas (Prolog) e as
linguagens funcionais (Lisp).
Sexta gerao - Redes neurais.

Doris Apleby e Julius J. VandeKopple dividem as linguagens em quatro geraes que coincidem com as
quatro primeiras geraes elencadas por Henri Bal e Dick Grune.[50]

Lista de linguagens
Existem vrias linguagens de programao; de acordo com o ndice
Tiobe, as 21 mais populares so:[41]

11. Ruby
1. Java 12. Swift
2. C 13. Assembly
3. C++ 14. Go
4. C 15. R
5. Python Livros sobre diversas linguagens de
16. Visual Basic
6. PHP programao
17. MATLAB
7. JavaScript 18. PL/SQL
8. Visual Basic .NET 19. Objective-C
9. Delphi / Object Pascal 20. Scratch
10. Perl 21. Smalltalk

Notas
1. Edsger Dijkstra em seu livro A Discipline of Programming assim define as linguagens de
programao: "Eu vejo uma linguagem de programao principalmente como um veculo para a
descrio (potencialmente muito sofisticada) de mecanismos abstratos" Dijkstra, Edsger W (1976). A
Discipline of Programming (em ingls). Englewood Cliffs, New Jersey: Prentice Hall. p. 9.
217 pginas. ISBN 0-13-215871-X
2. Para um mapa abrangente da histria das linguagens de programao ver: Mapa da histria das
linguagens de programao (http://www.levenez.com/lang/history.html) (em ingls). Consultado em
1 de dezembro de 2010
3. ou rodar, como se diz no jargo da computao
4. Veja tambm Compilador.
5. Citao de Knuth do memorando de Curry: "O primeiro passo no planejamento do programa o de
analisar a computao em certas partes principais, chamadas aqui de divises, de modo que o
programa possa ser sintetizado a partir delas. As partes principais devem ser tais que, ou pelo menos
algumas delas, so clculos independentes em si prprios, ou modificaes desses clculos." em:

7 de 11 25/08/2017 18:54
Linguagem de programao Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Linguagens_de_programao

Knuth, Donald E (2003). 1-The Early Development of Programming Languages. Selected Papers
on Computer Languages (em ingls). Ventura Hall, Stanford: CSLI. p. 17. 594 pginas.
ISBN 1-57586-382-0
6. Sussman et al. menciona que as linguagens de altssimo nvel so programadas em termos de
sentenas declarativas. Em: Abelson, Harold; Sussman, Gerald Jay; Sussman, Julie (1996). Structure
and Interpretation of Computer Programs (em ingls) 2 ed. Cambridge, Massachusetts:
McGraw-Hill. p. 22. 640 pginas. ISBN 0-07-000484-6
7. Muitos autores classificam as linguagens quanto ao grau de abstrao em apenas dois: alto e baixo.
Alguns autores como Dennis Ritchie e Kenneth Thompson classificam algumas linguagens como C e
CPL tanto como baixo nvel como alto nvel como em: Appleby, Doris; VandeKopple, Julius J (1997).
Programming Languages. Paradigm and Practice (em ingls) 2 ed. New York: McGraw-Hill.
p. 132-134. 444 pginas. ISBN 0-07-005315-4

Referncias
So Paulo: UNESP. p. 68-69. 260 pginas.
1. Dershem, Herbert L.; Jipping, Michael J. (1995). ISBN 85-7139-021-5
Programming Languages. Structures and models 10. Gonick, Larry (1984). Introduo Ilustrada
(em ingls) 2 ed. Boston: PWS Publishing Computao. So Paulo: Harper & Row do Brasil.
Company. p. 1. 432 pginas. ISBN 0-534-94740-9 p. 51-59. 242 pginas
2. Fischer, Alice E.; Grodzinsky, Frances (1993). The 11. Smith, James F,; Frank, Thomas S (1994).
Anatomy of Programming Languages (em ingls). Introduction to Programming Concepts and
Englewood Cliffs, New Jersey: Prentice Hall. p. 3. Methods with Ada (em ingls). Nova Iorque, EUA:
557 pginas. ISBN 0-13-035155-5 McGraw-Hill. p. 7-8. 545 pginas.
3. Aho, Alfred V.; Lam, Monica S.; Sethi, Ravi; ISBN 0-07-911725-2
Ullman, Jeffrey D (2008). Compiladores. 12. Zuse, Konrad (Julho 1980). Installation of the
Princpios, tcnicas e ferramentas. So Paulo: German Computer Z4 in Zurich in 1950. Annals of
Addison-Wesley, Pearson. p. 3-5. 634 pginas. The History of Computing (em ingls). 2 (3).
ISBN 978-85-88639-24-9 Arlington, VA: American Federation of Information
4. Melo, Ana Cristina Vieira de; Silva, Flvio Soares Processing Societies. p. 239-241. 384 pginas.
Corra da (2003). Princpios de Linguagens de ISSN 1058-6180 (https://www.worldcat.org
Programao. So Paulo: Edgard Blcher Ltda. /issn/1058-6180)
p. 7-11. 211 pginas. ISBN 85-212-0322-5 13. Lemone, Karen A. (1992). Fundamentals of
5. Hannan, James (editor); Oliver, Paul (autor do Compilers. An Introduction to Computer Language
captulo) (1982). 6-Program Portability. Translation (em ingls). Boca Raton: CRC.
Computer Programming Management. New York: 184 pginas. ISBN 0-8493-7341-7
Van Nostrand Reinhold. p. 89-100. 155 pginas. 14. Wexelblat, Richard L.(Editor) (1981). History of
ISBN 0-442-20920-7 Programming Languages. New York: Academic
6. Sammet, Jean E (1969). Programming Languages: Press. p. 6-15. 758 pginas. ISBN 0-12-745040-8
History and Fundamentals (em ingls). Englewood 15. Metropolis, N.(Ed.); Howlett, J.(Ed.); Rota,
Cliffs, New Jersey: Prentice Hall. p. 14-16. Gian-Carlo(Ed.) (1980). A History of Computing in
785 pginas. ISBN 0-13-729988-5 the Twentieth Century. A collection of essays (em
7. Backus, John (julho 1979). The History of Fortran ingls). New York: Academic Press. pp. 130131.
I, II, and III. Annals of The History of Computing ISBN 0-12-491650-3
(em ingles). 1 (1). Arlington, VA: American 16. Wexelblat, Richard L.(Editor) (1981). History of
Federation of Information Processing Societies. Programming Languages. New York: Academic
80 pginas. ISSN 1058-6180 Press. p. 199-278. 758 pginas.
(https://www.worldcat.org/issn/1058-6180) ISBN 0-12-745040-8
8. Huskey, Velma R.; Huskey, Harry D. (Outubro 17. Horowitz, Ellis (editor do livro); Nauer, P. (editor
1980). Lady Lovelace and Charles Babbage. do captulo) (1987). Report on the Algorithmic
Annals of The History of Computing (em ingls). 2 Language ALGOL 60. Programming Languages.
(4). Arlington, VA: American Federation of A Grand Tour (em ingls) 3 ed. New York:
Information Processing Societies. p. 299-329. Academic Press. p. 44-60. 512 pginas.
384 pginas. ISSN 1058-6180 ISBN 0-88175-142-1
(https://www.worldcat.org/issn/1058-6180) 18. Horowitz, Ellis (editor do livro); Knuth, D. E
9. Breton, Philippe (1991). Histria da Informtica. (1987). The Remaining Troublespots in ALGOL

8 de 11 25/08/2017 18:54
Linguagem de programao Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Linguagens_de_programao

60. Programming Languages. A Grand Tour (em Anibal de Souza (autor do apndice 4a) (1983).
ingls) 3 ed. New York: Academic Press. p. 61-68. Programao e Mtodos Computacionais. 1 4 ed.
512 pginas. ISBN 0-88175-142-1 Rio de Janeiro: LTC. p. 293. 431 pginas.
19. Pratt, Terrence W.; Zelkowitz, Marvin V (2001). ISBN 85-216-0283-9
Programming Languages. Design and 33. Scott, Michael L (2006). Programming Language
Implementation (em ingls) 4 ed. Upper Saddle Pragmatics (em ingls) 2 ed. Boston: Morgan
River, New Jersey: Prentice hall. p. 420-421. Kauffman. p. 14-15. 875 pginas.
649 pginas. ISBN 0-13-027678-2 ISBN 978-0-12-633951-2
20. Gray, Peter (1984). Representing programs by 34. Schildt, Herbert (2001). Java 2. The Complete
clauses: Prolog. Logic, Algebra and Databases reference (em ingls) 4 ed. Berkeley:
(em ingls). Chichester: Ellis Horwood. p. 73. McGraw-Hill. 1076 pginas. ISBN 0-07-213084-9
294 pginas. ISBN 0-85312-709-3 35. Engel, Joshua (1999). Programming for the Java
21. Horowitz, Ellis (1984). Fundamentals of Virtual Machine (em ingls). Reading,
Programming Languages (em ingls) 2 ed. Massachusetts: Addison & Wesley. p. 355.
Rockville, Maryland: Computer Science Press. 488 pginas. ISBN 0-201-30972-6
p. 17. 446 pginas. ISBN 088175-004-2 36. Cough, John (2002). Compiling for the .NET
22. Goldberg, Adele; Robson, David (1989). Common Language Runtime (CLR) (em ingls).
Smalltalk-80. The language (em ingls). Reading, Upper Saddle River: Prentice Hall. p. 2-12.
Massachusetts: Addison-Wesley. 591 pginas. 391 pginas. ISBN 0-13-062296-6
ISBN 0-201-13688-0 37. Holmes, Jim (1995). Object-Oriented Compiler
23. Lewis, Simon (1995). The Art and Science of Construction (em ingls). Englewood Cliffs, Nova
Smalltalk. An Introduction to Object-Oriented Jersey: Prentice Hall. p. 2-3. 483 pginas.
Programming using VisualWorks (em ingls). ISBN 0-13-630740-X
London: Prentice Hall. 212 pginas. 38. Dahl, O. J.; Dijkstra, E. W.; Hoare, C. A . R (1972).
ISBN 0-13-371345-8 I-Notes on Structured Programming. Structured
24. Sebesta, Robert W (2010). Conceitos de Programming (em ingls). London: Academic
Linguagens de Programao 9 ed. Porto Alegre: Press. p. 1-82. 220 pginas. ISBN 0-12-200550-3
Bookman. p. 108-131. 792 pginas. 39. Knuth, Donald E (2003). 1-The Early
ISBN 978-85-7780-791-8 Development of Programming Languages.
25. Schildt, Herbert (1998). C++. The Complete Selected Papers on Computer Languages (em
Reference (em ingls) 3 ed. Berkeley: McGra-Hill. ingls). Ventura Hall, Stanford: CSLI. p. 1-94.
p. 256. 1008 pginas. ISBN 0-07-882476-1 594 pginas. ISBN 1-57586-382-0
26. Liberty, Jesse (2002). Programming C# (em ingls) 40. Tucker, Allen; Noonan, Robert (2002).
2 ed. Beijing: OReilly. 629 pginas. Programming Languages. Principles and paradigms
ISBN 0-596-00309-9 (em ingls). Boston: McGraw-Hill. p. 170-185.
27. Lutz, Mark (2001). Programming Python (em 411 pginas. ISBN 0-07-238111-6
ingls) 2 ed. Beijing: OReilly. 1255 pginas. 41. Linguagens de programao populares
ISBN 0-596-00085-5 (http://www.tiobe.com/index.php/content/paperinfo
28. Cade Metz (7 de julho, 2014). The Next Big /tpci/index.html) (em ingls). tiobe.com.
Programming Language You've Never Heard Of Consultado em 11 de fevereiro de 2017
(http://www.wired.com/2014/07/d-programming- 42. Guezzi, Carlo; Jazayeri, Mehdi (1998).
language/). Wired (em ingls). Cond Nast Programming Language Concepts (em ingls) 3
Publications. Today, Alexandrescu is a research ed. New York: John Wiley & Sons. p. 7.
scientist at Facebook, where he and a team of 427 pginas. ISBN 0-471-10426-4
coders are using D to refashion small parts of the 43. Wirth, Niklaus (1989). Programando em Modula 2.
companys massive operation. Verifique data em: Rio de Janeiro: LTC. 207 pginas.
|data= (ajuda) ISBN 85-216-0658-3
29. Thomas, Dave (2002). Programming Ruby 1.9. The 44. Silva, Jos carlos G.; Assis, Fidelis Sigmaringa G.
Pragmatic ProgrammersGuide (em ingls). de (1988). Linguagens de Programao. Conceitos
Raleigh, North Carolina: OReilly. 930 pginas. e Avaliao. Rio de Janeiro: McGraw-
ISBN 1-934356-08-5 Hill/Embratel. p. 125. 213 pginas. CDD-001.6424
30. Cooper, Torczon (2003). Engineering a Compiler 45. Harbison, Samuel P (1992). Modula-3 (em ingls).
(em ingls). San Francisco: Morgan Kaufmann. New York: Prentice-Hall. 312 pginas.
p. 2. ISBN 1-55860-698-X ISBN 0-13-596404-0
31. Aho, Alfred V.; Ullman, Jeffrey D. (1977). 46. Friedman, Daniel P.; Wand, Mitchell; haynes,
Principles of Compiler Design (em ingls). Christopher T (1998). Essentials of Programming
Reading, Massachusetts, EUA: Addison-Wesley. Languages (em ingls). Cambridge, Massachusetts:
p. 1. 604 pginas. ISBN 0-201-00022-9 MIT Press. p. 214. 536 pginas.
32. Pacitti, Trcio; Aktinson, Cyril P; Teles, Antonio ISBN 0-262-06145-7

9 de 11 25/08/2017 18:54
Linguagem de programao Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Linguagens_de_programao

47. Sommerville, Ian (2001). Software Engineering (em 106 pginas. ISBN 0-262-13011-4
ingls) 6 ed. Harlow: Addison-Wesley. p. 272-273. 56. Dybvig, R. Kent (1996). The Scheme Programming
693 pginas. ISBN 0-201-39815-X Language. Ansi Scheme. New Jersey: Prentice Hall
48. Bregalda, Paulo F.; Oliveira, Antonio A. F. de; PTR. ISBN 0-13-454646-6
Bornstein, Cludio T (1988). Introduo 57. Hudak, Paul (2000). Tha Haskell School of
Programao Linear 3 ed. Rio de Janeiro: Expression. Learning Functional Programming
Campus. p. 61. 329 pginas. ISBN 85-7001-342-6 Through Multimedia. Cambridge: Cambridge
49. Sistema de classificao da ACM University Press. 363 pginas. ISBN 0-521-64408-9
(http://www.acm.uiuc.edu/signet 58. Watt, David A (1990). 14-The Logic Programming
/JHSI/cr.D.3.2.html) (em ingls). acm.uiuc.edu. Paradigm. Programming Language Concepts and
Consultado em 1 de dezembro de 2010 Paradigms (em ingls). New York: Prentice Hall.
50. Appleby, Doris; VandeKopple, Julius J (1997). p. 253-265. 322 pginas. ISBN 0-13-728866-2
Programming Languages. Paradigm and Practice 59. Bratko, Ivan (2001). Prolog. Programming for
(em ingls) 2 ed. New York: McGraw-Hill. p. 8-13. Artificial Intelligence (em ingls) 3 ed. Harlow,
444 pginas. ISBN 0-07-005315-4 England: Addison-Wesley. pp. 4650.
51. Overview - D Programming Language ISBN 0201-40375-7
(http://dlang.org/overview.html). dlang.org (em 60. Hill, Patricia; Lloyd, John (1994). The Gdel
ingls). Consultado em 28 jul 2014. D programs Programming Language (em ingls). Cambridge:
can be written either in C style function-and-data, The MIT Press. 350 pginas Texto "isbn
C++ style object-oriented, C++ style template 0-262-08229-2" ignorado (ajuda)
metaprogramming, or any mix of the three. 61. Finkel, Raphael A (1995). Advance Programming
52. Watt, David A (1990). 11-The Concurrent Language Design (em ingls). Menlo Park,
Programming Paradigm. Programming Language California: Addison-Wesley. p. 64. 480 pginas.
Concepts and Paradigms (em ingls). New York: ISBN 0-8053-1191-2
Prentice Hall. p. 205-218. 322 pginas. 62. Guezzi, Carlo; Jazayeri, Mehdi (1985). Conceitos
ISBN 0-13-728866-2 de Linguagens de Programao. Rio de Janeiro:
53. Abelson, Harold; Sussman, Gerald Jay; Sussman, Campus. p. 55. 306 pginas. ISBN 85-7001-420-1
Julie (1996). Structure and Interpretation of 63. Sethi, Ravi (1996). Programming Languages.
Computer Programs (em ingls) 2 ed. Cambridge, Concepts & Constructs (em ingls) 2 ed. Reading,
Massachusetts: McGraw-Hill. p. 352-360. Massachusetts: Addison-Wesley. p. 4-8.
640 pginas. ISBN 0-07-000484-6 640 pginas. ISBN 0-201-59065-4
54. Watt, David A (1990). 13-The Funcional 64. Maclennan, Bruce J (1999). Principles of
Programming Paradigm. Programming Language Programming Languages. Design, Evaluation and
Concepts and Paradigms (em ingls). New York: Implementation (em ingls) 3 ed. Oxford: Oxford
Prentice Hall. p. 230-252. 322 pginas. University Press. p. 92;163-164;208;305-306.
ISBN 0-13-728866-2 509 pginas. ISBN 0-19-511306-3
55. McCarthy, John; Abrahams, Paul W.; Edwards, 65. Bal, Henri E.; Grune, Dick (1994). Programming
Daniel J.; Hart, Timothy P.; Levin, Michael I Language Essentials (em ingls). Wokingham:
(1962). Lisp 1.5 Programmers Manual. Addison-Wesley. p. 10-11. 231 pginas.
Cambridge, Massachusetts: The MIT Press. p. 1. ISBN 0-201-63179-2

Bibliografia
ORGANICK, E. I.;FORSYTHE, A. I.;PLUMMER, R. P. (1978). Programming Language Structures.
New York: Academic Press. 659 pginas. ISBN 0-12-528260-5

Ver tambm
Lista de linguagens de programao
Linguagem compilada
Linguagem de script
Linguagem interpretada
Paradigma de programao
Programao de computadores

10 de 11 25/08/2017 18:54
Linguagem de programao Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Linguagens_de_programao

Ligaes externas
Enciclopdia de linguagens de programao (http://www.scriptol.com/programming/languages.php)
(em ingls)
Programmer's Wiki (http://code.wikia.com/wiki/Programmer%27s_Wiki) (em ingls)
Languages (https://dmoztools.net/Computers/Programming/Languages) no DMOZ

Obtida de "https://pt.wikipedia.org/w/index.php?title=Linguagem_de_programao&oldid=49039452"

Esta pgina foi editada pela ltima vez (s) 17h04min de 14 de junho de 2017.
Este texto disponibilizado nos termos da licena Creative Commons - Atribuio - Compartilha
Igual 3.0 No Adaptada (CC BY-SA 3.0); pode estar sujeito a condies adicionais. Para mais
detalhes, consulte as condies de uso.

11 de 11 25/08/2017 18:54