24
Aula 01 Linguagens de Scripts: Potencialidades e Aplicações Leonardo Lemes Fagundes [email protected] São Leopoldo, 27 de fevereiro de 2007

Linguagens de Scripts

Embed Size (px)

Citation preview

Page 1: Linguagens de Scripts

Aula 01Linguagens de Scripts:

Potencialidades e Aplicações

Leonardo Lemes [email protected]ão Leopoldo, 27 de fevereiro de 2007

Page 2: Linguagens de Scripts

2:: Programação em Linguagens Scripts ::

Sumário

IntroduçãoLinguagens Compiladas versus linguagens InterpretadasParadigmas de ProgramaçãoPorque utilizar outras Linguagens de Programação?

Linguagens de ScriptCaracterísticasExemplos de Linguagens de Scripts e suas Aplicações

Referências

Page 3: Linguagens de Scripts

3:: Programação em Linguagens Scripts ::

Introdução

Linguagens Compiladas versus linguagens InterpretadasCompiladores

Um compilador é um programa que transforma o código escrito em linguagem de alto nível em uma sequência de instruções (programa) que será executada por um sistema computacional.

A arquitetura convencional de um compilador divide-se em Análise e Síntese. A Análise pode ser subdividida ainda em análise léxica, análise sintática e análise semântica.

A Síntese é mais variada, podendo ser composta pelas etapas de Geração de código intermediário, otimização de código e geração de código final (ou código de máquina). Somente esta última etapa é obrigatória.

Page 4: Linguagens de Scripts

4:: Programação em Linguagens Scripts ::

Introdução

Linguagens Compiladas versus linguagens Interpretadas

Interpretadores

Interpretadores são programas que lêem um código fonte de uma linguagem de programação e os convertem em código executável.

Seu funcionamento pode variar de acordo com a implementação. Em muitos casos o interpretador lê linha-a-linha e converte em código objeto a medida que vai executando o programa.

Page 5: Linguagens de Scripts

5:: Programação em Linguagens Scripts ::

Introdução

Modelos de ProgramaçãoVisão Geral

LógicoFuncionalImperativoOrientado a Objetos

Page 6: Linguagens de Scripts

6:: Programação em Linguagens Scripts ::

Introdução

Porque Utilizar Outras Linguagens de Programação?Java, C, C++ não são suficientemente poderosas?

?

Page 7: Linguagens de Scripts

7:: Programação em Linguagens Scripts ::

Linguagens de Script

Características

Desenvolvimento Rápido

Acesso a uma Grande Variedade de Banco de dados (BDs)

Interfaces Gráficas

Implementam Modelos Atuais de Programação

Curva de Aprendizado Curta

etc, etc, etc ...

Page 8: Linguagens de Scripts

8:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas Aplicações

Shell Script

Perl

Python

PHP

Outras Linguagens ...

Page 9: Linguagens de Scripts

9:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas Aplicações

O que é Shell Script?

Um poderoso interpretador de linha de comando que fornece uma série de recursos e ferramentas (cut, paste, find, etc) para automatizar diferentes tipos de tarefas.

Tempo de desenvolvimento reduzido

Total de linhas

echo (177) + who (755) + awk (3412) + sort (2614) + uniq (302) + sed (2093)

echo `who|awk '{print $1}' | sort | uniq` | sed 's/ /,/g'

Page 10: Linguagens de Scripts

10:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas Aplicações

Quem usa Shell Script?

O mundo UNIX ...

Exemplos de Aplicações

Funções ZZ (http://aurelio.net/zz)

txt2regex (http://txt2regex.sf.net)

txt2tag (http://txt2tags.sf.net/pt)

Muitas Outras ...

Page 11: Linguagens de Scripts

11:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas Aplicações

Shell Script: Interfaces Gráficas

dialog

Xdialog

Kdialog

O que mais pode ser feito com Shell Script?

Acesso a BD

PL/sh

Pergunte ao Julio Neves ...

Page 12: Linguagens de Scripts

12:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas Aplicações

O que é Perl?

Perl (Practical Extraction and Report Language) é uma linguagem de programação criada por Larry Wall em dezembro de 1987, bastante utilizada por administradores de sistema e desenvolvedores de aplicações web.

É especialmente versátil no processamento de cadeias (strings), manipulação de texto e no pattern matching implementado através de (expressões regulares), além de permitir tempos de desenvolvimento curtos.

Fazer uma única tarefa de mil formas diferentes ...

Page 13: Linguagens de Scripts

13:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas Aplicações

Quem usa Perl?

Administradores de BD

Administradores de redes

Desenvolvedores web

Pesquisadores

Page 14: Linguagens de Scripts

14:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas Aplicações

Perl: Exemplos de Aplicações

MRTG (The Multi Router Traffic Grapher)

HoneyPotBR

Ferramentas para Gerenciamento de Sistemas

Programação web - CGI (Common Gateway Interface)

Parsers

Aplicações na área da Bioinformática

Page 15: Linguagens de Scripts

15:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas Aplicações

Perl: Interfaces Gráficas

Perl / TK

Perl / GTK

O que mais pode ser feito com Perl?

Aplicações utilizando:

Web Services

XML (eXtensible Markup Language)

SNMP (Single Network Management Protocol)

PL/Perl

Acesso a Banco de Dados

Page 16: Linguagens de Scripts

16:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas Aplicações

O que é Python?

Python é uma linguagem de altíssimo nível (VHLL - Very High Level Language), de sintaxe moderna, orientada a objetos, interpretada via bytecode, dinâmicamente tipada (não há declaração de variáveis e elas podem conter diferentes objetos), de tipos fortes (não há conversões automáticas), modular, multiplataforma, de fácil aprendizado e de implementação livre. Python foi criada por GuidoVanRossum

Deveria haver um -- e preferentemente só um -- modo óbvio para fazer as coisas .

Page 17: Linguagens de Scripts

17:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas Aplicações

Quem usa Python?

Google

Yahoo!

Nasa

Red Hat Linux

Industrial Light & Magic

Page 18: Linguagens de Scripts

18:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas Aplicações

Python: Exemplos de Aplicações

OpenOffice

Zope

Plone

Blender

Skencil

Page 19: Linguagens de Scripts

19:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas Aplicações

Python: Interfaces Gráficas

Tkinter (wiki.python.org/moin/TkInter)

PyGTK (www.pygtk.org)

PyQT (www.riverbankcomputing.co.uk/pyqt)

wxPython (www.wxpython.org)

Wax (www.zephyrfalcon.org/labs/wax.html

Page 20: Linguagens de Scripts

20:: Programação em Linguagens Scripts ::

Linguagens de ScriptExemplos de Linguagens de Scripts e suas Aplicações

O que mais pode ser feito com Python?

Aplicações utilizando:

Web Services

XML (eXtensible Markup Language)

SNMP (Single Network Management Protocol)

PL/Python

Acesso a Banco de Dados

Page 21: Linguagens de Scripts

21:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas Aplicações

O que é PHP?

Essa questão precisa de resposta?

Quem usa PHP?

A IBM e a torcida do flamengo ...

PHP: Exemplos de Aplicações

Agata Report, SAGU, phpPGadmin, aplicações de gerenciamento (web-based)

PHP: Interface Gráfica

PHP – GTK (http://www.php-gtk.org.br/)

O que mais pode ser feito com PHP?

“tudo” ...

Page 22: Linguagens de Scripts

22:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas AplicaçõesAinda Sobre PHP ...

O News.com publicou uma notícia sobre o novo apoio da IBM à linguagem PHP no desenvolvimento Web, através de uma parceria com a Zend Technologies. As duas empresas pretendem dedicar esforços para fazer o PHP trabalhar melhor com bases de dados corporativas e com web services, e a IBM pretende dedicar ao PHP uma área de seu website para desenvolvedores. Na nota, a IBM esclarece oficialmente que vai continuar investindo no Java, e que a adição do PHP busca alcançar mais desenvolvedores para os quais as linguagens de script são uma boa solução. Mas a mesma nota menciona a declaração de um executivo afirmando que a nova opção pelo PHP reflete a desilusão da IBM com o processo de padronização do Java, e com a incapacidade da indústria de transformar o Java em algo muito fácil de usar.

Julho de 2005.

Page 23: Linguagens de Scripts

23:: Programação em Linguagens Scripts ::

Linguagens de Script

Exemplos de Linguagens de Scripts e suas Aplicações

Mais Linguagens ...

Rubby

Power Shell

VBScript

JavaScript

SED (Stream EDitor)

awk

Tcl/tk

Nasl (Nessus Attack Script Language)

Page 24: Linguagens de Scripts

24:: Programação em Linguagens Scripts ::

Referências

[1] Ousterhout, John K. Scripting: Higher-Level Programming for the 21st

Century.

[2] RNP. Segurança em Scripts CGI - Disponível em: http://www.rnp.br/newsgen/9803/scripts.html