Programação em Linguagens de Scripts Prof. Msc. Anderson da Cruz
Apresentações Professor Unisinos Alunos Disciplina Introdução Referências Cronograma
Formação Acadêmica Professor Graduado em Segurança da Informação Mestre em Computação Aplicada Profissional Atuante em TI a 13 anos Desenvolvimento: Web, Desktop, SOA, Mobile Consultor de TI
UNISINOS Portal UNISINOS (Minha Unisinos) Frequência, nota, etc Biblioteca MSDNAA Coordenacão Leonardo Lemes llemes@unisinos.br Rafael Ávila rbavila@unisinos.br
Avaliações Grau A Trabalho 30% Prova 70% Grau B Trabalho 30% Prova 70% Grau C Prova 70% Trabalho do GA ou GB 30%
Página oficial Informações h\p://professor.unisinos.br/andercruz h\p://twi\er.com/andercruzbr Contato andercruz@unisinos.br (apenas texto) anderson@a29.com.br (texto e anexo)
Apresentação da turma Nome Profissão Nível de incmidade com Linux Nível de incmidade com programação Etc..
Sobre a Disciplina A disciplina é dividida em dois momentos Grau A: Abordando Bash Script Grau B: Abordando Perl Sistema Operacional Qualquer distribuição linux Para iniciantes, sugere- se a distribuição Ubuntu Para que não quer ter dual boot, ver wubi (ubuntu)
Introdução Linguagens Compiladas x Interpretadas Pradigmas de Programação Linguagens de Programação
Ling Compiladas x Interpretadas Compilador 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ácca e análise semâncca A Síntese é mais variada, podendo ser composta pelas etapas de Geração de código intermediário, ocmização de código e geração de código final (ou código de máquina). Somente esta úlcma etapa é obrigatória. C, C++, Basic, Pascal, entre outras Gera um.exe
Ling Compiladas x Interpretadas
Ling Compiladas x Interpretadas Interpretador 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 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 (frequentemente linguagens interpretadas são chamadas também de script)
Ling Compiladas x Interpretadas
Paradigmas de Programação Lógico Base lógica matemácca Prolog Funcional Trata a computação como uma avaliação de funções matemáccas e que evita estados ou dados mutáveis. Imperacvo Descreve a computação como ações (comandos) que mudam o estado (variáveis) de um programa Basic, C, Pascal, Cobol, Python Orientado a Objetos Classes x Objetos. Cada classe determina o comportamento (definido nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos C++, C#, Java, Object Pascal, Objeccve- C, Python, Ruby e Smalltalk
Linguagens de Programação Porque tantas linguagens de programação? C C++ Java C# Python C já não é suficientemente poderosa?
Caracterísccas Linguagens de Scripts Desenvolvimento rápido Acesso a uma a diversos bancos de dados Interfaces gráficas Implementam modelos atuais de programação Rápido aprendizado
Linguagens de Scripts Algumas linguagens de scripts Shell Script Perl Python Ruby PHP Etc
Linguagens de Scripts O que é um Shell Script? Um poderoso interpretador de linha de comando que fornece uma série de recursos e ferramentas (cut, paste, find, etc) para automaczar diferentes cpos de tarefas Tempo de desenvolvimento reduzido echo `who awk '{print $1}' sort uniq`
Linguagens de Scripts Quem ucliza Shell Script? O mundo UNIX Equipamentos embarcados Exemplos de Aplicações Funções ZZ Txt2regex Txt2tag
Linguagens de Scripts Interface Gráfica dialog Xdialog Kdialog Zenity
Linguagens de Scripts O que mais pode ser feito com Shell Script? Acesso a banco de dados Rocnas de backup Serviços (deamons) etc
Linguagens de Scripts O que é Perl Perl (Prac%cal Extrac%on and Report Language) é uma linguagem de programação criada por Larry Wall em dezembro de 1987, bastante uclizada por administradores de sistema e desenvolvedores de aplicações web É especialmente versácl no processamento de cadeias (strings), manipulação de texto e no pa4ern matching implementado através de (expressões regulares), além de permicr tempos de desenvolvimento curtos Fazer uma tarefa de mil formas diferentes
Linguagens de Scripts Quem ucliza Perl? Administradores de banco de dados Administradores de redes Programadores Web Pesquisadores Profissionais de forense
Linguagens de Scripts Exemplos de aplicação de Perl? MRTG (The Mulc Router Traffic Grapher) HoneyPotBR Ferramentas para gerenciamento de sistemas Programação Web CGI (Common Gateway Interface) Parsers
Linguagens de Scripts Interface Gráfica em Perl Perl/TK Perl/GTK Outras aplicações para Perl Web Services XML SNMP Acesso a banco de dados
Linguagens de Scripts O que é Python? Python é uma linguagem de alzssimo nível (VHLL - Very High Level Language), de sintaxe moderna, orientada a objetos, interpretada via bytecode, dinâmicamente cpada (não há declaração de variáveis e elas podem conter diferentes objetos), de cpos fortes (não há conversões automáccas), modular, mulcplataforma, de fácil aprendizado e de implementação livre. Python foi criada por Guido van Rossum Deveria haver um, e preferentemente só um, modo óbvio para fazer as coisas
Linguagens de Scripts Quem ucliza Python? Google Yahoo Nasa Red Hat Linux Ubuntu Dropbox Youtube g1
Linguagens de Scripts Exemplo de aplicações em Python Zope Plone Blender Django Sqlmap Appengine
Linguagens de Scripts Interface gráfica em Python Tkinter PyGTK PyQT wxpython Wax
O que é PHP? Linguagens de Scripts A linguagem de programação mais uclizada para desenvolvimento web no mundo Quem ucliza PHP? Grande partes das empresa do mundo Interface gráfica e PHP PHP- GTK
Linguagens de Scripts Exemplos de aplicações PHP O News.com publicou uma nozcia 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 corporacvas 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 concnuar invescndo 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 execucvo 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.)
Linguagens de Scripts Outras linguagens de scripts Ruby Power Shell VBScript JavaScript SED (Stream Editor) awk Tcl/tk Nasl (Nessus A\ack Scrpit Language)
Acvidade Ler arcgo Arcgo Scripcng: Higher Level Programming for the 21st Century Recaptular Linux Júlio Neves: h\p://jneves.wordpress.com Alguns Links h\p://br.groups.yahoo.com/group/shell- script/ h\p://aurelio.net
Referências Ousterhout, John K. Scripcng: Higher- Level Programming for the 21st Century. RNP. Segurança em Scripts CGI - Disponível em: h\p://www.rnp.br/newsgen/9803/ scripts.html NEVES, Julio Cezar. Programação Shell Linux. 7. ed. Rio do Janeiro: Brasport, 2008