Linguagem de programação: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
Linha 22:
A [[orientação a objetos]] é outro marco importante na história das linguagens de programação. A linguagem [[Simula 67]] introduz o conceito de classes.<ref name="horowitz">{{Citar livro|autor=Horowitz, Ellis|título=Fundamentals of Programming Languages|idioma=inglês|edição=2ª|local=Rockville, Maryland|editora=Computer Science Press|ano=1984|páginas=446|página=17|isbn=088175-004-2}}</ref> A linguagem [[Smalltalk]]<ref name="goldberg">{{Citar livro|autor=Goldberg, Adele; Robson, David|título=Smalltalk-80|subtítulo=The language|idioma=inglês|local=Reading, Massachusetts|editora=Addison-Wesley|ano=1989|páginas=591|isbn=0-201-13688-0}}</ref><ref name="lewis">{{Citar livro|autor=Lewis, Simon|título=The Art and Science of Smalltalk|subtítulo=An Introduction to Object-Oriented Programming using VisualWorks|idioma=inglês|local=London|editora=Prentice Hall|ano=1995|páginas=212|isbn=0-13-371345-8}}</ref> expande o conceito de classes e se torna a primeira linguagem de programação que oferecia suporte completo à programação orientada a objetos.<ref name="sebesta">{{Citar livro|autor=Sebesta, Robert W|título=Conceitos de Linguagens de Programação|edição=9ª|local=Porto Alegre|editora=Bookman|ano=2010|páginas=792|página=108-131|isbn=978-85-7780-791-8}}</ref> A linguagem [[C++]] (originalmente conhecida como C com classes) populariza a orientação a objetos.<ref name="schildt">{{Citar livro|autor=Schildt, Herbert|título=C++|subtítulo=The Complete Reference|idioma=inglês|edição=3ª|local=Berkeley|editora=McGra-Hill|ano=1998|páginas=1008|página=256|isbn=0-07-882476-1}}</ref>
Diversas linguagens de programação surgiram desde então. Entre estas incluem-se [[
== Interpretação e compilação ==
Linha 32:
Se o texto do programa é executado à medida que vai sendo traduzido, como em [[JavaScript]], [[BASIC]], [[Python]] ou [[Perl]], num processo de tradução de trechos seguidos de sua execução imediata, então diz-se que o programa foi interpretado e que o mecanismo utilizado para a tradução é um interpretador. Programas interpretados são geralmente mais lentos do que os compilados, mas são também geralmente mais flexíveis, já que podem interagir com o ambiente mais facilmente.<ref name=scott>{{Citar livro|autor=Scott, Michael L|título=Programming Language Pragmatics|língua=en|edição=2ª|local=Boston|editora=Morgan Kauffman|ano=2006|páginas=875|página=14-15|isbn=978-0-12-633951-2}}</ref>
Embora haja essa distinção entre [[Linguagem interpretada|linguagens interpretadas]] e [[Linguagem compilada|compiladas]], as coisas nem sempre são tão simples. Há linguagens compiladas para um código de máquina virtual (sendo esta ''[[máquina virtual]]'' apenas mais um software, que emula a máquina virtual sendo executado em uma máquina real), como [[Java (linguagem de programação)|Java]]<ref name=java2>{{Citar livro|último=Schildt|primeiro=Herbert|título=Java 2|subtítulo=The Complete reference|língua=en|edição=4ª|local=Berkeley|editora=McGraw-Hill|ano=2001|páginas=1076|isbn=0-07-213084-9}}</ref> (compila para a [[plataforma Java]]<ref name=jit>{{Citar livro|último=Engel|primeiro=Joshua|título=Programming for the Java Virtual Machine|língua=en|local=Reading, Massachusetts|editora=Addison & Wesley|ano=1999|páginas=488|página=355|isbn=0-201-30972-6}}</ref>) e [[
Como exemplo, podemos citar a linguagem Java. Nela, um compilador traduz o código java para o código intermediário (e portável) da JVM. As JVMs originais interpretavam esse código, de acordo com o código de máquina do computador hospedeiro, porém atualmente elas compilam, segundo a técnica JIT o código JVM para código hospedeiro.
|