31 de jan de 2010

Mão na massa!!!

Hello World!


Hehe... tentei uma piadinha..rsrs
Me desculpem pessoal, esse post teve de ser editado no domingo, e não pude recolocá-lo durante o dia. Hoje vou apresentar para vocês o modo interativo do Python.  E como esse post eu escrevi domingo, o artigo vai ser menorzinho.
Vamos lá, primeiramente vamos instalar o Python. Se você estiver num Linux (Deus queira que esteja), o Python é nativo =D. Agora, se você estiver naquele programinha que começa com W, vamos ter que instalar mesmo. Vá no site do Python e baixe a versão 2.6.4, depois os passos são simples “Next-Next-Next-Finish”.
Se tudo ocorreu bem, digite “python” no terminal de comando para começar a brincadeira.


Se for necessário a adição do Python nas variáveis de ambiente do SO, clique nos links a seguir de acordo com o seu SO: Linux  | Windows

O modo interativo não é exclusividade do Python, mas é um recurso muito legal, principalmente para teste e estudos. Tudo o que é feito nele se limita apenas àquela instância do interpretador. Isso mesmo, assim que o terminal/prompt for fechado, tudo será destruído.
Agora é sua vez, abra o modo interativo e digite “print 'Hello World'”. Com isso, você acaba de criar seu primeiro programa em Python! O que aconteceu aqui foi a chamada do comando “print”.

No Python 3 o print é uma função, metodo, como preferir. Nas versões anteriores o print é uma palavra reservada, ou seja, como mencionado acima, é um comando do Python. Falando nas palavras reservadas vou dar uma breve passada nesse assunto.

O Python 2.5.2 conta com 31 palavras reservadas. E elas são:
and        del        from        not        while
as         elif       global      or         with
assert     else       if          pass       yield
break      except     import      print
class      exec       in          raise
continue   finally    is          return
def        for        lambda      try
Brinque a vontade, faça muitos prints e muitas operações matemáticas. Por enquanto, seria legal que você pegasse familiaridade com o modo interativo. Agora, se você achou feio e queria usar aquele seu amado editor de texto ou, até mesmo, aquela sua IDE preferida, basta você criar um arquivo e salvar com a extensão .py. Com isto, você poderá escrever seu código Python e apenas compilá-lo no seu terminal, com o seguinte comando:

python NomeDoSeuArquivo.py


Bom pessoal, sei que foi simples, mas como eu disse dominguera... complicado rsrsrs....
Na próxima vou falar mais da sintaxe do Python. Espero que tenham gostado, como sempre espero por críticas e sugestões.

Abraços!!!

30 de jan de 2010

Características

Boa noite pessoal!


Hoje vou falar um pouco das características do Python. Um pouco de conceito nunca faz mal a ninguém, não é verdade?

As principais características do Python são:
  • É uma linguagem de alto nível;
  • É orientada a objetos;
  • Tipagem dinâmica e forte;
  • Possui um interpretador invez de compilador (quer dizer ela também é compilada... vou explicar calma).

Como dito no post anterior, um dos motivos da criação do Python foi o aumento da produtividade dos desenvolvedores. Logo, a syntax dele é bastante clara, o que favorece a legibilidade e diminui a curva de aprendizagem.

Linguagem multiplataforma, isso mesmo roda no nossos SOs baseados em Unix (nativo =D) e naquele outro programinha lá, aquele que começa com W.
Diversos conceitos(paradigmas) foram utilizados no seu projeto, ou seja, Python é multiparadigma. Ele abrange o paradigma funcional, modular e a famosa orientação a objetos.

Agora o lance da interpretação/compilação. O Python é interpretado através do bytecode pela VM(Virtual Machine) do próprio Python. Isso ai bytecode, começou a entender? Vamos lá, imagine uma linha do tempo, você acaba de codificar seu programa e salva seu arquivo no formato .py, neste momento ele já está prontinho para funcionar.

"Nossa!!! Cadê toda aquela parte de interpretador, bytecode, compilador, blá blá blá... ". Sim, sim, existe toda essa parte, ela começa agora. Toda vez que você poe o seu arquivo .py para trabalhar, ele é compilado gerando um bytecode. Basicamente, esse passo é executado porque
bytecode roda mais rápido que o source code(o que você escreveu). Esse processo não é completamente escondido de você, quando o seu arquivo .py é compilado um novo arquivo .pyc é criado.

A próxima vez que você rodar o seu .py, o Python irá pular a compilação e vai rodar direto. O processo de compilação só será repetido se você alterar o source code. “Ah, mas como o Python sabe que deve pular ou não a compilação?”. Simples, timestamps. Outra curiosidade é que, se o Python não puder gravar o arquivo .pyc na máquina, o seu programa continua funcionando. Ele grava em memória e libera logo após o fim da execução. Lindo, não é mesmo?

A tipagem do Python é forte, ou seja, ele se importa com o tipo de dado que a variável está guardando. Por exemplo, se você atribuir uma string a uma variável e depois tentar somar um número, o Python vai reclamar dizendo: “TypeError: cannot concatenate 'str' and 'int' objects”. Quanto ao dinamismo, o Python permite a declaração de variáveis sem a especificação do tipo, ou seja, tipo implícito. Se uma variável for inicializada com uma string e depois ela receber um valor inteiro, ou qualquer outro, o Python permitirá.

Bom pessoal, encerro por aqui.
Espero que tenham gostado. Estou sujeito a dicas ou criticas.
Queria agradecer aos amigos do canal do irc, nosklo e rodfersou. Eles me ajudam quando podem, Valeu povo.
Para quem quiser conhece-los, basta conectar no canal #python-br do freenode.
Amanhã vou mostrar um “Hello World!” básico, hehehe. Abraços e obrigado.


Fontes: Python para Desenvolvedores, 2ª edição
             Learning Python, 3ª edição

28 de jan de 2010

Um pouco de história

Vou começar falando da historia,depois entrarei na filosofia, estrutura, etc. Enfim vou fazer um overview, um joguinho de datas. Nada que você mesmo não consiga com uma simples pesquisa no google =D

O berço do Python foi o Instituto de Pesquisa Nacional para Matemática e Ciência da Computação(CWI), em 1989 nos Países Baixos mais precisamente. O nome do cérebro por trás é Guido van Rossum.

A idéia inicial era um sucessor do ABC que tivesse tratamento de exceções, uma comunicação através de scripts com o Amoeba SO e aumentar a produtividade dos programadores. Isso por que a linguagem ABC não tinha importantes funcionalidades, que o pessoal da CWI estava precisando.

Em 1991 foi publicada a primeira versão(0.9.0), na qual já abrangia classes com herança, tratamento de exceções, funções e tipos de dados (list, dict, str, etc).

Em 1994 foi formado o principal fórum de discussão do Python. No mesmo ano, a versão 1,0 foi lançada. Nela já estava incluída os recursos lambda, map, filter e reduce.

Em 1995 foi incorporado os parâmetros nomeados, suporte a números complexos e uma forma de encapsulamento.

Na versão 2.0 foram implementados list comprehension e garbage collection.

Após algumas mudanças na licença, na versão 2.1, toda a especificação era da Python Software Foundation(PSF). E isso incluiu a mudança na especificação para suportar escopo aninhado.

Em 2002 foram unificados os tipos de Python (escritos em C e classes escritas em Python). O que deixou o modelo de objetos do Python fortemente orientado a objetos. Generator também foi incluso nesta versão.

A biblioteca padrão e as escolhas sintáticas foram influenciadas pelo Java. Alguns casos são: o pacote logging (versão 2.3), o analisador sintático SAX (versão 2) e a sintaxe de decoradores que usam '@' (versão 2.4).

Em 2008 foi lançada a versão 2.6, mas com o olho na versão 3.0. Nesta versão foram incluídos multiprocessamento, JSON, I/O e uma nova formatação de cadeias de caracteres. No final do mesmo ano, a versão 3 saiu, apelidada Python 3000. Esta nova versão teve a compatibilidade quebrada com as versões 2.x. Motivo simples, corrigir falhas e fazer uma limpeza das versões mais antigas.

As principais mudanças, da versão 3.0, foram: mudança da palavra reservada 'print', que agora é função (No Pyhton 2.6, isso era possível assim: from __future__ import print_function) e a mudança para Unicode de todas as cadeias de caracteres.

Fonte: http://pt.wikipedia.org/wiki/Python#Hist.C3.B3ria


Bom pessoal, por hoje é isso. Espero que tenham gostado.

Como é minha primeira experiência com esse tipo de trabalho, gostaria muito de criticas. Pois creio que o ser humano só pode evoluir se for criticado.

Apresentação

Boa noite pessoal, estou estreando nessa onda de blogs.

O motivo principal da criação do blog foi exclusivamente didático. Hehe, isso mesmo, achei que escrevendo para vocês, eu memorizaria muito mais rápido.

Inicialmente, pensei em fazer um blog mais genérico, porem vou fazer "por partes". Vou me especializar em uma linguagem especifica e ,com o decorrer da minha necessidade, irei trocando. Como gosto muito de assuntos de gerência, analise e administração de projetos, também colocarei alguma coisinha.

Escolhi o Python para ser a primeira pois, é uma linguagem que está há muito tempo na boca do povo, e também por ser umas das linguagens mais "poderosas", e isso sem uma grande "ajuda" por trás como o Java, por exemplo.

Bom, vou fechar esse post com essa introdução, vou deixa a parte técnica para os próximos posts.

Até a próxima...