Saltar para o conteúdo

Lenguaige de porgramaçon

Ourige: Biquipédia, la anciclopédia lhibre.
Trecho de porgrama na lenguaige de porgramaçon C

Ua lenguaige de porgramaçon ye un método padronizado para quemunicar anstruçones para un cumputador.[1] Ye un cunjunto de regras sintáticas i semánticas ousadas para defenir un porgrama de cumputador.[2][Nota 1] Permite qu'un porgramador specifique percisamente subre quales dados un cumputador bai atuar, cumo estes dados seran armazenados ó trasmitidos i quales açones dében ser tomadas sob bárias circunstáncias. Lenguaiges de porgramaçon puoden ser ousadas para spressar algoritmos cun percison.

L cunjunto de palabras (leisemas classeficados an tokenes), cumpuostos d'acuordo cun essas regras, custituen l código fuonte dun software.[3] Esse código fuonte ye depuis traduzido para código de máquina, que ye eisecutado pul processador.[3]

Ua de las percipales metas de las lenguaiges de porgramaçon ye permitir que porgramadores téngan ua maior pordutebidade, permitindo spressar sues antençones mais facilmente de l que quando cumparado cula lenguaige qu'un cumputador antende natibamente (código de máquina).[4] Assi, lenguaiges de porgramaçon son porjetadas para adotar ua sintaxe de nible mais alto, que puode ser mais facilmente antendida por porgramadores houmanos. Lenguaiges de porgramaçon son ferramientas amportantes para que porgramadores i angenheiros de software puodan screbir porgramas mais ourganizados i cun maior rapideç.

Lenguaiges de porgramaçon tamien tornan ls porgramas menos dependentes de cumputadores ó ambientes cumputacionales specíficos (propiadade chamada de portabelidade[5]). Esto acuntece porque porgramas scritos an lenguaiges de porgramaçon son traduzidos pa l código de máquina de l cumputador ne l qual será eisecutado an beç de ser diretamente eisecutado. Ua meta ambiciosa de l Fortran, ua de las purmeiras lenguaiges de porgramaçon, era esta andependéncia de la máquina adonde serie eisecutada.[6][7]

Grace Hopper an 1984

L purmeiro trabalho de lenguaige de porgramaçon fui criado por Ada Lobelace, grande amiga de Charles Babbage.[8] L porjeto de la purmeira calculadora macánica porgramable fui eidealizado por Charles Babbage[9] que, passado gastar fertunas i un longo tiempo, nun cunseguiu cuncretizar l porjeto.[10] La lenguaige de porgramaçon ADA fui batizada an houmenaige l'esta purmeira porgramadora.[11]

Ua de las purmeiras lenguaiges de porgramaçon para cumputadores fui probabelmente Plankalkul, criada por Konrad Zuse na Almanha Nazista,[12] mas que tubo pouco ó nanhun ampato ne l feturo de las lenguaiges de porgramaçon.

L purmeiro cumpilador fui scrito por Grace Hopper,[13] an 1952, pa la lenguaige de porgramaçon La-0.[14] La purmeira lenguaige de porgramaçon d'alto nible amplamente ousada fui Fortran, criada an 1954.[15][14] An 1957 fui criada B-0, sucessora de la La-0, que darie ourige la Flow-Matic (1958), antecessor eimediato de COBOL, de 1959.[16] L COBOL fui ua lenguaige d'ampla aceitaçon para uso comercial.[16] La lenguaige ALGOL fui criada an 1958-1960[17] L ALGOL-60 tubo grande anfluéncia ne l porjeto de muitas lenguaiges posteriores.[18]

La lenguaige Lisp fui criada an 1958 i se tornou amplamente outelizada na pesquisa na ária de ciéncia de la cumputaçon mais proeminentemente na ária de Anteligéncia Artificial.[19] Outra lenguaige relacionada al campo de la IA que surge an 1972 ye la lenguaige Prolog, ua lenguaige de l paradigma lógico.[20]

La ourientaçon a oubjetos ye outro marco amportante na stória de las lenguaiges de porgramaçon. La lenguaige Simula 67 antroduç l cunceito de classes.[21] La lenguaige Smalltalk[22][23] spande l cunceito de classes i se torna la purmeira lenguaige de porgramaçon qu'ouferecie suporte cumpleto a la porgramaçon ourientada a oubjetos.[24] La lenguaige C++ (ouriginalmente coincida cumo C cun classes) populariza l'ourientaçon a oubjetos.[25]

Dibersas lenguaiges de porgramaçon surgiran zde anton, grande parte ourientadas a oubjetos. Antre estas ancluen-se C♯,[26] BB.NET, Java, Object Pascal, Objective-C, PHP, Python,[27] SuperCollider i Ruby.[28][Nota 2]

Anterpretaçon i cumpilaçon

[eiditar | eiditar código-fuonte]
L porcesso de la cumpilaçon

Ua lenguaige de porgramaçon puode ser cumbertida, ó traduzida, an código de máquina por cumpilaçon ó anterpretada por un porcesso chamado anterpretaçon. An ambas ocorre la traduçon de l código fuonte para código de máquina.[29]

Se l método outelizado traduç to l testo de l porgrama (tamien chamado de código), para solo depuis eisecutar[Nota 3] l porgrama, anton diç-se que l porgrama fui cumpilado i que l macanismo outelizado pa la traduçon ye un cumpilador (que por sue beç nada mais ye de l qu'un porgrama).[30] La berson cumpilada de l porgrama tipicamente ye armazenada, de forma que l porgrama puode ser eisecutado un númaro andefenido de bezes sin que seia neçaira nuoba cumpilaçon, l que cumpensa l tiempo gasto na cumpilaçon. Esso acuntece cun lenguaiges cumo Pascal[31] i C.

Se l testo de l porgrama ye eisecutado a la medida que bai sendo traduzido, cumo an JavaScript, BASIC, Python ó Perl, nun porcesso de traduçon de trechos seguidos de sue eisecuçon eimediata, anton diç-se que l porgrama fui anterpretado i que l macanismo outelizado pa la traduçon ye un anterpretador. Porgramas anterpretados son giralmente mais lentos de l que ls cumpilados, mas son tamien giralmente mais flexibles, yá que puoden anteragir cul ambiente mais facilmente.[32]

Ambora haba essa çtinçon antre lenguaiges anterpretadas i cumpiladas, las cousas nin siempre son tan simples. Hai lenguaiges cumpiladas para un código de máquina dua máquina birtual (sendo esta máquina birtual solo mais un software, qu'emula la máquina birtual sendo eisecutado nua máquina rial), cumo Java[33] (cumpila pa la plataforma Java[34]) i C♯ (cumpila pa la plataforma CLI[35]). I tamien hai outras formas d'anterpretar an que ls códigos fuontes, al ambés de séren anterpretados linha-la-linha, ténen blocos "cumpilados" pa a mimória, d'acuordo culas necidades, l qu'oumenta la performance de ls porgramas quando ls mesmos módulos son chamados bárias bezes, técnica esta coincida cumo JIT.

Cumo eisemplo, podemos citar la lenguaige Java. Neilha, un cumpilador traduç l código Java pa l código antermediairo (i portable) de la JBM. Las JBMs ouriginales anterpretában esse código, d'acuordo cul código de máquina de l cumputador hospedeiro, mas atualmente eilhas cumpilan, segundo la técnica JIT l código JBM para código hospedeiro.

La traduçon ye tipicamente feita an bárias fases, sendo las mais quemuns la análeze léxica, la análeze sintáticaparsing), la geraçon de código i la outimizaçon.[36] An cumpiladores tamien ye quemun la geraçon de código antermediairo.[Nota 4]

Porgramaçon struturada

[eiditar | eiditar código-fuonte]

Porgramaçon estruturada ye ua forma de porgramaçon de cumputadores que preconiza que todos ls porgramas possibles puoden ser reduzidos a solo trés struturas: sequéncia, decison i repetiçon.[37] Un de ls purmeiros a preconizar la porgramaçon struturada fui Haskell B. Curry[38][Nota 5] Tenendo, na prática, sido trasformada na Porgramaçon modular, la Porgramaçon struturada ourienta ls porgramadores pa la criaçon de struturas simples an sous porgramas, usando las sub-rotinas i las funçones. Fui la forma dominante na criaçon de software antre la porgramaçon linear i la porgramaçon ourientada por oubjetos.[39] Anque tener sido sucedida pula porgramaçon ourientada por oubjetos, puode-se dezir que la porgramaçon struturada inda ye marcantemente anfluente, ua beç que grande parte de las pessonas inda daprenden porgramaçon atrabeç deilha. Mas, l'ourientaçon a oubjetos superou l'uso de las lenguaiges struturadas ne l mercado.[40]

Porgramaçon modular

[eiditar | eiditar código-fuonte]
Niklaus Wirth an 2005. Criador de la lenguaige Pascal antre outras

Porgramaçon modular ye ua forma de porgramaçon ne l qual l zambolbimiento de las rotinas de porgramaçon ye feito atrabeç de módulos, que son anterligados antre si atrabeç dua anterface quemun.[41] Fui apersentado ouriginalmente pula Anformation & Systems Anstitute, Anc. ne l National Symposiun on Modular Porgramming an 1968, cula liderança de Larry Custantine. Eisemplos de lenguaiges qu'ourientórun sou porjeto para este aspeto stan las lenguaiges Modula-2,[42][43] zambolbida por Niklaus Wirth i la Modula-3.[44].

Porgramaçon ourientada a oubjetos

[eiditar | eiditar código-fuonte]

Ourientaçon a oubjetos, tamien coincida cumo Porgramaçon Ourientada la Oubjetos (POO) ó inda an anglés Oubjet-Ouriented Porgramming (OOP) ye un paradigma d'análeze, porjeto i porgramaçon de sistemas de software baseado na cumposiçon i anteraçon antre dibersas ounidades de software chamadas d'oubjetos. L stensibo uso d'oubjetos, particularmente an cunjunçon cul macanismo d'hardança, carateriza l stilo de porgramaçon ourientada a oubjetos.[45] An alguns cuntestos, prefire-se ousar modelaige ourientada al oubjeto, an beç de porgramaçon. De fato, l paradigma "ourientaçon a oubjetos" ten bases cunceituales i ourige ne l campo de studo de la cogniçon, qu'anfluenciou la ária d'anteligencia artificial i de la linguística ne l campo de l'abstraçon de cunceitos de l mundo rial. Na culidade de método de modelaige, ye tenida cumo a melhor stratégia, i mais natural, para se eliminar l "gap semántico", deficuldade recorrente ne l porcesso de modelar l mundo rial, ne l domínio de l porblema, nun cunjunto de cumponentes de software que seia l mais fiel na sue repersentaçon deste domínio. Facelitarie la quemunicaçon de l profissional modelador i de l'usuairo de la ária albo, na medida an que la correlaçon de la simbologie i cunceitos abstratos de l mundo rial i de la ferramienta de modelaige (cunceitos, treminologie, simblos, grafismo i stratégias) fusse la mais óbbia, natural i sata possible. L'análeze i porjeto ourientados a oubjetos ten cumo meta eidantificar l melhor cunjunto d'oubjetos para çcrebir un sistema de software.[46] L funcionamiento deste sistema se dá atrabeç de l relacionamiento i troca de mensaiges antre estes oubjetos. Na porgramaçon ourientada a oubjetos, amplementa-se un cunjunto de classes que definen ls oubjetos persentes ne l sistema de software. Cada classe detremina l cumportamiento (defenido ne ls métodos) i stados possibles (atributos) de sous oubjetos, assi cumo l relacionamiento cun outros oubjetos.[41]

Porgramaçon linear

[eiditar | eiditar código-fuonte]

An matemática, porblemas de Porgramaçon Linear son porblemas d'outimizaçon ne ls quales la funçon oubjetibo i las restriçones son todas lineares.[47] Porgramaçon Linear ye ua amportante ária de l'outimizaçon por bárias rezones. Muitos porblemas práticos an pesquisa ouperacional puoden ser spressos cumo porblemas de porgramaçon linear. Ciertos causos speciales de porgramaçon linear, tales cumo porblemas de network flow i porblemas de multicommodity flow son cunsidrados amportantes l suficiente para que se tenga gerado muita pesquisa an algoritmos specializados para sues soluçones. Bários algoritmos para outros tipos de porblemas d'outimizaçon funcionan resolbendo porblemas de PL cumo sub-porblemas. Storicamente, eideias de la porgramaçon linear anspirórun muitos de ls cunceitos centrales de teorie de l'outimizaçon, tales cumo dualidade, decumposiçon, i l'amportança de la cumbexidade i sues generalizaçones.

Las lenguaiges de porgramaçon puoden ser classeficadas i sub-classeficadas de bárias formas.

Classeficaçon de la ACM

[eiditar | eiditar código-fuonte]

La ACM mantén un sistema de classeficaçon[48] culs seguintes sub-itenes:

  • Lenguaiges aplicatibas, ó d'aplicaçon
  • Lenguaiges cuncorrentes, çtribuídas i paralelas
  • Lenguaiges de fluxo de dados
  • Lenguaiges de porjeto
  • Lenguaiges stensibles
  • Lenguaiges de montaige i de macro
  • Lenguaiges de microprogramaçon
  • Lenguaiges nun determinísticas
  • Lenguaiges nó procedurales
  • Lenguaiges ourientadas a oubjeto
  • Lenguaiges d'aplicaçon specializada
  • Lenguaiges d'altíssemo nible[Nota 6]

Quanto al paradigma

[eiditar | eiditar código-fuonte]
Ber artigo percipal: Paradigma de porgramaçon

Defrentes lenguaiges de porgramaçon puoden ser agrupadas segundo l paradigma que seguen para abordar la sue sintaxe i semántica. Ls paradigmas se debeden an dous grandes grupos: amperatibo i declaratibo.[49]

Paradigmas Amperatibos

[eiditar | eiditar código-fuonte]

Ls paradigmas amperatibos son aqueilhes que facelitan la cumputaçon por meio de mudanças de stado.[49] Se debeden an:

Paradigmas Declaratibos

[eiditar | eiditar código-fuonte]

Ls paradigmas declaratibos son aqueilhes ne ls quales un porgrama specifica ua relaçon ó funçon.[49] Se debeden an:

  • L paradigma funcional. Lenguaiges deste paradigma nun ancluen qualquiera probison para atribuiçon ó dados mutables [51] Na porgramaçon funcional, l mapeamiento antre ls balores d'antrada i saida son alcançados mais diretamente. Un porgrama ye ua funçon (ó grupo de funçones), tipicamente custituída d'outras funçones mais simples.[52] Eisemplos de lenguaiges deste paradigma son las lenguaiges Lisp[53], Scheme[54] i Haskell[55]

Quanto la strutura de tipos

[eiditar | eiditar código-fuonte]
  • Fracamente tipada, cumo PHP i Smalltalk, adonde l tipo de la bariable muda dinamicamente cunforme la situaçon.
  • Fuortemente tipada, cumo Java i Ruby, adonde l tipo de la bariable, ua beç atribuído, se mantén l mesmo até ser çcartada de a mimória.[59]
  • Dinamicamente tipada, cumo SNOBOL, APL, Awk, Perl, Python i Ruby, adonde l tipo de la bariable ye defenido an tiempo d'eisecuçon.[59]
  • Staticamente tipada, cumo Java i C, adonde l tipo de la bariable ye defenido an tiempo de cumpilaçon.[60]

Quanto al grau d'abstraçon

[eiditar | eiditar código-fuonte]
  • Lenguaige de porgramaçon de baixo nible, cujos simbolos son ua repersentaçon direta de l código de máquina que será gerado, adonde cada comando de la lenguaige eiquibale a un "oupcode" de l processador, cumo Assembly.[61]
  • Lenguaige de porgramaçon de médio nible,[Nota 7] que ten simblos que puoden ser cumbertidos diretamente para código de máquina (goto, spressones matemáticas, atribuiçon de bariables), mas tamien simblos cumplexos que son cumbertidos por un cumpilador. Eisemplo: C, C++
  • Lenguaige de porgramaçon d'alto nible, cumpuosta de simblos mais cumplexos, anteligible pul ser houmano i nó-eisecutable diretamente pula máquina, ne l nible de la specificaçon d'algoritmos, cumo Pascal,[31] Fortran, ALGOL i SQL.[61]

Quanto a la geraçon

[eiditar | eiditar código-fuonte]

La classeficaçon de las lenguaiges de porgramaçon an geraçones ye ua queston qu'apersenta dibergéncias d'outor para outor. Segundo Maclennan,[62] las lenguaiges se debeden an cinco geraçones culas seguintes caratelísticas:

  • Purmeira geraçon - San lenguaiges adonde sues struturas de cuntrole son aparentemente ourientadas la máquina. Las anstruçones cundicionales nun son amarradas i dependen fuortemente d'anstruçones de zbio ancondicional cumo l GOTO. Ua lenguaige típica desta geraçon ye la lenguaige Fortran.[62]
  • Segunda geraçon - San lenguaiges adonde las struturas de cuntrole son struturadas de forma a menimizar ó çpensar l'uso d'anstruçones GOTO. La segunda geraçon eilaborou melhor i generalizou dibersas struturas de cuntrole de las lenguaiges de purmeira geraçon. Ua de las grandes cuntribuiçones desta geraçon fui sues struturas de nomes, que éran hierarquicamente amarradas. Esto permitiu melhor cuntrole de spácios de nomes i ua eficiente alocaçon dinámica de mimória. Ua lenguaige típica desta geraçon ye l Algol 60.[62]
  • Terceira geraçon - San lenguaiges que dan énfase la simplicidade i eficiéncia. Ua lenguaige típica desta geraçon ye la lenguaige Pascal.[31] Las struturas de dados desta geraçon mostran un çlocamiento de la máquina pa l'aplicaçon. Las struturas de cuntrole son mais simples i eficientes.[62]
  • Quarta geraçon - Esta geraçon ye eissencialmente l sinónimo para lenguaiges cun abstraçon de dados. La maiorie de las lenguaiges desta geraçon focan na modularizaçon i ne l'ancapsulamiento. Ua lenguaige típica desta geraçon ye la lenguaige Ada.[62]
  • Quinta geraçon - Nesta geraçon, Maclennan agrupa dibersos paradigmas cumo l'ourientaçon a oubjeto i l paradigma funcional, paradigma lógico.[62]

Heinri Bal i Dick Grune, yá apersentan ua classeficaçon an geraçones de forma defrente, anfatizando mais l'aspeto de l'aplicaçon. San eilencadas 6 geraçones.[63]

Doris Apleby i Julius J. BandeKopple debeden las lenguaiges an quatro geraçones que coinciden culas quatro purmeiras geraçones eilencadas por Heinri Bal i Dick Grune.[49]

Lista de lenguaiges

[eiditar | eiditar código-fuonte]
Libros subre dibersas lenguaiges de porgramaçon

Eesisten bárias lenguaiges de porgramaçon; d'acuordo cul Índice Tiobe, las 20 mais populares son:[40]

  1. Java
  2. C
  3. Objective-C
  4. C++
  5. C♯
  6. PHP
  7. Python
  8. Visual Basic
  9. Perl
  10. Ruby
  11. JavaScript
  12. Visual Basic .NET
  13. Lisp
  14. Pascal
  15. Delphi / Object Pascal
  16. Transact-SQL
  17. Bash
  18. MATLAB
  19. Assembly
  20. Ada
  1. Edsger Dijkstra an sou libro La Decipline of Porgramming assi define las lenguaiges de porgramaçon: "You beijo ua lenguaige de porgramaçon percipalmente cumo un beiclo pa la çcriçon (potencialmente mui sofisticada) de macanismos abstratos" Dijkstra, Edsger W (1976). La Decipline of Porgramming (an anglés). Anglewod Cliffs, New Jersey: Prentice Preça de casa. p. 9. 217 páiginas. ISBN 0-13-215871-X 
  2. Para un mapa abrangente de la stória de las lenguaiges de porgramaçon ber: .com/lang/story.html «Mapa de la stória de las lenguaiges de porgramaçon» Cunsulte valor |url= (ajuda) (an anglés). Cunsultado an 1 de dezembre de 2010 
  3. ó rodar, cumo se diç ne l jargon de la cumputaçon
  4. Beija tamien Cumpilador.
  5. Citaçon de Knuth de l memorando de Curry: "L purmeiro passo ne l planeijamiento de l porgrama ye l d'analisar la cumputaçon an ciertas partes percipales, chamadas eiqui de debisones, de modo que l porgrama puoda ser sintetizado a partir deilhas. Las partes percipales dében ser tales que, ó pul menos alguas deilhas, son cálclos andependientes an si própios, ó modificaçones desses cálclos." an: Knuth, Donald I (2003). «1-The Early Debelopment of Porgramming Languages». Seleted Papers on Cumputer Languages (an anglés). Bintura Preça de casa, Stanford: CSLI. p. 17. 594 páiginas. ISBN 1-57586-382-0 
  6. Sussman eit al. menciona que las lenguaiges d'altíssemo nible son porgramadas an tenermos de sentenças declaratibas. An: Abelson, Harold; Sussman, Girald Jay; Sussman, Julie (1996). Struture and Anterpretation of Cumputer Porgrams (an anglés) 2ª eid. Cambridge, Massachusetts: McGraw-Hill. p. 22. 640 páiginas. ISBN 0-07-000484-6 
  7. Muitos outores classefican las lenguaiges quanto al grau d'abstraçon an solo dous: alto i baixo. Alguns outores cumo Dennis Ritchie i Kenneth Thompson classefican alguas lenguaiges cumo C i CPL tanto cumo baixo nible cumo alto nible cumo an: Appleby, Doris; BandeKopple, Julius J (1997). Porgramming Languages. Paradign and Pratice 2ª eid. New York: McGraw-Hill. p. 132-134. 444 páiginas. ISBN 0-07-005315-4  Parâmetro desconhecido |léngua3= ignorado (ajuda)

Refréncias

  1. Dershen, Heirbert L.; Jipping, Michael J. (1995). Porgramming Languages. Strutures and models (an anglés) 2ª eid. Boston: PWS Publishing Cumpany. p. 1. 432 páiginas. ISBN 0-534-94740-9 
  2. Fischer, Alice I.; Grodzinsky, Frances (1993). The Anatomy of Porgramming Languages (an anglés). Anglewod Cliffs, New Jersey: Prentice Preça de casa. p. 3. 557 páiginas. ISBN 0-13-035155-5 
  3. 3,0 3,1 Cumpiladores. Percípios, técnicas i ferramientas. San Paulo: [s.n.] p. 3-5. 634 páiginas. ISBN 978-85-88639-24-9  Parâmetro desconhecido |Eiditora= ignorado (|eiditora=) sugerido (ajuda); Parâmetro desconhecido |Outor= ignorado (|outor=) sugerido (ajuda); Parâmetro desconhecido |Anho= ignorado (|anho=) sugerido (ajuda)
  4. Percípios de Lenguaiges de Porgramaçon. San Paulo: [s.n.] p. 7-11. 211 páiginas. ISBN 85-212-0322-5  Parâmetro desconhecido |Eiditora= ignorado (|eiditora=) sugerido (ajuda); Parâmetro desconhecido |Outor= ignorado (|outor=) sugerido (ajuda); Parâmetro desconhecido |Anho= ignorado (|anho=) sugerido (ajuda)
  5. «6-Porgran Portabelity». Cumputer Porgramming Management. New York: [s.n.] p. 89-100. 155 páiginas. ISBN 0-442-20920-7  Parâmetro desconhecido |Eiditora= ignorado (|eiditora=) sugerido (ajuda); Parâmetro desconhecido |Outor= ignorado (|outor=) sugerido (ajuda); Parâmetro desconhecido |Anho= ignorado (|anho=) sugerido (ajuda)
  6. Sammet, Jean I (1969). Porgramming Languages: Story and Fundamentals (an anglés). Anglewod Cliffs, New Jersey: Prentice Preça de casa. p. 14-16. 785 páiginas. ISBN 0-13-729988-5 
  7. «The Story of Fortran I, II, and III». Annals of The Story of Cumputing (an angles). 1 (1). Arlington, BA: Amarican Federation of Anformation Processing Societies. 1979. 80 páiginas. ISSN 1058-6180  Parâmetro desconhecido |radadeiro= ignorado (ajuda); |nome1= sem |sobrenome1= em Authors list (ajuda)
  8. Huskey, Belma R.; Huskey, Harry D. (1980). «Lady Lobelace and Charles Babbage». Annals of The Story of Cumputing (an anglés). 2 (4). Arlington, BA: Amarican Federation of Anformation Processing Societies. p. 299-329. 384 páiginas. ISSN 1058-6180 
  9. Breton, Phelippe (1991). Stória de la Anformática. San Paulo: UNESP. p. 68-69. 260 páiginas. ISBN 85-7139-021-5 
  10. Gonick, Larry (1984). Antroduçon Eilustrada a la Cumputaçon. San Paulo: Harper & Row de l Brasil. p. 51-59. 242 páiginas 
  11. Smith, James F,; Frank, Thomas S (1994). Antrodution to Porgramming Cuncets and Methods with Ada. Nuoba Iorque, EUA: McGraw-Hill. p. 7-8. 545 páiginas. ISBN 0-07-911725-2  Parâmetro desconhecido |léngua3= ignorado (ajuda)
  12. Zuse, Konrad (1980). «Anstallation of the German Cumputer Z4 in Zurich in 1950». Annals of The Story of Cumputing (an anglés). 2 (3). Arlington, BA: Amarican Federation of Anformation Processing Societies. p. 239-241. 384 páiginas. ISSN 1058-6180 
  13. Fundamentals of Cumpilers. An Antrodution to Cumputer Language Traslation. Boca Raton: CRC. 1992. 184 páiginas. ISBN 0-8493-7341-7  Parâmetro desconhecido |radadeiro= ignorado (ajuda); Parâmetro desconhecido |léngua3= ignorado (ajuda); |nome1= sem |sobrenome1= em Authors list (ajuda)
  14. 14,0 14,1 Wexelblat, Richard L.(Eiditor) (1981). Story of Porgramming Languages. New York: Academic Press. p. 6-15. 758 páiginas. ISBN 0-12-745040-8 
  15. Metropolis, N.(Ed.); Howlett, J.(Ed.); Rota, Gian-Carlo(Ed.) (1980). La Story of Cumputing in the Twentieth Century. La colletion of essays (an anglés). New York: Academic Press. pp. 130–131. ISBN 0-12-491650-3 
  16. 16,0 16,1 Wexelblat, Richard L.(Eiditor) (1981). Story of Porgramming Languages. New York: Academic Press. p. 199-278. 758 páiginas. ISBN 0-12-745040-8 
  17. Horowitç, Eillis (eiditor de l libro); Nauer, P. (eiditor de l capítulo) (1987). «Report on the Algorithmic Language ALGOL 60». Porgramming Languages. La Grand Tour (an anglés) 3ª eid. New York: Academic Press. p. 44-60. 512 páiginas. ISBN 0-88175-142-1 
  18. Horowitç, Eillis (eiditor de l libro); Knuth, D. I (1987). «The Remaening Troublespots in ALGOL 60». Porgramming Languages. La Grand Tour (an anglés) 3ª eid. New York: Academic Press. p. 61-68. 512 páiginas. ISBN 0-88175-142-1 
  19. Pratt, Terrence W.; Zelkowitç, Marbin B (2001). Porgramming Languages. Zeign and Amplementation (an anglés) 4ª eid. Upper Saddle Riber, New Jersey: Prentice preça de casa. p. 420-421. 649 páiginas. ISBN 0-13-027678-2 
  20. Gray, Peter (1984). «Repersenting porgrams by clauses: Prolog». Logic, Algebra and Databases (an anglés). Chichester: Eillis Horwod. p. 73. 294 páiginas. ISBN 0-85312-709-3 
  21. Horowitç, Eillis (1984). Fundamentals of Porgramming Languages (an anglés) 2ª eid. Rockbille, Maryland: Cumputer Science Press. p. 17. 446 páiginas. ISBN 0-088175-004-2 Cunsulte |isbn= (ajuda) 
  22. Goldberg, Adele; Robson, David (1989). Smalltalk-80. The language (an anglés). Reading, Massachusetts: Addison-Wesley. 591 páiginas. ISBN 0-201-13688-0 
  23. Lewis, Simon (1995). The Art and Science of Smalltalk. An Antrodution to Oubjet-Ouriented Porgramming using BisualWorks (an anglés). London: Prentice Preça de casa. 212 páiginas. ISBN 0-13-371345-8 
  24. Sebesta, Robert W (2010). Cunceitos de Lenguaiges de Porgramaçon 9ª eid. Porto Alegre: Bookman. p. 108-131. 792 páiginas. ISBN 978-85-7780-791-8 
  25. 25,0 25,1 Schildt, Heirbert (1998). C++. The Cumplete Reference (an anglés) 3ª eid. Berkeley: McGra-Hill. p. 256. 1008 páiginas. ISBN 0-07-882476-1 
  26. Liberty, Jesse (2002). Porgramming C# (an anglés) 2ª eid. Beising: L´Reilly. 629 páiginas. ISBN 0-596-00309-9 
  27. 27,0 27,1 Lutç, Mark (2001). Porgramming Python (an anglés) 2ª eid. Beising: L´Reilly. 1255 páiginas. ISBN 0-596-00085-5 
  28. 28,0 28,1 Thomas, Dabe (2002). Porgramming Ruby 1.9. The Pragmatic Porgrammers´Guide (an anglés). Raleigh, North Carolina: L´Reilly. 930 páiginas. ISBN 1-934356-08-5 
  29. Anginering la Cumpiler. San Francisco: [s.n.] p. 2. ISBN 1-55860-698-X  Parâmetro desconhecido |radadeiro= ignorado (ajuda); Parâmetro desconhecido |Eiditora= ignorado (|eiditora=) sugerido (ajuda); Parâmetro desconhecido |Anho= ignorado (|anho=) sugerido (ajuda); Parâmetro desconhecido |léngua3= ignorado (ajuda); |nome1= sem |sobrenome1= em Authors list (ajuda)
  30. Principles of Cumpiler Zeign. Reading, Massachusetts, EUA: Addison-Wesley. 1977. p. 1. 604 páiginas. ISBN 0-201-00022-9  Parâmetro desconhecido |radadeiro= ignorado (ajuda); Parâmetro desconhecido |léngua3= ignorado (ajuda); |nome1= sem |sobrenome1= em Authors list (ajuda); |cooutores= requer |outor= (ajuda)
  31. 31,0 31,1 31,2 31,3 Pacitti, Tércio; Aktinson, Cyril P; Teles, Antonio Anibal de Souza (outor de l'apéndice 4a) (1983). Porgramaçon i Métodos Cumputacionales. 1 4ª eid. Riu de Janeiro: LTC. p. 293. 431 páiginas. ISBN 85-216-0283-9  Parâmetro desconhecido |belumes= ignorado (ajuda)
  32. Scott, Michael L (2006). Porgramming Language Pragmatics 2ª eid. Boston: Morgan Kauffman. p. 14-15. 875 páiginas. ISBN 978-0-12-633951-2  Parâmetro desconhecido |léngua3= ignorado (ajuda)
  33. Java 2. The Cumplete reference 4ª eid. Berkeley: McGraw-Hill. 2001. 1076 páiginas. ISBN 0-07-213084-9  Parâmetro desconhecido |radadeiro= ignorado (ajuda); Parâmetro desconhecido |léngua3= ignorado (ajuda); |nome1= sem |sobrenome1= em Authors list (ajuda)
  34. Porgramming fur the Java Virtual Machine. Reading, Massachusetts: Addison & Wesley. 1999. p. 355. 488 páiginas. ISBN 0-201-30972-6  Parâmetro desconhecido |radadeiro= ignorado (ajuda); Parâmetro desconhecido |léngua3= ignorado (ajuda); |nome1= sem |sobrenome1= em Authors list (ajuda)
  35. Cumpeling fur the .NET Common Language Runtime (CLR). Upper Saddle Riber: Prentice Preça de casa. 2002. p. 2-12. 391 páiginas. ISBN 0-13-062296-6  Parâmetro desconhecido |radadeiro= ignorado (ajuda); Parâmetro desconhecido |léngua3= ignorado (ajuda); |nome1= sem |sobrenome1= em Authors list (ajuda)
  36. Oubjet-Ouriented Cumpiler Custrution. Anglewod Cliffs, Nuoba Jersey: Prentice Preça de casa. 1995. p. 2-3. 483 páiginas. ISBN 0-13-630740-X  Parâmetro desconhecido |radadeiro= ignorado (ajuda); Parâmetro desconhecido |léngua3= ignorado (ajuda); |nome1= sem |sobrenome1= em Authors list (ajuda)
  37. Dahl, L. J.; Dijkstra, I. W.; Hoare, C. La . R (1972). «I-Notes on Strutured Porgramming». Strutured Porgramming (an anglés). London: Academic Press. p. 1-82. 220 páiginas. ISBN 0-12-200550-3 
  38. Knuth, Donald I (2003). «1-The Early Debelopment of Porgramming Languages». Seleted Papers on Cumputer Languages (an anglés). Bintura Preça de casa, Stanford: CSLI. p. 1-94. 594 páiginas. ISBN 1-57586-382-0 
  39. Tucker, Allen; Nonan, Robert (2002). Porgramming Languages. Principles and paradigms (an anglés). Boston: McGraw-Hill. p. 170-185. 411 páiginas. ISBN 0-07-238111-6 
  40. 40,0 40,1 «Lenguaiges de porgramaçon populares» (an anglés). tiobe.com. Cunsultado an 17 de febreiro de 2013 
  41. 41,0 41,1 Guezzi, Carlo; Jazayeri, Mehdi (1998). Porgramming Language Cuncets (an anglés) 3ª eid. New York: John Wiley & Sonidos. p. 7. 427 páiginas. ISBN 0-471-10426-4 
  42. Wirth, Niklaus (1989). Porgramando an Modula 2. Riu de Janeiro: LTC. 207 páiginas. ISBN 85-216-0658-3 
  43. Silba, José carlos G.; Assis, Fidelis Sigmaringa G. de (1988). Lenguaiges de Porgramaçon. Cunceitos i Abaluaçon. Riu de Janeiro: McGraw-Hill/Ambratel. p. 125. 213 páiginas. CDD-001.6424 
  44. Harbison, Samuel P (1992). Modula-3 (an anglés). New York: Prentice-Preça de casa. 312 páiginas. ISBN 0-13-596404-0 
  45. Friedman, Daniel P.; Wand, Mitchell; haynes, Christopher T (1998). Essentials of Porgramming Languages (an anglés). Cambridge, Massachusetts: MIT Press. p. 214. 536 páiginas. ISBN 0-262-06145-7 
  46. Sommerbille, Ian (2001). Software Anginering (an anglés) 6ª eid. Harlow: Addison-Wesley. p. 272-273. 693 páiginas. ISBN 0-201-39815-X 
  47. Bregalda, Paulo F.; Oulibeira, Antonio La. F. de; Bornstein, Cláudio T (1988). Antroduçon a la Porgramaçon Linear 3ª eid. Riu de Janeiro: Campus. p. 61. 329 páiginas. ISBN 85-7001-342-6 
  48. «Sistema de classeficaçon de la ACM» (an anglés). acn.uiuc.edu. Cunsultado an 1 de dezembre de 2010 
  49. 49,0 49,1 49,2 49,3 49,4 Appleby, Doris; BandeKopple, Julius J (1997). Porgramming Languages. Paradign and Pratice 2ª eid. New York: McGraw-Hill. p. 8-13. 444 páiginas. ISBN 0-07-005315-4  Parâmetro desconhecido |léngua3= ignorado (ajuda)
  50. Watt, David La (1990). «11-The Cuncurrent Porgramming Paradign». Porgramming Language Cuncets and Paradigms (an anglés). New York: Prentice Preça de casa. p. 205-218. 322 páiginas. ISBN 0-13-728866-2 
  51. Abelson, Harold; Sussman, Girald Jay; Sussman, Julie (1996). Struture and Anterpretation of Cumputer Porgrams (an anglés) 2ª eid. Cambridge, Massachusetts: McGraw-Hill. p. 352-360. 640 páiginas. ISBN 0-07-000484-6 
  52. Watt, David La (1990). «13-The Funcional Porgramming Paradign». Porgramming Language Cuncets and Paradigms (an anglés). New York: Prentice Preça de casa. p. 230-252. 322 páiginas. ISBN 0-13-728866-2 
  53. McCarthy, John; Abrahams, Paul W.; Edwards, Daniel J.; Hart, Timothy P.; Lebin, Michael I (1962). Lisp 1.5 Porgrammer´s Manual. Cambridge, Massachusetts: The MIT Press. p. 1. 106 páiginas. ISBN 0-262-13011-4 
  54. Dybbig, R. Kent (1996). The Scheme Porgramming Language. Ansi Scheme. New Jersey: Prentice Preça de casa PTR. ISBN 0-13-454646-6 
  55. Hudak, Paul (2000). Tha Haskell Schol of Spression. Learning Funtional Porgramming Through Multimedie. Cambridge: Cambridge University Press. 363 páiginas. ISBN 0-521-64408-9 
  56. Watt, David La (1990). «14-The Logic Porgramming Paradign». Porgramming Language Cuncets and Paradigms (an anglés). New York: Prentice Preça de casa. p. 253-265. 322 páiginas. ISBN 0-13-728866-2 
  57. Bratko, Iban (2001). Prolog. Porgramming fur Artificial Antelligence (an anglés) 3ª eid. Harlow, Angland: Addison-Wesley. pp. 46–50. ISBN 0201-40375-7 
  58. Hill, Patricia; Lloyd, John (1994). The Gödel Porgramming Language (an anglés). Cambridge: The MIT Press. 350 páiginas  Testo "isbn 0-262-08229-2" eignorado (ajuda)
  59. 59,0 59,1 Finkel, Raphael La (1995). Adbance Porgramming Language Zeign (an anglés). Menlo Park, California: Addison-Wesley. p. 64. 480 páiginas. ISBN 0-8053-1191-2 
  60. Guezzi, Carlo; Jazayeri, Mehdi (1985). Cunceitos de Lenguaiges de Porgramaçon. Riu de Janeiro: Campus. p. 55. 306 páiginas. ISBN 85-7001-420-1 
  61. 61,0 61,1 Sethi, Rabi (1996). Porgramming Languages. Cuncets & Custruts (an anglés) 2ª eid. Reading, Massachusetts: Addison-Wesley. p. 4-8. 640 páiginas. ISBN 0-201-59065-4 
  62. 62,0 62,1 62,2 62,3 62,4 62,5 Maclennan, Bruce J (1999). Principles of Porgramming Languages. Zeign, Eibaluation and Amplementation (an anglés) 3ª eid. Oxford: Oxford University Press. p. 92;163-164;208;305-306. 509 páiginas. ISBN 0-19-511306-3 
  63. Bal, Heinri I.; Grune, Dick (1994). Porgramming Language Essentials (an anglés). Wokinghan: Addison-Wesley. p. 10-11. 231 páiginas. ISBN 0-201-63179-2 

Lhigaçones sternas

[eiditar | eiditar código-fuonte]