Vous êtes sur la page 1sur 67

Captulo 2

Evoluo das Principais


Linguagens
de Programao
Conceitos de Linguagens de Programao Robert W. Sebesta

Tpicos do Captulo 2
Plankalkl de Zuse
Programao de hardware mnima: pseudocdigos
O IBM 704 e Fortran
Programao funcional: LISP
O primeiro passo em direo sofisticao: ALGOL 60
Informatizando os registros comerciais: COBOL
O incio do compartilhamento de tempo: BASIC
Conceitos de Linguagens de Programao Robert W. Sebesta

Tpicos do Captulo 2
Tudo para todos: PL/I
Duas das primeiras linguagens dinmicas: APL e SNOBOL
O incio da abstrao de dados: SIMULA 67
Projeto ortogonal: ALGOL 68
Alguns dos primeiros descendentes dos ALGOLs
Programao baseada em lgica: Prolog
O maior esforo de projeto da histria: Ada
Conceitos de Linguagens de Programao Robert W. Sebesta

Tpicos do Captulo 2
Programao orientada a objetos: Smalltalk
Combinando recursos imperativos e orientados a objetos: C++
Uma linguagem orientada a objetos baseada no paradigma imperativo:
Java
Linguagens de scripting
Uma linguagem baseada em C para o novo milnio: C#
Linguagens hbridas de marcao/programao
Conceitos de Linguagens de Programao Robert W. Sebesta

Genealogia das principais linguagens


de programao
Conceitos de Linguagens de Programao Robert W. Sebesta

Plankalkl de Zuse
Desenvolvida em 1945, mas no publicada at 1972
Nunca foi implementada
Estruturas de dados avanadas
Ponto flutuante, vetores, registros
Invariante
Conceitos de Linguagens de Programao Robert W. Sebesta

Sintaxe de Plankalkl
Uma sentena de atribuio que atribui o valor da expresso A[4] + 1
para A[5]

| A + 1 => A
V | 4 5 (ndices)
S | 1.n 1.n (tipos de dados)
Conceitos de Linguagens de Programao Robert W. Sebesta

Programao de Hardware Mnima:


Pseudocdigos
O que estava errado ao usar cdigo de mquina?
Baixa legibilidade
Modificaes de programas tediosas e passveis de erros
Deficincias de mquina sem indexao ou ponto-flutuante
Conceitos de Linguagens de Programao Robert W. Sebesta

Pseudocdigos: Short Code


Short Code foi desenvolvida por John Mauchly em 1949 para o
computador BINAC
Expresses foram codificadas
Exemplo de operaes:
01 06 abs value 1n (n+2)nd power
02 ) 07 + 2n (n+2)nd root
03 = 08 pause 4n if <= n
04 / 09 ( 58 print and tab
Conceitos de Linguagens de Programao Robert W. Sebesta

Pseudocdigos: Speedcoding
Speedcoding foi desenvolvido por John Backus em 1954 para
o IBM 701
Pseudoinstrues para operaes aritmticas e funes matemticas
Desvios condicionais e incondicionais
Facilidade para incrementar os registradores de endereo
automaticamente
Memria usvel restante aps carregar o interpretador de apenas 700
palavras
Conceitos de Linguagens de Programao Robert W. Sebesta

Pseudocdigos: Related Systems


O sistema de compilao da UNIVAC
Devenvolvido por uma equipe liderada por Grace Hopper
Pseudocdigo expandido em cdigo de mquina
David J. Wheeler (Universidade de Cambridge)
desenvolveu um mtodo de usar blocos de endereos realocveis para
resolver parcialmente o problema do endereamento absoluto
Conceitos de Linguagens de Programao Robert W. Sebesta

IBM 704 e Fortran


Fortran 0: 1954 no implementado
Fortran I: 1957
Desenvolvido para o IBM 704, que tinha registros de indexao e
hardware de ponto-flutuante
Levou ideia de linguagens de programao compiladas, porque no
havia o esconderijo para o custo da interpretao
Ambiente de desenvolvimento
Computadores com memrias pequenas e no confiveis
Aplicaes eram cientficas
No havia maneiras eficientes de programar computadores
Velocidade do cdigo objeto era o objetivo principal
Conceitos de Linguagens de Programao Robert W. Sebesta

Processo de projeto do Fortran


Impacto do ambiente no processo do Fortran I
No h necessidade de armazenamento dinmico
Precisa de boa manipulao de vetores e sentenas de repetio
Sem manipulao de cadeias, aritmtica decimal ou sentenas de entrada
e sada (para aplicaes de negcios)
Conceitos de Linguagens de Programao Robert W. Sebesta

Viso geral de Fortran I


Primeira verso implementada do Fortran
Nomes de variveis podem ter at seis caracteres
Sentena de repetio (DO)
Formatao de entrada e sada
Sub-rotinas definidas pelos usurios
Sentena de seleo IF
Conceitos de Linguagens de Programao Robert W. Sebesta

Viso geral de Fortran I


Primeira verso implementada do FORTRAN
Sem compilao separada
Compilador lanado em abril de 1957, depois de 18 anos de trabalho
Programas com mais de 400 linhas raramente so compilados
corretamente, especialmente devido pouca confiabilidade do 704
O cdigo era muito rpido
Rapidamente se tornou amplamente usado
Conceitos de Linguagens de Programao Robert W. Sebesta

Fortran II
Distribudo em 1958
Compilao independente
Corrigiu falhas
Conceitos de Linguagens de Programao Robert W. Sebesta

Fortran IV
Evoluiu entre 1960-62
Declaraes de tipo explcitas
Sentenas de controle de laos lgicos
Nomes de subprogramas podem ser parmetros
Padro ANSI em 1966
Conceitos de Linguagens de Programao Robert W. Sebesta

Fortran 77
Tornou-se o novo padro em 1978
Manipulao de caracteres de cadeias
Sentenas de controle de laos lgicos
Um If com uma clusula opcional Else
Conceitos de Linguagens de Programao Robert W. Sebesta

Fortran 90
Drasticamente diferente do Fortran 77
Mdulos
Vetores dinmicos
Ponteiros
Registros
Sentena CASE
Parmetro de verificao de tipo
Conceitos de Linguagens de Programao Robert W. Sebesta

ltimas verses de Fortran


Fortran 95 apenas algumas mudanas
Fortran 2003 - idem
Conceitos de Linguagens de Programao Robert W. Sebesta

Avaliao de Fortran
Compiladores altamente otimizados (todas as verses antes de 90)
Tipos e armazenamento para todas as variveis so fixados antes
da execuo
Mudou drasticamente para sempre a forma como os computadores
so usados
Caracterizada como a lngua franca do mundo da computao
Conceitos de Linguagens de Programao Robert W. Sebesta

Programao funcional: LISP


List Processing Language
Projetada no MIT por McCarthy
Pesquisa de inteligncia artificial (IA) precisava de uma linguagem para
Processar dados em listas (em vez de vetores)
Computao simblica (em vez de numrica)
Apenas dois tipos de dados: tomos e listas
Sintaxe baseada em lambda calculus
Conceitos de Linguagens de Programao Robert W. Sebesta

Representao interna de duas listas


em LISP

Representando as listas (A B C D)
e (A (B C) D (E (F G)))
Conceitos de Linguagens de Programao Robert W. Sebesta

Avaliao de LISP
Pioneira na programao funcional
Sem necessidade de variveis ou atribuio
Controle por recurso e expresses condicionais
Ainda a linguagem dominante em IA
COMMON LISP e Scheme so dialetos contemporneos de LISP
ML, Miranda e Haskell so linguagens relacionadas
Conceitos de Linguagens de Programao Robert W. Sebesta

Scheme
Desenvolvida no MIT no meio dos anos 1970
Pequena
Uso de escopo esttico
Funes como entidades de primeira classe
Sintaxe simples (e tamanho pequeno) o que a torna ideal para
aplicaes educacionais
Conceitos de Linguagens de Programao Robert W. Sebesta

COMMON LISP
Um esforo para para combinar caractersticas de diversos dialetos de
LISP em uma s linguagem
Grande, complexa
Conceitos de Linguagens de Programao Robert W. Sebesta

O Primeiro Passo em Direo Sofisticao:


ALGOL 60
Ambiente de desenvolvimento
FORTRAN chegou (apenas) para IBM 700
Vrias outras linguagens foram desenvolvidas, todas para mquinas
especficas
Nenhuma linguagem porttil; todas eram dependentes das mquinas
Nenhuma linguagem universal para comunicao de algoritmos
ALGOL 60 foi o resultado dos esforos para criar uma linguagem
universal
Conceitos de Linguagens de Programao Robert W. Sebesta

Processo do projeto inicial


ACM e GAMM se reuniram por quatro dias (De 27 de maio a 1 de
junho de 1958)
Objetivos da linguagem
Ser o mais prxima possvel da notao padro matemtica
Boa para a descrio de algoritmos
Ser traduzvel em cdigo de mquina
Conceitos de Linguagens de Programao Robert W. Sebesta

ALGOL 58
Formalizou conceito de tipo de dados
Identificadores podiam ter qualquer tamanho
O limite inferior dos vetores podia ser especificado pelo programador
Parmetros eram separados por modo
Sentenas de seleo aninhadas eram permitidas
Declaraes compostas (begin ... end)
Vrgula como separador de declaraes
Operador de atribuio era :=
if tinha uma clusula else-if
Conceitos de Linguagens de Programao Robert W. Sebesta

Implementao do ALGOL 58
No pretendia ser um produto finalizado para implementao, mas
variaes dele foram (MAD, JOVIAL)
Embora a IBM tenha sido inicialmente entusiasta, todo o suporte foi
descontinuado em meados de 1959
Conceitos de Linguagens de Programao Robert W. Sebesta

Viso geral do ALGOL 60


Modificao do ALGOL 58 em seis dias de encontros em Paris
Novos recursos
Estrutura de bloco (escopo local)
Duas formas diferentes de passagem de parmetros a subprogramas
Procedimentos recursivos
Vetores dinmicos na pilha
Ainda sem sentenas de entrada e sada e sem manipulao de cadeias
Conceitos de Linguagens de Programao Robert W. Sebesta

Avaliao do ALGOL 60
Sucessos
nica maneira formal aceitvel de comunicar algoritmos por mais
de 20 anos
Todas as linguagens de programao imperativas desde 60 so
baseadas nela
Primeira linguagem independente de mquina
Primeira linguagem cuja sintaxe foi formalmente descrita (BNF)
Conceitos de Linguagens de Programao Robert W. Sebesta

Avaliao do ALGOL 60
Fracassos
Nunca atingiu uso disseminado, especialmente nos Estados Unidos
Motivos
Entrada e sada dependentes fizeram com que os programas tivessem uma
portabilidade ruim
Muito flexvel difcil de implementar
Forte estabelecimento do Fortran
Descrio formal de sintaxe
Falta de apoio da IBM
Conceitos de Linguagens de Programao Robert W. Sebesta

Informatizando os Registros Comerciais:


COBOL
Ambiente de desenvolvimento
UNIVAC estava comeando a usar FLOW-MATIC
USAF estava comeando a usar AIMACO
IBM estava desenvolvendo COMTRAN
Conceitos de Linguagens de Programao Robert W. Sebesta

Perspectiva histria do COBOL


Baseado em FLOW-MATIC
Caractersticas de FLOW-MATIC
Nomes com mais de 12 caracteres, com hifens
Nomes em ingls para operaes aritmticas (sem expresses
aritmticas)
Dados e cdigo eram completamente separados
A primeira palavra em cada sentena era um verbo
Conceitos de Linguagens de Programao Robert W. Sebesta

O processo do projeto do COBOL


Primeira reunio (no Pentgono) Maio de 1959
Objetivos
Utlizar o ingls o mximo possvel
Ser fcil de usar, mesmo ao custo de ser menos poderosa
Ampliar a base de usurios de computador
No ser orientada pelos problemas atuais do compilador
Membros da comisso do projeto foram de fabricantes de
computadores e membros do Departamento de Defesa Americano
(DoD)
Problemas de projeto: expresses aritmticas? subscripts? Disputas
entre os fabricantes
Conceitos de Linguagens de Programao Robert W. Sebesta

Avaliao do COBOL
Contribuies
Primeira construo para macros de uma linguagem de alto nvel
Estruturas de dados hierrquicas (registros)
Sentenas de seleo aninhadas
Nomes longos (at 30 caracteres), com hifens
Diviso de dados
Conceitos de Linguagens de Programao Robert W. Sebesta

COBOL: influncia do DoD


Primeira linguagem requerida pelo DoD
Teria falhado sem o DoD
Ainda assim, o idioma mais utilizado em aplicaes de negcios
Conceitos de Linguagens de Programao Robert W. Sebesta

O Incio do compartilhamento de tempo: BASIC


Projetado por Kemeny e Kurtz em Dartmouth
Objetivos:
Ser fcil para estudantes que no so de cincias bsicas aprenderem
Ser prazerosa e amigvel
Agilizar os deveres de casa
Permitir acesso livre e privado
Considerar o tempo do usurio mais importante do que o tempo
do computador
Dialeto popular poca: Visual BASIC
Primeira linguagem amplamente utilizada com o tempo de
compartilhamento
Conceitos de Linguagens de Programao Robert W. Sebesta

Tudo para todos: PL/I


Desenvolvida por IBM e SHARE
Situao da computao em 1964 (do ponto de vista da IBM)
Aplicao cientfica
Computadores IBM 1620 e 7090
FORTRAN
Grupo de usurio SHARE
Aplicao de negcios
Computadores IBM 1401 e 7080
COBOL
Grupo de usurio GUIDE
Conceitos de Linguagens de Programao Robert W. Sebesta

Perspectiva histrica
Em 1963
Programadores cientficos passaram a precisar de recursos mais
elaborados de entrada e sada, como COBOL tinha; as aplicaes de
negcios precisavam de dados de ponto-flutuante e vetores para sistemas
de informao de gerenciamento
Comeou a parecer que as instalaes de computao logo precisariam
de duas equipes tcnicas e de computadores diferentes
A soluo bvia
Construir um novo computador para fazer os dois tipos de aplicaes
Projetar uma nova linguagem para as aplicaes
Conceitos de Linguagens de Programao Robert W. Sebesta

O processo de projeto
Desenvolvido em cinco meses pelo Comit 3 x 3
Trs membros da IBM, trs membros do SHARE
Projeto inicial
Uma extenso do Fortran IV
Inicialmente chamado de NPL (New Programming Language - Nova
Linguagem de Programao)
Nome mudado para PL/I em 1965
Conceitos de Linguagens de Programao Robert W. Sebesta

Avaliao de PL/I
Contribuies
Permitido aos programas criar subprogramas executados
concorrentemente
Possvel detectar e manipular excees
Permitida a utilizao de subprogramas recursivamente
Ponteiros foram includos como um tipo de dados
Pores de uma matriz podiam ser referenciadas
Preocupaes
Muitos dos novos recursos foram mal concebidos
Muito grande e muito complexo
Conceitos de Linguagens de Programao Robert W. Sebesta

Duas das primeiras linguagens dinmicas: APL


e SNOBOL
Caracterizadas por tipagem dinmica e alocao dinmica de
armazenamento
Variveis so essencialmente no tipadas
Uma varivel adquire um tipo quando atribudo um valor a ela
O armazenamento alocado a uma varivel apenas quando atribudo
um valor a ela
Conceitos de Linguagens de Programao Robert W. Sebesta

APL: uma linguagem de programao


Projetada na IBM por Ken Iverson, em torno de 1960, como uma
linguagem para descrever arquiteturas de computadores
Alta expressividade (grande nmero de operadores, grande nmero
de operaes unitrias em vetores)
Programas difceis de ler
Ainda em uso; mudanas mnimas
Conceitos de Linguagens de Programao Robert W. Sebesta

SNOBOL
Projetada para processamento de texto, no Bell Labs, por Farber,
Griswold e Polensky em 1964
Operaes poderosas para o casamento de padres de cadeias
Mais lenta do que linguagens alternativas (e no mais usada para
editores de texto)
Ainda em uso para uma variedade de tarefas de processamento
de textos
Conceitos de Linguagens de Programao Robert W. Sebesta

O Incio da abstrao de dados: SIMULA 67


Projetada inicialmente para simulao, na Noruega, por Nygaard e Dahl
Baseada no ALGOL 60 e no SIMULA I
Contribuies
Corrotinas espcie de subprograma
Classes, objetos e herana
Conceitos de Linguagens de Programao Robert W. Sebesta

Projeto ortogonal: ALGOL 68


A partir do desenvolvimento continuado do ALGOL 60
Fonte de uma srie de novas ideias (embora a prpria linguagem nunca
tenha alcanado grande uso)
Projeto baseado no conceito de ortogonalidade
Alguns conceitos primitivos mais o uso irrestrito de mecanismos de
combinao
Conceitos de Linguagens de Programao Robert W. Sebesta

Avaliao do ALGOL 68
Contribuies
Estruturas de dados definidas pelo usurio
Tipos de referncia
Vetores dinmicos (vetores flex)
Comentrios
Menos uso do que o ALGOL 60
Teve forte influncia nas linguagens subsequentes, especialmente Pascal,
C e Ada
Conceitos de Linguagens de Programao Robert W. Sebesta

Pascal - 1971
Projetada por Wirth (ex-membro do comit do ALGOL 68)
Projetada para ser usada como veculo educacional
Pequena, simples, nada realmente novo
O maior impacto foi no ensino de programao
Do meio dos anos 1970 at o fim dos 1990, foi a linguagem mais usada
para o ensino de programao
Conceitos de Linguagens de Programao Robert W. Sebesta

C - 1972
Projetada para a programao de sistemas (no Bell Labs, por Dennis
Richie)
Evoluda a partir de BCLP, B e ALGOL 68
Poderoso conjunto de operadores, mas verificao de tipos pobre
Primeira linguagem de alto padro implementada no UNIX
Muitas reas de aplicao
Conceitos de Linguagens de Programao Robert W. Sebesta

Programao baseada em lgica: Prolog


Projetada, por Comerauer e Roussel (Universidade de Aix-Marseille),
com ajuda de Kowalski (Universidade de Edimburgo)
Baseada em lgica formal
No procedural
Pode ser resumida como sendo um tipo de base de dados inteligente
Altamente ineficiente, pequenas reas de aplicao
Conceitos de Linguagens de Programao Robert W. Sebesta

O maior esforo de projeto da histria: Ada


Enorme esforo de projeto, envolvendo centenas de pessoas, muito
dinheiro e cerca de oito anos
Strawman (abril de 1975)
Woodman (agosto de 1975)
Tinman (1976)
Ironman (1977)
Steelman (1978)
Chamada de Ada em homenagem de Augusta Ada Byron, a primeira
programadora
Conceitos de Linguagens de Programao Robert W. Sebesta

Avaliao de Ada
Contribuies
Pacotes - suporte para abstrao de dados
Recursos elaborados para manipulao de excees
Unidades de programas genricas
Concorrncia de unidades de programas especiais
Comentrios
Projeto competitivo
Agrupa a maioria dos conceitos de engenharia de software e projeto de
linguagem do final dos anos 1970
Primeiros compiladores eram difceis; apenas em 1985, quase quatro
anos aps o projeto da linguagem estar completo, compiladores usveis
comearam a aparecer
Conceitos de Linguagens de Programao Robert W. Sebesta

Ada 95
Ada 95 (comeou em 1988)
Suporte para programao orientada a objeto por meio de derivao
de tipos
Melhor controle de mecanismos para dados compartilhados
Novos recursos para concorrncia
Popularidade sofreu porque o Departamento de Defesa no exigiu mais
seu uso e por causa da popularidade de C++
Conceitos de Linguagens de Programao Robert W. Sebesta

Programao orientada a objetos: Smalltalk


Projetada na Xerox PARC, inicialmente por Alan Kay, depois por Adele
Goldberg
Primeira linguagem de programao a oferecer suporte completo
programao orientada a objetos
Pioneira no design da interface grfica do usurio
Conceitos de Linguagens de Programao Robert W. Sebesta

Combinando recursos imperativos e


programao orientada a objetos: C++
Projetada no Bell Labs por Stroustrup em 1980
Desenvolvida a partir de C e SIMULA 67
Facilidades para programao orientada a objetos, emprestadas
do SIMULA 67
Fornece manipulao de excees
Linguagem grande e complexa, em parte porque suporta programao
procedural e orientada a objetos
Cresceu rapidamente em popularidade
Padro ANSI aprovado em novembro de 1997
Verso da Microsoft (lanado com .NET em 2002): Managed C++
Conceitos de Linguagens de Programao Robert W. Sebesta

Linguagens relacionadas
Eiffel (projetada por Bertrand Meyer - 1992)
No diretamente derivada de outra linguagem
Menor e mais simples do que C++
No teve a popularidade de C++, porque muitos entusiastas de C++ j
eram programadores de C
Delphi (Borland)
Pascal mais recursos para suporte de programao orientada a objeto
Mais elegante e seguro do que C++
Conceitos de Linguagens de Programao Robert W. Sebesta

Uma linguagem orientada a objetos baseada


no paradigma imperativo: Java
Projetada na Sun no incio dos anos 1990
C e C++ no eram satisfatrios para dispositivos eletrnicos embarcados
Baseada em C++
Significantemente simplificada
Suporta apenas programao orientada a objetos
Tem referncias, mas no tem ponteiros
Inclui forma simples de controle de concorrncia
Conceitos de Linguagens de Programao Robert W. Sebesta

Avaliao de Java
Eliminou muitos recursos inseguros de C++
Suporta concorrncia
Bibliotecas de classes para interfaces grficas com o usurio, acesso a
bases de dados e redes
Portabilidade: Mquina Virtual Java (JVM), compiladores Just-in-Time
(JIT)
Amplamente usado para programao Web
Uso aumentou mais rapidamente do que qualquer linguagem anterior
Verso mais recente, 5.0, lanada em 2004
Conceitos de Linguagens de Programao Robert W. Sebesta

Linguagens de Scripting para Web


Perl
Desenvolvida por Larry Wall lanada primeiro em 1987
Variveis so estaticamente tipadas e implicitamente declaradas
Trs espaos de nomes distintos para variveis, denotados pelo primeiro caractere de nomes de variveis
Teve uso difundido para programao CGI na Web
Tambm usado como ferramenta de administrao de sistema em UNIX
JavaScript
Comeou na Netscape, mas depois se tornou um projeto conjunto da Netscape com a Sun Microsystems
Permitia aos documentos HTML requisitarem a execuo de programas no servidor; usado na criao de
documentos HTML dinmicos
Puramente interpretada
Relacionado ao Java somente por meio de sintaxe similar
PHP
PHP: Hypertext Preprocessor (Processador de Hipertexto), projetado por Rasmus Lerdorf
Linguagem de scripting do lado do servidor embutida em HTML, geralmente utilizados para
processamento de formulrios e acesso de dados pela Web
Puramente interpretada
Conceitos de Linguagens de Programao Robert W. Sebesta

Linguagens de Scripting para Web


Python
Linguagem de scripting orientada a objetos
Com verificao de tipos, mas tipada dinamicamente
Usada para programao em CGI e administrao de sistemas
Suporta listas, tuplas e dicionrios
Lua
Linguagem de scripting que oferece suporte para programao procedural
e funcional com extensibilidade como objetivo primrio
Com verificao de tipos, mas tipada dinamicamente
Usada para programao em CGI e administrao de sistemas
Suporta listas, tuplas e dicionrios, todos com a sua nica estrutura de
dados, a tabela
Conceitos de Linguagens de Programao Robert W. Sebesta

Linguagens de Scripting para Web


Ruby
Projetada no Japo por Yukihiro Matsumoto (tambm conhecido como
Matz)
Comeou como um substituto para Perl e Python
Linguagem de scripting orientada a objetos pura
Todos os dados so objetos
A maioria dos operadores so implementados como mtodos, que podem
ser redefinidos pelo cdigo do usurio
Puramente interpretada
Conceitos de Linguagens de Programao Robert W. Sebesta

Uma Linguagem baseada em C Para o Novo


Milnio: C#
Parte da nova plataforma de desenvolvimento .NET (2000)
Baseada em C++ , Java e Delphi
Fornece uma linguagem para o desenvolvimento de software baseado
em componentes
Todas as linguagens do .NET usam o chamado Common Type System
(CTS Sistema de Tipos Comum), que fornece uma biblioteca de
classes comum
Conceitos de Linguagens de Programao Robert W. Sebesta

Linguagens hbridas de marcao/programao


XSLT
XML (eXtensible Markup Language Linguagem de Marcao Extensvel) uma
linguagem de metamarcao
XSLT (eXtensible Stylesheet Language Transformations Transformaes em
Linguagem de Folhas de Estilo Extensvel) transforma documentos XML para
visualizao
Contrutores de programao
JSP
Java Server Pages: coleo de tecnologias projetadas para oferecer suporte
a documentos Web dinmicos
servlet: programa que roda no processo do servidor Web, que controla a execuo
dos servlets
JSTL define uma coleo de elementos de aes XML que controlam
o processamento do documento JSP no servidor Web
Conceitos de Linguagens de Programao Robert W. Sebesta

Resumo
Desenvolvimento, ambiente de desenvolvimento e avaliao de
importantes linguagens de programao
Perspectivas em relao as questes atuais do projeto de linguagens

Vous aimerez peut-être aussi