Mensagem do Prof. Marco André Lopes:

Do dia 18 ao dia 20 de setembro, quinta-feira a sábado desta semana, será realizada, no Rio de Janeiro, a quinta edição da PyConBrasil, o encontro brasileiro da comunidade Python. Python é uma linguagem de programação de altíssimo nível, utilizada em larga escala por empresas como Google, Nasa e Industrial Light & Magic (de George Lucas). No Brasil, é utilizada pela Locaweb e globo.com, além do SERPRO.

Às vésperas do lançamento da versão 3.0 da linguagem, a Conferência Brasileira de Python ocorrerá no campus Tijuca da Universidade Veiga de Almeida, na capital carioca, e contará com três dias de palestras, tutoriais, cursos e atividades diversas com a comunidade. Além disso, o evento contará com a presença de dois palestrantes internacionais:

  • Bruce Eckel, autor de diversos livros de computação, entre eles "Thinking in Java" e "Thinking in C++";
  • e Alexander Limi, criador do sistema de gerenciamento de conteúdo "Plone" e Designer de Interfaces de Usuário no Google.

As inscrições podem ser feitas pelo site http://pyconbrasil.com.br.

Está dado o recado.

Só uma dúvida, professor… o “altíssimo nível” foi um belo marketing?

Notícias relacionadas

Não é marketing, é o nível de abstração da máquina física, assim como uma linguagem pode ser de baixo nível (e.g. Assembly) ou alto nível (e.g. C++).

davidkwast's picture

Isso, é só ver os conceitos de coleções, hashtables, iteradores e geradores que estão presentes na sintaxe. A tipagem dinâmica também colabora com essa afirmação.

[]s

Tango's picture

Tá aí uma linguagem linda. Todo código que é feito em Python é visualmente agradável.

Bons tempos.

__

Fly-By-Wire: Viagens e trabalho
Dicas, histórias e reflexões na sala de embarque

marcoandre's picture

Na verdade a definição vem da literatura, como pode ser visto em http://en.wikipedia.org/wiki/Python_(programming_language).

Mas pode-se também interpretar de uma forma mais subjetiva. Eye-wink

Aguardamos vocês na PyConBrasil 2008!

Marco André

H123er's picture

Puzzled Ainda não conheço muito essa linguagem, ela é utilizada principalmente em que campos? Puzzled

***********************************************************
__________________________________________________________

"Nada é Impossivel o Impossivel Só demora mais um Pouco"

marcoandre's picture

Aplicações científicas, desenvolvimento de aplicações desktop usando gtk, qt, desenvolvimento web, com plone e django, scripts para servidores, ensino de programação, automação industrial, etc. É uma linguagem de propósito geral.

Acesse python-brasil.com.br e assina a nossa lista.

davidkwast's picture

Muitos, por ser uma linguagem genérica. Sem um escopo muito fechado. Porém, pela sua natureza dinâmica, não será muito boa para processamento intenso como C e assembler são. A única coisa que chega perto é a facilidade de escrever trechos de uma aplicação em C (CPython), Java (Jython) ou alguma linguagem do .Net (IronPython) quase necessite de mais performance ou recursos que não estarão presentes no Python.

Portanto Python pode servir com uma linguagem "cola"que liga diferentes liguagens.

[]s

monthiel's picture

Python é uma linguagem poderosa, e minha próxima a aprender... Já li alguns tutorias da mesma e achei extremamente fantástico o que vi.

Abraços
Monthiel

Social Media e Interação:
Blog do Monthiel

Pessoal, tenho uma dúvida:
Começei agora com Python, estou utilizando a versão 2.5, a versão 3.0 tras mudanças significativas que me obrigam a atualizar?? Ou para o básico posso continuar com a 2.5??

grato Smiling

___________________________________________________________
A internet não te deixa idiota. Só deixa a tua idiotice mais acessível aos outros Evil

davidkwast's picture

Pode usar o 2.5 sem problemas, já existe uma ferramenta que converte quase todo o código para o 3. A linha do 2.x vai com certeza até o 2.7, sendo que o 2.6 e 2.7 trarão algumas funcionalidades do 3.

O está vindo para corrigir algumas coisas que quando o Python foi criado não eram tão ruins como são hoje, por exemplo a ausência de strings unicode, sistema de IO fortemente baseado no do C e modelo de classes antigo. Essas coisas não podiam mudar para não quebrar o código produzido anteriormente.

Outras coisa importante é uma limpeza e reorganização da Stdlib. Se estava com muitos módulos específicos para alguns SOs e/ou sem manutenção há muito tempo.

[]s

garoa's picture

Pode continuar no 2.5, pois o 3.0 já está sendo falado há uns 5 anos. O 2.6 acabou de receber o primeiro release candidate...

Cobalto's picture

Eu estarei lá.
Até porque estaria do mesmo jeito, eu estudo lá Ahuahuahua Evil
-----------------------------------------

"Em todo o caso, casai-vos. Se vos couber em sorte uma boa esposa, sereis felizes; se vos calhar uma má, tornar-vos-eis filósofos, o que é excelente para os homens". - Sócrates

davidkwast's picture

Legal, nos vemos lá então. Vai ser o primeiro cara do MB que conhecerei pessoalmente.

[]s

Confesso q, qdo vi o RSS, vim feliz achando que era tinah algo a ver com Monty Python...

Confesso também q essa piada deve ser tão velha que ninguém teve coragem de postar isso aqui antes de mim...

o nome da linguagem homenageia a série Eye-wink

Gilberto Martins's picture

Qual comparação pode ser feita entre Python e Ruby ? Ambas interpretadas, uma mais rápida que a outra, a linha de aprendizado é maior/menor, etc ...

Não conheço nenhuma das duas e estou interessado em aprender uma, a já um bom tempo.

Obrigado

===
Blog: Livre e Social

Cobalto's picture

Basicamente Ruby vem de python e tem a sintaxe mais simples que a da cobrinha Laughing out loud

-----------------------------------------

"Em todo o caso, casai-vos. Se vos couber em sorte uma boa esposa, sereis felizes; se vos calhar uma má, tornar-vos-eis filósofos, o que é excelente para os homens". - Sócrates

cafuin's picture

Acho que não vem de Python, mas não sei com certeza pra poder dizer.

Maldade: Ruby parece legal também, mas fico desconfiado, uma linguagem que os javistas simpatizam.... deve ter algum problema.

haha Smiling

davidkwast's picture

Não diria sintaxe, mas sim o escopo. Ruby foca no paradigma OO e herdou muitas coisa de Perl. Python herdou muitas coisas do ABC, inclusiva a sintaxe simples e delimitação blocos baseada em espaços brancos, em vez de END ou {}.

Toda vez que vou tentar entender o Ruby me perco nos símbolos.

[]s

garoa's picture

Ruby vem de Lisp, Smalltalk e Perl. Mas também incorporou uma ou outra idéia de python (a sintaxe para ranges de strings e vetores). Eu acho Ruby bem mais consistente do que Python, afinal foi um bom pedigree.

Mas Python tem uma coisa absolutamente a ser favor como nenhuma outra, nem Ruby: sintaxe absurdamente clara e cristalina. Fruto essencialmente de sua filosofia deveria-haver-apenas-uma-maneira-padrao-de-se-fazer-as-coisas.

Tudo o que lhe falta é limpar a zorra por baixo dos panos, toda aquela gambiarra com slots, separação entre tipos e classes, metaclasses, métodos com instancia explícita (self) e nomes de métodos como __foo__... Por baixo dos panos, Python é bastante inconsistente e feio e vez por outra você vai ter que encarar esse fato ao invés de ficar só na bela superfície. Se Python pudesse ser só uma sintaxe...

davidkwast's picture

Por ser concistente, Python tem essas "feiuras". Mas quando se entende o todo, Python fica muito mais "bonito".

O métedos possuem esse nome (__metodo__), para não serem usados diretamente. O self existte e sempre irá existir, porque o método é uma função e esta função precisa receber o objeto para mexer com seu atributos e métodos.

Python chega a ser tão diferente das "linguagens de mercado", que muitos irão amá-lo ou odiá-lo.

[]s

garoa's picture

Não, é exatamente por não ser consistente em seu âmago.

But Fear Not! Python 3 promete dar uma bela limpada nessa gambiarra toda acumulada ao longo dos anos, inclusive quebrando compatibilidade: quer manter os programas antigos? Use o interpretador open-source antigo, oras.

Eu frequentemente uso print foo.__doc__, fora outros usos com metaprogramação acessando esses métodos bizarros. Fora que você sempre define pelo menos o __init__...

self é implicitamente definido em Ruby e funções soltas em Ruby são meramente definidas como métodos do módulo atual...

Python não é tão diferente assim, semanticamente. É ainda uma linguagem essencialmente imperativa e OO. Para algo realmente alienígena, tente Haskell ou Lisp...

davidkwast's picture

Porque raios vc usa obj.__doc__? Ja leu a DOC (oficial na página) e tentou o help(obj)???

E o __init__ possui os "_" porque não deve ser chamado externamente. E ele é responsável por criar os atributos do novo objeto instanciado.

Sim, Ruby foi projeto desta maneira e Python de outra. Por isso existe o "self".

Não é bom quebrar código antigo, porque normalmente se aproveita uma nova versão do interpretador para se adicionar novas funcionalidades ao código, sem precisar arrumar partes quebradas.

[]s

davidkwast's picture

Python é mais velha (e dai?) e multi-paradigma. Ruby é totalmente focada em OO.

Python, por outro lado, combina os paradigmas estruturado, funcional e OO. Então o OO das duas vai ser bem diferente, no ruby as funções serão métodos num objeto especial (não sei se falei isso certo) enquanto no Python os métodos serão funções no namespace de uma classe (daí que vem o "self" explícito).

Ambas possuem uma excelente curva de aprendizado e velocidade (lerdeza comparada com Java) do interpretador semelhantes.

Eu (obviamente) prefiro Python, mas isso é pessoal, claro. Sugiro uma boa olhada nos tutorias e usos de cada uma. Depois veja as ferramentas mais famosas e veja qual te interessa mais.

[]s

mamendes's picture

Quote:

Tudo o que lhe falta é limpar a zorra por baixo dos panos, toda aquela gambiarra com slots, separação entre tipos e classes, metaclasses, métodos com instancia explícita (self) e nomes de métodos como __foo__... Por baixo dos panos, Python é bastante inconsistente e feio e vez por outra você vai ter que encarar esse fato ao invés de ficar só na bela superfície.

Se a "zorra" estivesse escondida atrás de um nome bonito como GarbageCollector ou Annotation você ia dizer que tudo era lindo.

Vc tá dizendo que é zorra por baixo dos panos pq está vendo, já que a filosofia da linguagem é deixar isso visível (na verdade não há 'panos'). As coisas são como são, só que nesse caso vc as vê e pode até ter controle sobre elas.

Queria ir, inda é perto de casa, mas impossível conseguir uma desculpa pra não trabalhar.

garoa's picture

Quote:
Se a "zorra" estivesse escondida atrás de um nome bonito como GarbageCollector ou Annotation você ia dizer que tudo era lindo.

Python tem GC e um tipo de annotations na forma de function decorators.

Quote:
zorra por baixo dos panos pq está vendo, já que a filosofia da linguagem é deixar isso visível

Verdade. A velha máxima imbecil "explícito é melhor que implícito", que na verdade é uma forma de deixar a implementação mais simples (ex, método é função). O mesmo para "flat is better than nested", sobre o qual alguém sabiamente comentou: "it's flat-out dumb".

Bem, devo dizer que estou decepcionado com Python 3000. Aproveitei esse tópico e fui dar uma olhada, e não parece que vai ser uma mudança drástica:
http://www.python.org/dev/peps/pep-3099/

Lista de coisas que não vão mudar. self explicito permanece. Sticking out tongue

davidkwast's picture

E o "self" permanece porque não tem nada de errado com ele, foi uma decisão de design que se alinha com o foco da linguagem.

[]s

leosaomz's picture

ainda existe alguem aprendendo python alem dessas empresas quem pagam pra alguem aprender ??

resp: concerteza

MSN - Leosaomz@hotmail.com

"Morrendo e aprendendo" - Leosaomz

guto.pro's picture

Python nm manjo mto ...mas vamos ver

[IMG]http://img.photobucket.com/albums/v645/gutoo/Avatar/Gk-Sign.jpg[/IMG]

Opções de exibição de comentários

Selecione seu modo de exibição dos comentários favorito e clique "Salvar opções" para ativar suas mudanças.


Design Wenetus