Saturday, December 4, 2010

Por que bibliotecários usam bancos de dados esquisitos...

...e por que eles estão certos.

Este seria o tema da minha monografia de conclusão no curso de Biblioteconomia na ECA/USP, se o decôro acadêmico não demandasse algo mais sóbrio. Então o título ficou sendo:
O Modelo de Dados Semiestruturado em Bases Bibliográficas:
do CDS/ISIS ao Apache CouchDB
.

Hã?

Boa pergunta! É que, hoje, banco de dados é sinônimo de banco de dados relacional, com linguagem SQL e tal. Só que este é apenas um tipo de banco de dados. É o tipo dominante no mercado, mas apenas um tipo. Sempre existiram alternativas, e agora existem ainda mais bancos de dados não-relacionais, apelidados de NoSQL. O Google, o Facebook e a Amazon.com dependem de sistemas NoSQL para funcionar.

Há 25 anos a BIREME/OPAS/OMS, onde eu trabalho, usa o ISIS, um banco de dados NoSQL criado pela Unesco. O ISIS é um banco de dados orientado a documentos. Outros BD orientados a documentos modernos são o CouchDB e o MongoDB.

Os objetivos do meu TCC foram:


  • Analisar o ISIS a partir da teoria de bancos de dados semiestruturados, que é a base teórica dos BD orientados a documentos.

  • Migrar uma base de dados do ISIS para o CouchDB, documentando o processo e criando ferramentas de apoio.

Apresentarei a monografia dia 15/12, 10h, na ECA/USP, sala 247 (bloco principal, 2º andar). Apareça!

A banca será formada pelo orientador Marcos Mucheroni (biblioteconomia, ECA/USP) e por Fernando Modesto (biblioteconomia, ECA/USP) e João Eduardo Ferreira (computação, IME/USP).

Depois da apresentação colocarei aqui um link para o PDF da monografia, em acesso aberto.

Atualização: publiquei os arquivos PDF da monografia revisada e slides usados na defesa. O texto e os slides podem ser considerados Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Brazil. Se você usar parte deste material para algum trabalho ou atividade, por gentileza coloque um comentário aqui contando como usou, OK?

Tuesday, January 19, 2010

Django-Brasil ultrapassa Zope-PT

Conforme eu previa, em algum momento de 2009 a lista django-brasil ultrapassou em número de assinantes a lista zope-pt. Alguém sabe exatamente quando foi?

Na minha palestra-relâmpago na PyCon 2009 em Chicago eu mostrei números que indicavam que isso estava prestes a acontecer.

Então por esse critério o Django é hoje o mais popular framework Web da linguagem Python no Brasil.

Parabéns a todos que ajudaram isso a acontecer, como usuários, consultores, tradutores, autores, instrutores e evangelizadores!

A simplicidade, a praticidade e o poder do Django combinam com o jeito Python de programar. Assim como Python, Django faz bem para a auto-estima do principiante (como diz o Marco André).

Ao mesmo tempo, Python e Django vêm com pilhas incluídas (componentes prontos para usar), e não se limitam a soluções simples, pois oferecem ferramentas e extensibilidade para programadores experientes produzirem sistemas muito sofisticados, flexíveis e robustos.

O sucesso do Django foi a melhor coisa que aconteceu para o Python nos últimos anos.

Monday, January 18, 2010

Três perguntas sobre Python

Desde quando o Google e o Youtube usam Python?

Desde o início. Os algoritmos inovadores do Google foram criados em Python e em C, e até hoje Python é usada em todos os milhões de servidores do Google. O Youtube já era feito em Python antes de ser adquirido pelo Google. Veja a página About Google de 1998 e o depoimento de Peter Norvig, diretor de pesquisa do Google e co-autor do livro Inteligência Artificial: uma abordagem moderna. Ah sim: a primeira linguagem suportada no Google App Engine foi Python.

Porquê o MIT está usando Python?

O Massachussetts Institute of Technology, a mais famosa escola de engenharia do mundo, está usando Python em sua principal disciplina introdutória de computação. Python foi adotada porque possui bibliotecas muito versáteis (redes, robôs, computação gráfica, etc.) e permite explorar conceitos avançados de orientação a objetos e meta-programação, mas tem uma curva de aprendizagem suave. O livro-texto adotado pelo MIT já foi traduzido pela comunidade Python brasileira: Aprenda Computação com Python.

Existe emprego para programadores Python?

Sim. Hoje existem mais vagas para .Net, Java e PHP do que para Python, mas as vagas para programadores Python são mais atraentes. O motivo é que Python não é uma opção "default", mas é uma escolha consciente feita por empresas que se preocupam com qualidade e buscam inovação, e isso se reflete em melhores condições de trabalho, salários maiores e ambientes mais estimulantes para a pesquisa e a aprendizagem. O programador milionário Paul Graham blogou sobre isso: The Python Paradox.

Para quem tem um perfil mais empreendedor: vários programadores Python brasileiros atendem clientes no exterior, vivendo no Brasil e recebendo em dólar ou euros. Outros tantos foram convidados para trabalhar no exterior. A demanda de especialistas em Python é muito maior que a oferta, e isso cria grandes oportunidades profissionais.