Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais] ·  Efetividade ·  Linux in Brazil ·  Floripa  

Lançada a versão 2.5 do Python


“Foi anunciado hoje o lançamento do Python 2.5, com muitas novidades. Se você não quiser aguardar pelo lançamento de pacotes pré-compilados para sua distribuição, já pode fazer o download do código-fonte e instalar com a trinca de comandos ./configure; make; make altinstall. O make altinstall instala o binário do Python com o nome de python2.5, para permitir a coexistência com outras versões durante seus testes.



A Wikipédia informa que Python é uma linguagem de programação interpretada, interativa, orientada a objetos, de tipagem dinâmica e forte. Ela combina uma sintaxe concisa e clara com os recursos poderosos de sua biblioteca padrão e por módulos e frameworks desenvolvidos por terceiros. Seu criador, Guido van Rossum, hoje trabalha no Google.”


Enviado por Julio Pacheco - referência.

Comentários dos leitores

Os comentários abaixo são responsabilidade de seus autores e não são revisados ou aprovados pelo BR-Linux. Consulte os Termos de uso para informações adicionais. Esta notícia foi arquivada, não será possível incluir novos comentários.
Comentário de EdCrypt
"What is new": Uma lista mais interessante de novidades:
http://docs.python.org/dev/whatsnew/whatsnew25.html

Eduardo de Oliveira Padoan
http://edcrypt.cjb.net
Comentário de nemesis
ótima oportunidade para: ótima oportunidade para começarem a aprender essa boa linguagem, de preferência não tentando usá-la como se usa Java/C++/C#....

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de Trojan
Nemesis me passa o teu: Nemesis me passa o teu email, to precisando trocar umas ideias com vc sobre python.



Comentário de nemesis
huhu: sei não, teu nick não me passa muita confiança... ;)

De qualquer modo, já fui um fã mais fervoroso de python do que hoje. Vejo entre as novidades várias coisas que me parecem supérfluas ou redundantes.

Gostava mais de python quando adotava com mais vigor o paradigma funcional. Hoje, no entanto, estão movendo as coisas específicas funcionais para um módulo à parte, functools, ao passo que, por exemplo, incluem um recurso, functools.partial que me parece completamente redundante e verboso, frente ao fato que o uso de argumentos default já supre razoavelmente bem essa necessidade...

ainda assim, é bem mais criativa, madura e interessante do que a maioria de outras linguagens por aí...

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de trojan
ahhah ta certo, mas então: ahhah ta certo, mas então eu deixo um email pra você e você me procura?

dsilva_linux@yahoo.com.br


Valeu
Comentário de brandizzi
AEEEE!!!: Hoje vou dormir feliz :)

--
Adam Victor Nazareth Brandizzi
Site: http://brandizzi.googlepages.com
"Real programmers don't use Pascal: just the integer ones can do it."
Comentário de fzero
O Python não seguia o mesmo esquema de versionamento do Linux?: Pensei que a próxima versão final seria 2.6, deixando o branch de desenvolvimento como 2.5. Talvez eles tenham mudado de idéia.
Comentário de Kyon
Deuses, e ainda se faz de: Deuses, e ainda se faz de fã de linguagem funcional. Aplicação de função parcial não tem NADA a ver com argumentos default, que não suprem "razoavelmente" a necessidade.

E não estão "movendo" coisas para um módulo à parte, tudo de funcional que havia antes em Python continua no lugar onde estava, apenas estão colocando mais coisas no functools.
Comentário de nemesis
hmm: def foo( a = 1, b = 2 ):
  return a + b

foo( 3 ) -> 5

functools.partial( foo, a = 3 )() -> 5

mais verbosidade para praticamente a mesma coisa. Sim, sei que aplicação parcial de funções tem por objetivo retornar uma nova função com alguns dos argumentos já aplicados. E ainda acho que os argumentos default de python tornam isso praticamente redundante.

Encare: python é uma linguagem imperativa e é dessa forma que é usada. Um módulo extra com alguma funções só torna tudo mais verboso: se quisessem realmente assimilar o paradigma funcional, dariam suporte a otimizações de tail-calls e funções parciais à nível de sintaxe e semântica. Do jeito que está, Python não é mais funcional que C++ com um "Boost"...

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de shinigami
E ainda acho que os:
E ainda acho que os argumentos default de python tornam isso praticamente redundante.


Com os argumentos default você só tem uma opção imutável. E como você usaria argumentos default em funções de outros módulos? Você não pode mudar os argumentos default.

Suponha que você tenha uma janela com menus, e que uma função esteja associada com cada item de menu. Quando ele é clicado, a função associada é chamada... o código ficaria bem simples, algo como:

def onClick(self):
self.func()

Agora suponha que existam dois items de menu, "zoom in" e "zoom out", e uma função chamada zoom que recebe true para in e false para out. O código ficaria:

menu = Menu("Zoom In")
menu.func = functools.partial(zoom, true)
menu = Menu("Zoom Out")
menu.func = functools.partial(zoom, false)

...como você faria isso com argumentos default?

Encare: python é uma linguagem imperativa e é dessa forma que é usada. Um módulo extra com alguma funções só torna tudo mais verboso: se quisessem realmente assimilar o paradigma funcional (...)


Ninguém disse que python não é imperativa. Você afirmou que "Gostava mais de python quando adotava com mais vigor o paradigma funcional." só que o vigor dessa adoção nunca diminuiu.

Se quisessem realmente assimilar o paradigma funcional, teriam feito uma linguagem funcional para início de conversa.
Comentário de popolony2k
Tecnologia BORG: Eu acho que Python é uma tecnologia BORG, por mais que tentem assimilar Python, ela termina assimilando novas espécies.


Leidson C.A.F (Popolon Y2k)
PlanetaMessenger.org (Java Universal Messenger)
Comentário de nemesis
huh: "...como você faria isso com argumentos default?"

def zoom( arg = true ): pass

menu = Menu("Zoom In")
menu.func = lambda: zoom()
menu = Menu("Zoom Out")
menu.func = lambda: zoom( false )

ok, então argumentos default aqui não são em absoluto necessários, até pq é uma função de um argumento só. Mas com o que python já provê, faz-se tranquilamente. Tenho certeza que há outros exemplos mais adequados a mostrar bom uso de funções parciais, mas esse não é um deles...

De qualquer modo, reafirmo que com python a introdução dessa funcionalidade é meio redundante, já que é fácil emulá-la diretamente com o que python provê hoje. Que, aliás, é o que tal módulo faz.

"só que o vigor dessa adoção nunca diminuiu."
"teriam feito uma linguagem funcional para início de conversa"

ou ao menos deixado primitivas como map, filter e reduce como primitivas, ao invés de entulhá-las em um módulo à parte...

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de EdCrypt
Não.: Não, como você pode observar. E nunca foi. Alias, nem o Linux segue esse esquema mais.
BR-Linux.org
Linux® levado a sério desde 1996. Notícias, dicas e tutoriais em bom português sobre Linux e Código Aberto. "A página sobre software livre mais procurada no Brasil", segundo a Revista Isto É.
Expediente
Sobre o BR-Linux
Enviar notícia ou release
Contato, Termos de uso
FAQ, Newsletter, RSS
Banners e selos
Anunciar no BR-Linux
BR-Linux apóia
LinuxSecurity, Tempo Real
Suporte Livre, Drupal
Verdade Absoluta
Pandemonium
Efetividade, Floripa.net
sites da comunidade
Ajuda
Moderação
Flames: não responda!
Publicar seu texto
Computador para Todos
Notícias pré-2004
Tutoriais, HCL pré-2004