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

Nenhum comentário:

Postar um comentário