Linguagens de Programação. Linguagens de Script. Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp



Documentos relacionados
Programação Web Prof. Wladimir

ESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML. Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 06. Prof. André Lucio

Sistemas para internet e software livre

JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem

Construção de Compiladores. Construção de Compiladores. Motivação. Motivação. Contexto Histórico. Classificações: Gerações 09/03/2010

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Introdução à Linguagem

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Introdução à Linguagem Java

Prova de pré-requisito

e à Linguagem de Programação Python

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas

Tecnologias para apresentação de dados - Java Script. Aécio Costa

Programação em Linguagens de Scripts. Prof. Msc. Anderson da Cruz

PHP AULA1. Prof. Msc. Hélio Esperidião

CURSO DE PROGRAMAÇÃO EM JAVA

COMPILADORES E INTERPRETADORES

Tudo o que Você Sempre Quis Saber Sobre Linguagens de Programação* (*Mas Tinha Medo de Perguntar) Diego Padilha Rubert FACOM

FundamentosemInformática

Aspectos de Segurança em Programação com Java

Sobre o Professor Dr. Sylvio Barbon Junior

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Java. Marcio de Carvalho Victorino

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

1.6. Tratamento de Exceções

Sumário. Introdução ao Universo Linux Parte I

PROGRAMA DE DISCIPLINA

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

Introdução ao PHP. Prof. Késsia Marchi

O sucesso da WWW. Atualização de Hiperdocumentos. Atualização de Hiperdocumentos. Cuidados. Exemplo. Passos. Motivos :

World Wide Web e Aplicações

Python. Introdução à Programação SI1 - BSI

Desenvolvimento de Aplicações Web. Prof. José Eduardo A. de O. Teixeira / j.edu@vqv.com.br

Orientação a Objetos

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Programando em PHP. Conceitos Básicos

Segurança na WEB Ambiente WEB estático

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

DEFINIÇÃO DE MÉTODOS

Linguagens de Programação. Introdução. Carlos Bazilio

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Desenvolvendo Websites com PHP

Introdução à Programação Aula 2 Introdução à linguagem Python

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Conteúdo Programático de PHP

Introdução ao Shell Script

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Linguagem de Programação. Introdução ao PHP. Prof Mauricio Lederer Ciência da Computação - UNIANDRADE 1

Instituto Federal do Sertão-PE. Curso de PHP. Professor: Felipe Correia

Integrantes: Catarino Rodrigues Data: 26/10/2012. Leandro de Matos Pereira. Leandro dos Santos Marciano. Ramon Alves de Souza

Aula 01 Visão Geral do Linux

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Sintaxe Básica de Java Parte 1

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA. Reflexão Criação de páginas para a web em hipertexto

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Noções sobre Objetos e Classes

Introdução a Informática. Prof.: Roberto Franciscatto

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ

2 echo "PHP e outros.";

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB. Anne Caroline O. Rocha Tester Certified BSTQB NTI UFPB

Lógica de Programação

Linguagens de. Aula 02. Profa Cristiane Koehler

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

Prof. Esp. Adriano Carvalho

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

PROGRAMA DE DISCIPLINA

UNIVERSIDADE. Sistemas Distribuídos

O que é o JavaScript?

2 Orientação a objetos na prática

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Curso Técnico em Redes

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

Alunos. Hudson Martins da Silva Laércio Pedro Hoppe

SHELL SCRIPT P R O F I S S I O N A L

Programa de treinamento online do IBIS / INLAND. Marcos Heil Costa UFV

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Principais Comandos SQL Usados no MySql

Linguagens de programação

Começando com Ruby on

OOP - Java. Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora

Linguagem de Programação III

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger

Interface Homem Máquina para Domótica baseado em tecnologias Web

Desenvolvimento Web TCC Turma A-1

Tecnologias para Web Design

Criar a classe Aula.java com o seguinte código: Compilar e Executar

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

Transcrição:

Linguagens de Programação Linguagens de Script Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp

Motivação Linguagens de programação, usualmente, são projetadas para criação de aplicações completas e auto-contidas Sua estruturação visa eficiência em compilação e na execução dos seus programas Linguagens de script, por sua vez, estão voltadas para tarefas em menor escala: Criação de rotinas de execução corriqueiras (macros) Integração entre aplicações existentes: a saída de uma aplicação servir de entrada para outra

Exemplo de Script Exemplo que combina shell script e uma aplicação em Scala Conteúdo do arquivo teste.sh for f in * do if [ ${f#*.} == "scala" ]; then scala arquivos.scala $f; fi done $./teste.sh // Conteúdo do arquivo arquivos.scala import scala.io.source object Test { def main(args: Array[String]) { Source.fromFile(args(0)).foreach{ print } } }

Motivação Linguagens script são mais flexíveis e permitem a criação de programas através da combinação de componentes já existentes São, às vezes, chamadas de glue languages, pois permitem a junção de programas menores para se construir um grande sistema Também são vistas como linguagens de extensão, pois permitem que algumas ferramentas sejam estendidas com estas linguagens

Exemplos de Linguagens de Script Propósito geral TCL, Python, Lua, Ruby, Perl, VBScript (Windows), AppleScript (Mac),... Propósito específico PHP, ASP, JSP, CGI, JavaScript, Awk, APL, As linguagens script tiveram como ancestrais Os interpretadores de comandos (shells) de ambientes computacionais (terminais e em lote) Ferramentas para processamento de texto e geração de relatórios

Características Comuns Uso interativo e em lote Poucas linguagens de script possuem um compilador que lê o código inteiro antes de executá-lo (Perl é um exemplo). A maioria realiza esta tarefa linha a linha Economia de expressões // // Java public class Principal { public static void main(string[] args) { System.out.println( Alô Mundo! ); } } // // Perl, Python, Ruby, Lua...... print Alô Mundo! \n

Características Comuns Ausência de declaração, regras de escopo simples A maioria destas linguagens dispensam a declaração de variáveis. Quanto ao escopo, são adotadas regras simples. Perl, por exemplo, tudo é global por padrão, mas há como limitar o escopo. Em PHP, é exatamente o contrário. Em Python, as variáveis são locais ao bloco onde são atribuídas.

Características Comuns Tipagem A maioria possui tipagem dinâmica flexível. Em algumas linguagens o tipo de uma variável é checado imediatamente antes do seu uso (PHP, Python, Ruby, Scheme,...). Em outras, a variável será interpretada dependendo do contexto onde aparece // // Em Lua, Perl a = 4 print a.. 3.. \n ; // //.. é concatenação print a + 3.. \n // // + é adição // // Saída 43 43 7

Características Comuns Facilidade de Acesso à Funcionalidades do Sistema Funcionalidades de sistema são muito mais facilmente acessadas por estas linguages (em comparação com linguagens de programação tradicionais, como C): entrada e saída, manipulação de arquivos, gerenciamento de processos, proteção e autorização, relógio, acesso à rede, etc. Manipulação de strings sofisticada Normalmente baseada em expressões regulares Herança das linguagens de processamento de texto

Características Comuns Tipos de dados de alto-nível Estruturas como conjuntos, dicionários (mapas), são extremamente comuns. Várias são definidas usando a própria linguagem. Em todas há a implementação de coleta automática de lixo

Domínios Linguagens Shell Fundamentalmente voltadas para manipulação do sistema de arquivos Possuem comandos simples, como a listagem de um diretório: ls (dir) Variações com o uso de caracteres coringa (? e *), paginação (more), listagem de atributos, etc Possuem comandos compostos como for Permitem redirecionamento da saída ( > ) Permitem o encadeamento de comandos - pipe ( )

Domínios Processamento de Texto Linguagens exemplo Sed, Awk (Aho, Weinberger e Kernighan) e Perl Permitem a criação de scripts de manipulação de arquivos texto Suponha a tarefa de extração de cabeçalhos de uma página html (<h1></h1>, <h2></h2>, etc) É possível a utilização de um editor de texto comum para tal. Entretanto, certamente será tedioso, pois este procedimento não é geral

Domínios Matemática e Estatística Sed e Awk estão para processamento de texto, assim como APL está para expressões matemáticas Sucessores desta são os pacotes matemáticos comerciais Maple, Mathematica e Matlab Similarmente, para estatística temos as linguagens S e R

Domínios WWW Podem ser divididas em scripts que executam no servidor ou no cliente Exemplos Servidor: CGI, Perl, PHP, ASP, JSP, Cliente: JavaScript Applets são programas Java hospedados num servidor e que são executados num cliente