terça-feira, 7 de outubro de 2014

Python para Testers




Desde que comecei a usar o Sikuli a vontade de aprender Python cresceu. Ela já era uma velha conhecida mais ganhou força depois de ver algumas pessoas melhorando seus scripts de teste com a linguagem. Então decidi criar esta série de postagem.
O Foco aqui será passar pelo basicão da linguagem para dar base para nós, testes, que não estamos lá muito familiarizados com programação. Não é intuito ensinar ninguém a se tornar um senhor (ou senhora) programador (programadora).
Para não reinventar a roda, vou usar os tutoriais que a comunidade de Python espalhou por essa terra da internet (tem tanta coisa boa por aí). O que pretendo é postar meus resumos sobre o assunto de cada post. Algo como notas de um caderno de estudante. Todos os post serão referenciados com os materiais originais. Vamos dar a César o que é de César, hehe. Assim, sem mais delongas, iniciemos.

Conhecendo Python
Segundo a WikiPédia “Python é uma linguagem de programação de alto nível , interpretada, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. Foi lançada por Guido van Rossum em 1991.1 Atualmente possui um modelo de desenvolvimento comunitário, aberto e gerenciado pela organização sem fins lucrativos Python Software Foundation”.
Ih! Já leu esse tanto de nome bonito e desanimou? Lembra vagamente desses termos lá da da faculdade? Não lembra! Não se desespere. Vamos por partes. Olhemos o “glossário”
Linguagem de programação de alto nível: é como se chama, na Ciência da Computação de linguagens de programação, uma linguagem com um nível de abstração relativamente elevado, longe do código de máquina e mais próximo à linguagem humana. O programador de uma linguagem de alto nível não precisa conhecer características do processador, como instruções e registradores. Essas características são abstraídas na linguagem de alto nível. Linguagens de programação funcionais, especialmente as puramente funcionais, tem sido mais usadas academicamente que no desenvolvimento comercial de software.
Interpretada: Linguagem interpretada é uma linguagem de programação, onde o código fonte nessa linguagem é executado por um programa de computador chamado interpretador, que em seguida é executado pelo sistema operacional ou processador.1 2 Mesmo que um código em uma linguagem passe pelo processo de compilação, a linguagem pode ser considerada interpretada, se o programa resultante não for executado diretamente pelo sistema operacional ou processador. Um exemplo disso é o Bytecode, que é um tipo de linguagem interpretada, que passa pelo processo de compilação e, em seguida, é executado por uma máquina virtual, cuja sintaxe é similar a código de máquina e, cada comando ocupa 1 byte. Existem também, as linguagens de script, que são linguagens interpretadas, executadas do interior de programas e/ou de outras linguagens de programação.Teoricamente, qualquer linguagem pode ser compilada ou interpretada e, por causa disso, há algumas linguagens que possuem ambas implementações.
Imperativa: nome do paradigma, Imperativo, está ligado ao tempo verbal imperativo, onde o programador diz ao computador: faça isso, depois isso, depois aquilo... Este paradigma de programação se destaca pela simplicidade, uma vez que todo ser humano, ao se programar, o faz imperativamente, baseado na ideia de ações e estados, quase como um programa de computador.
Orientada a Objetos: A orientação a objetos é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos. Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definido nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos.
Funcional: é um paradigma de programação que trata a computação como uma avaliação de funções matemáticas e que evita estados ou dados mutáveis. Ela enfatiza a aplicação de funções, em contraste da programação imperativa, que enfatiza mudanças no estado do programa .
Tipagem: Linguagem tipada, ou linguagem tipificada, é uma linguagem de programação que usa variáveis com tipos específicos. A verificação do tipo de um dado é feita de forma estática em tempo de compilação ou de forma dinâmica em tempo de execução. Linguagens implementadas com tipificação forte (linguagem fortemente tipificada), tais como Java e Pascal, exigem que o tipo de dado de um valor seja do mesmo tipo da variável ao qual este valor será atribuído. Em linguagens com tipos de dados fracos, tais como PHP e VBScript, a conversão não se faz necessária, sendo realizada implicitamente pelo compilador ou interpretador.
E de onde veio esse nome: Python?
O nome Python teve a sua origem no grupo humorístico britânico Monty Python,5 criador do programaMonty Python's Flying Circus, embora muitas pessoas façam associação com o réptil do mesmo nome (em português, píton ou pitão)
Já li isso tudo e agora?
Agora podemos prosseguir! No próximo post iremos “montar” o ambiente.