Marcelo Cavalcante

Python

Porque escolhi Python? Python para SysAdmins!

by kalib on Nov.21, 2009, under Impressões, Python, software livre

python-logo-master-v3-trans

Saudações pessoal…

Novamente vou dedicar um post para responder uma pergunta que me fizeram. Não é a primeira vez que alguém me pergunta algo e eu resolvo responder em forma de post. Algumas pessoas já me perguntaram o que me leva a preferir Python à outras linguagens de programação. Mas como, coinscidentemente, de ontem para hoje 3 pessoas me fizeram a mesma pergunta, resolvi responder em forma de post e poupar um pouco de saliva (¿dedo no teclado?) e não responder de forma mais completa para um ou outro.

Antes de mais nada gostaria de informar que não sou programador. Trabalho na área de administração de sistemas, redes, segurança, etc, etc, etc, vulgo SysAdmin. Prazer. ;]

Se você é SysAdmin com certeza já esbarrou com algumas linguagens de script como Bash, Perl, dentre outras. Provavelmente até já trabalhou com algumas delas. Estas linguagens podem nos ajudar a resolver pequenos problemas bem como automatizar e agilizar tarefas cotidianas de forma a ganhar produtividade e perder menos tempo com aquilo, bem como evitar stress, tédio e fadiga fazendo tarefas mecânicas e repetitivas.

Estas linguagens são apenas ferramentas que podem ser utilizadas no dia-a-dia. Mas o que faz uma linguagem ser eficiente? Ela só pode ser considerada eficiente se puder lhe ajudar a ter o seu trabalho feito de uma forma mais produtiva e simples, certo?! Que tal Python dentro deste cenário?

A inevitável pergunta acaba aparecendo: O Python é melhor que Perl, Bash, Ruby ou qualquer outra linguagem?

Este é o tipo de pergunta que eu não conseguiria responder. A complexidade empregada nesta pergunta impede uma resposta em poucas palavras, visto que a definição de “melhor” varia de acordo com o cenário, bem como os protagonistas envolvidos. Por conta disto, não direi que o Python é melhor ou pior do que outras linguagens, mas vou abordar alguns exemplos que demonstram que a mesma pode ser uma excelente escolha. (¿Escapei bem?)

Creio que o primeiro motivo que me leva a adotar Python é a simplicidade de seu código. Se uma linguagem não lhe permite aprender rapidamente e começar a escrever códigos para resolver seus problemas, a mesma acaba perdendo um pouco de credibilidade, certo? Lembrem-se que, como SysAdmin, não tenho tempo para ficar estudando livros e mais livros sobre uma ou outra linguagem. Apenas desejo resolver meu problema atual. Porque perder semanas ou meses estudando uma linguagem para somente então conseguir escrever algum código que realmente produza algo? Bem, o Python nos permite escrever scripts em horas, literalmente falando, ao invés de dias ou semanas. Se, como um SysAdmin, uma linguagem não lhe permite começar os estudos e escrever scripts imediatamente, você deveria realmente se questionar porque você deveria estudar ela.

Mas de que me vale uma linguagem que me permite um rápido aprendizado, se a mesma não possui “poder”? Se a mesma não me permite realizar tarefas complexas e robustas? Bem, na verdade este é o segundo motivo pelo qual eu escolhi Python. Esta linguagem nos permite resolver problemas simples como analisar várias linhas de log e nos retirar apenas informações que nos sejam interessantes ou pertinentes gerando um relatório mais limpo e “legível” ao olho humano. Além de tarefas simples assim, o Python também vem sendo bastante utilizado para tarefas com maior grau de complexidade como análises de sequências genômicas, cálculos complexos de física, mecânica, mecatrônica, etc, sistemas web multithread ou mesmo pesadas análises estatísticas. Bom, se você é um SysAdmin, muito provavelmente você nunca precisará de nada disso, mas eu me sinto confortável em saber que estou estudando uma linguagem que me permitirá realizar tarefas mais complexas quando eu precisar. ;]

PythonCartoon

Respota: Criador do Python

Ok, Python me permite realizar até as tarefas complexas. Mas e a manutenção deste código. Como SysAdmin, não fico editando e revendo meus códigos todo dia. As vezes não entendemos nossos próprios códigos depois de alguns meses sem olhar para eles. O que eu queria dizer com aquela linha de código mesmo? O.o O Python foi criado com o intuito de possuir uma sintaxe simples e intuitiva, de forma que a manutenção de código se torna extremamente eficaz, mesmo por aqueles que não são os autores originais do código.  Mesmo depois de meses eu vou conseguir interpretar meu código e trabalhar nele. E esta foi a terceira razão pela qual eu escolhi Python, e que por sua vez está muito ligada à quarta razão.

O quarto motivo pelo qual escolhi Python é a legibilidade do código e a forma como apenas batendo o olho podemos nos encontrar facilmente no código. O Python utiliza-se de espaços em branco para determinar onde começa ou termina um bloco de código. Esta forma de identação facilita muito a identificação de partes do código bem como o entendimento do mesmo.

É o bastante? Não para mim.

O quinto ponto na maestria do Python é o seu excelente suporte à Programação Orientada a Objetos (POO). Quando digo suporte à orientação a objetos, não me refiro à obrigação de utilizá-la. Você não precisa utilizar caso não deseje ou caso não se aplique em algum caso específico, mas é sempre bom ter em mãos este “poder” caso seja necessário, e é nestes casos que o Python mostra novamente uma enorme eficiência por conta da simplicidade com a qual a POO é tratada pelo Python.

Acho que não preciso citar que outro grande motivo pelo qual adotei o Python é o fato de ser uma linguagem 100% livre que conta com uma comunidade altamente atuante e participativa, certo?!

Mas, creio que já falei demais por um post. Que tal um simples exemplo prático de simplicidade no código escrito em Python?

Que tal um simples script para servir de comparação entre, por exemplo, Bash, Perl e Python?

O seguinte script tem a função de apresentar todas as combinações possíveis de 1,2 e a,b.

Em Bash seria mais ou menos o seguinte:

#!/bin/bash

for a in 1; do

for b in a b; do

echo “$a” “$b”

done

done

E como ficaria o mesmo em Perl?

#!/usr/bin/perl

foreach $a (’1′, ’2′) {

foreach $b (‘a’, ‘b’) {

print “$a $b\n”;

}

}

Como podem ver, é apenas um loop comum. Vejamos agora o mesmo exemplo de loop utilizando-se um for escrito em Python:

#!/usr/bin/env python

for a in [1, 2]:

for b in ['a', 'b']:

print a,b

Simples, certo? Qual pareceu mais simples? (Se você não programa e não entende nada do que estou falando até aqui, segue uma dica: Vote no que utilizou uma quantidade menor de linhas de código! :p A propósito, porque você leu até aqui mesmo? o.O)

Você já deve estar cansad@ de ler, e eu de digitar, portanto vamos finalizar por aqui ok?!

Espero que experimente Python, caso ainda não o tenha feito, e descubra uma nova excelente ferramenta para o seu dia-a-dia.

Caso deseje mais informações sobre Python bem como suas vantagens, confira outros posts que fiz listados abaixo:

1- Porque Python?

2- Pydev: Preparando o Eclipse para o Python

3- The Zen of Python

Abraços

8 Comments more...

Python no Ceará? PythOnCeará!

by kalib on Nov.14, 2009, under Impressões, Python, software livre

Bom Dia galera…

Gostaria de lhes lembrar que hoje, Sábado – 14 de Novembro, estará acontecendo o primeiro evento de Python do Ceará, PythOnCeará, organizado pela comunidade local de Python – Pug-CE.

O evento promete ser um marco de startup para os pythonianos locais visto que será o degrau inicial para muitos outros eventos posteriores também organizados pela Pug-CE.

O evento será realizado na faculdade 7 Setembro – FA7 – e contará com 4 palestras de temas que envolvem tanto o usuário iniciante que não conhece python como ao usuário avançado.

* “Por que python?!” – Tiago Freire (@tiagofreire)
* “Python para Web e Desktop” – Alec Nascimento (@alecnascimento)
* “Django tem ritmo!” – Italo Maia (@italomaia)
* “Sokoban com PyS60″ – Fábio Cerqueira (@fabiocerqueira)

Cada palestra terá duração de 50 minutos havendo uma pequena pausa para o coffee break. =]

Recomendo que todos os interessados em conhecer um pouco mais sobre esta linguagem magnífica que é o Python compareça.

Mais informações sobre o encontro:
local: FA7, em frente a Unifor, sala 35
horário: das 13:00 às 17:30
dia: 14/11/09

Abraços

Leave a Comment more...

Pydev – Preparando o Eclipse para o Python

by kalib on Mar.23, 2009, under Arch Linux, Impressões, Linux, Python, software livre

Em um mundo onde nem tudo é tela preta, as vezes pode ser cansativo programar sem a ajuda de uma IDE. Para projetos grandes e que possuem uma disponibilidade menor de tempo, estas ferramentas de desesenvolvimento são fundamentais. Aqui gostaria de destacar o Eclipse, que como vocês devem saber não é apenas uma IDE para desenvolvimento Java, em conjunto com o plugin Pydev.

Neste pequeno passo a passo abordo uma forma simples e direta para se instalar o Pydev transformando seu Eclipse em um ambiente para desenvolvimento em Python.

Antes de mais nada, suponho que você já tenha o Eclipse devidamente instalado. Em meu caso, no Arch Linux, instalei através do pacman, portanto estou com a versão 3.4.1, portanto qualquer diferença nos passos seguidos aqui pode ser por diferença em sua versão do Eclipse.

Sem mais baboseira, vamos ao processo.

1- Com seu eclipse rodando, clique na opção Software Updates do menu Help, conforme ilustração:

img01

Lhe será exibida uma janela como a seguinte. Selecione a opção Available Software, no canto superior.

img02

2- Nesta janela de Available Software, clique na opção Add Site. Lhe será apresentada uma janela na qual você deve inserir o endereço http://pydev.sourceforge.net/updates e clica em Ok, como na figura abaixo:

img031

3- Após isto, você terá a opção de instalação do Pydev. Selecione a caixa e clique no botão Install que se encontra no canto superior direito da janela, conforme ilustração.

img04

Ele começará a carregar a instalação e lhe será apresentada uma tela com a licença do plugin. Basta aceitar a licença e seguir em frente.

Após isto, o Eclipse começará a baixar os arquivos necessários e realizará a instalação em si. Após concluída, lhe será pedido para reiniciar o Eclipse para que as alterações tenham efeito. Pode confirmar com Yes.

Com isto a instalação já está concluída. Nos resta agora começar um projeto Python. Mãos à obra!

4- Com seu Eclipse reiniciado, clique na opção Preferences da aba Window.

img05

5- Na janela que lhe será apresentada, selecione a aba Pydev e selecione a opção Interpreter – Python. Clicando no botão New, do canto superior Direito, aponte para o caminho onde se encontra seu interpretador Python. (No linux, normalmente será /usr/bin/python.)

img06

Lhe será apresentada uma tela como a seguinte. Basta confirmar sem alterações.

img07

Repare que agora você terá um interpretador Python instalado, bem como uma lista de Paths para o Python em seu sistema. Novamente confirme clicando em Ok, encerrando aqui nossa configuração do Eclipse para programação com Python.

img08

Uma vez que o plugin Pydev está instalado e devidamente configurado, passamos para o passo final. Teste do Python no Eclipse.

6- Vamos começar criando um novo projeto seguindo o caminho: File > New > Pydev Project.

img09

Escolha um nome para seu projeto e confirme a criação do mesmo clicando em Finish, conforme imagem a seguir:

img10

Uma vez que seu projeto foi criado. Ele será listado na barra de projetos localizada no canto esquerdo do Eclipse. Clicando com o botão direito do mouse na pasta src de seu projeto, escolha a opção New > File, conforme ilustração.

img11

Com seu arquivo em branco, pode fazer seu teste do python com qualquer código simples, como por exemplo o bom e velho “Hello World”.

img12

Pronto pessoal! Agora é só abusar do Python no seu Eclipse.

Abraços


5 Comments more...

Procurando por algo?

Use o formulário para buscar em minha página:

Continua sem achar o que procura? Deixe um comentário em algum post ou me envie um email para que eu possa cuidar disso!