3 de março de 2009

Por que Python?

Primeiro, se o programador precisa trabalhar próximo ou junto ao Hardware, use logo C, C++ ou outra de médio ou baixo nível. Nos demais casos, PyCappuccino recomenda Python, seja web, desktop ou qualquer outra engine*. É bom dizer que Python é extensível para C.

Fique claro também que nunca se inventou e provalvemente nunca será inventada uma linguagem de programação perfeita, ainda menos uma que se destine a todos os casos.

Vamos lá.

# Porque em Python a delimitação de bloco se dá por indentação

Essa foi uma das coisas que primeiro me entusiasmou na primeira vez que tive contato com Python. Veja um exemplo simples.
def par_ou_impar(inteiro):
 x = inteiro / 2.
 y = int(x)
 if x == y:
     return "par"
 return "impar"

par_ou_impar(7)
# Retorna "impar"
Pensemos. Se por boa técnica de programação se usa indentação, por que não usar a indentação de uma vez para delimitar um bloco. Pois em Python você não precisa se preocupar em fechar ifs, fors, whiles, funções, classes. Uma vez que você assume que abriu um bloco, intuitivamente você indenta, e saindo daquele nível de indentação, o bloco se fecha.

No exemplo se vê que a função "par_ou_impar" não possui um "fechador" porque seu bloco está dentro do primeiro nível indentado, e uma vez que se desce o nível de indentação o bloco já é fechado. Nesse em particular, o comando "return" ao ser executado irá também fechar a função, mas mesmo que não houvesse "return" o bloco seria fechado quando o interpretador encontrasse a primeira linha com recuo da indentação.

Na mesma esteira o "if" abre um bloco e não precisa de fechador já que é fechado pela indentação da linha seguinte (um nível abaixo). Como "return" fecha a função não precisamos colocar um "else".

Além da facilidade que a indentação fixa proporciona a quem programa, também facilita em muito a leitura de um código, o raciocínio fica coerente, visto que tudo está necessariamente indentado. Outra vantagem é que uniformiza todo os códigos.

Aguarde em breve, outros artigos desta série.

* Há os que objetam que Lua é uma excelente linguagem-cola.

Um comentário:

Kao disse...

O engraçado é como eu já vi gente falar que começou a gostar de Python apesar da indentação obrigatória (como se fosse ruim). Eu desde o início achei genial porque te obriga a escrever código com a estrutura clara e ao mesmo tempo se ganha mais limpeza pela falta dos delimitadores.