comentários
da página
obrigado
CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO
USOS DA PROGRAMAÇÃO
Aplicação Científicas
Aplicações Comerciais
Inteligência Artificial
Programação de Sistemas Básicos
Linguagens de Scripting
linguagens para Propósitos Especiais
CRITÉRIOS DE AVALIAÇÃO DE UMA LINGUAGEM
Legibilidade
Simplicidade Global
Ortogonalidade
Instrução de Controle
Tipos de Dados e Estrutura
Linguagens para Propósitos Especiais
Considerações sôbre siontaxe
Capacidade de Escrita
Simplicidade e Ortogonalidade
Suporte para Abstração
Expressividade
Confiabilidade
Verificação de Tipos
Manipulação de Exceções
Aliasing
Legilibilidade e Capacidade de Escrita
Custo
INFLUÊNCIA SÔBRE O PROJETO DE LINGUAGEM
Arquitetura do Computador
Metodologias de programação
Exemplos de conflitos entre critérios de projeto(e avaliação)
de linguagens; alguns são muitos sutis, outros são obvios. Portanto, é evidente
que a tarefa de
escolha de construção e recursos ao projetar uma
linguagem de programação envolve uma
coleção
de meios-termos e de trade-offs.
Ex.: Os projetistas da APL trocaram a legibilidade por capacidade de escrita.
Os projetistas da ADA trocaram a eficiência
de execução pela confiabilidade.
METODOS DE IMPLANTAÇÃO
Compilação
Interpetração pura
Sistema de implementação hibrido
AMBIENTES DE PROGRAMAÇÃO
É um conjunto de ferramentas usadas no desenvolvimento de software.
Pode consistir em
somente um sistema de arquivos, em um editor, de texto,
em um linker e em um compilador.
Ou pode incluir uma grande coleção
de ferramentas integradas, cada uma das quais acessadas
por meio de uma
interface, chamadas
IDE´s : Together, Eclipse, Visual Studio,
Java Development Kit, etc.
Para mainframes: Natural Adabas, Ideal Datacom, Mantis, Roscoe, TSO , etc
EVOLUÇÃO DAS PRINCIPAIS LINGUAGENS DE PROGRAMAÇÃO
CATEGORIAS DE LINGUAGENS
Imperativas ou orientadas a procedimentos (Fortran, Cobol, Algol, Pascal,
PL/1,..)
funcionais (Lisp,ML, Haskell,..)
Lógicas (Prolog,...)
Orientadas a objeto (C++, Java, Smaltalk,..)
Marcação (Html, Xml,... )
DESCREVENDO
A SINTAXE E A SEMÂNTICA
Desde meados até o final da década de 50, John Backus e
Noam Chomsky, inventaram a mesma notação, que se tornou,
desde então, o método mais usado para descrever formalmente
a sintaxe das linguagens de programção (metalinguagem BNF
ou Backus-Naur)
notação:
::= é definido como
* ocorre de 0 até n (sequencia
=>deriva
< > não terminal
{ } terminal
+ 1 ou mais ocorrência
| escolha (ou)
Exemplo de regra de sintaxe de um programa genérico:
<program> :: = { <statment>* }
<statment> :: = <ação>|<condição>|<loop>
<ação> :: = <identificador>
= <expressão>
<condição> :: = if <expressão> { statement>
+ }
if
<expressão> { statement> +} else {<statement> + }
<loop> :: = while <expressão>
{ <statement> +}
<expressão>:: = <identificador> | <numero> | (<expressão>
) |
<expressão>
<operador> <expressão>
Exemplo de regra léxica das regras acima:
<operador> :: = +|-|/|=|=/|<|>|<=|>=
<identificador> :: = <letra>| <id>
<id> :: = <letra> | <digito>
<numero> :: = <digito> +
<letra> :: = a|b|c|d| ... |z
<digito> :: = 0|1|2|3| ..|9
Exemplo de sintaxe do if
if (<expressão>) <instrução>
Exemplo de semantica do if
se o valor atual da expressão for verdadeiro, a instrução
incorporada será selecionada para execução.
Para ver o diagrama e regra de sintaxe de linguagens como Java vá em :
http://cuiwww.unige.ch/db-research/Enseignement/analyseinfo/DIAG33JAVA/index.html
ou de outras linguagens
http://cui.unige.ch/db-research/Enseignement/analyseinfo/BNFweb.html
exemplo aplicado comando select da linguagem SQL
Outra forma de descrever linguagens é através de metamodelos, como podemos
ver a seguir:
LINGUAGENS DE MARCAÇÃO
SGML | Standard Generalized Markup Language - padrão para definir descrições de estrutura e conteudo de diversos tipos de documentos. |
HTML | Hyper Text Markup Language - lingua para publicação de hipertexto ma Word Wide Web. É um subconjunto da SGML de formato não proprietário. É bom para apresentação mas não ajuda extração de informações pelos programas. Essas e outras deficiências estão sendo sanadas pelo XML. |
XML | eXtensible Markup Language - metalinguagem e subconjunto da SGML. A descrição do documento é dadoda por um DTD (Document Type Definition) que é anexada a cada documento XML, possibilitando um mecanismo para que sejam criadas ontologias. |
DTD | Document Type Definition - mostram o nome e conteudo de cada elemento e atributo do documento. Sem o DTD os programas que acessam o documento podem não saber processar imagem, links, e entidades. |
XQuery | XML Query Language - é uma liguagem de consulta para fontes de informações em XML. |
XML Schema | -e responsavel pelo modo da definição da estrutura, conteudo e semântica do documento XML. |
XHTML | eXtensible Hyper Text Markup Language - -e uma reformulação do HTM em ML |
CSS | mecanismo para controlar o estilo de paginas HTML (fontes, margens, bordas, cores, etc |
DOM | Document Object Model - possibilita que scripts manipulem HTML |
URI | Uniform Resouce Identifier - conjunto genérico que permite de todos os nome/endereços, que identificam recursos na rede: Documentos, imagens, serviços, etc . É uma pequena string. |
URL | Uniform Resouce Locator - temo informal associado com esquemas URI popularees http, ftp, mailto, etc. |
XSL | eXtensible Stylessheet Language - é uma linguagem para expressar stylesheet.. Consiste de 3 partes Xsl, XPath, XSL Formatting Objects |
XSLT | XSL Transformations - linguagem para transformardocumentos XMl em outros documentos XML. Contem um vocabulario para XML para especificação de formatação. |
XPath | XML Path Language - prover uma sintaxe e sematica comuns para compartilhar funcionalidades entre XSLT e SPointer. É usada dentro de URI. Navega na estrurura hierárquica de um documento XML |
XLink | XML Linking Language - permite que documentos XML: declarem relacionamentos de links entre mais de 2 recursos; associe metadaos cum um link; expresse links que residam em um local separado dos recursos relacionados. |
XPointer | XML Pointe Language - faz parte do padrão Xlink, especifica como declarar endereços dentro de expressões XLink. |
RDF | Resourse Description Framework - define um modelo simples para definir relacionamento de recursos em termos de propriedades e valores. Similar a diagrama entidade e realacionamentos. |
RDF Schema | Mecanismo para descrever (na forma de grafos) os relacionamentos entre propriedades e recursos. Define classes e propriedaes que podem ser usadas para descrever outras classes e propriedades. Cria metadados que cujas declarações possam criar multiplos vocabolarios que são gerenciaveis de maneira descentralizada por comuniades independentes |
MathML | Mathematic Markup Language - é uma aplicação de XML para descrever notações matemáticas e capturar tanto sua estrutura com o conteudo. |
GML | Geography Markup Language - é uma codificação XML para transporte e armazenamento de informações geográficas, incluindo propriedades espaciais e não espaciais. |
ebXML | Electronic Business using Extensible Markup Language - linguagem baseada em XML que dispoôe de uma infra-estrutura para o uso de informações de negocios na internet, para empresas de qq tamanho e em qq localização geográfica |
SMIL | Syncronized Multimedia Integration Languagem - possibilita a autoria de apresentações audiovisuais interativas. |
SVG | Scalable Vector Graphics - linguagem para descrição de gráficos bidimensionais em XML |
XForms | formulários - separa apresentação, ddos e lógica de modo que os mesmos forms sejam usados para apresentação bem distintas. Exemplo de navegador/ ferramenta de autoria Amaya. |
Uma referencia de tôdas as linguagens contidas no google pode ser vista clicando aqui
Resumo de varias linguagens ver em clicando aqui
A continuar .......
Natureza
dos nomes, palavras reservadas, variáveis,tipos, escopo, blocos
Tipos
de dados
Expressões
e instruções de atribuição
Estrutura
de controle no nivel de instrução
Subprogramas
Implementando
subprogramas
Tipos
de dados abstratos
Suporte
para programação orientada a objeto
Concorrências
Manipulação
de exceções
Linguagens
de programação funcional
Linguagens
de programação lógicas