segunda-feira, agosto 16, 2010

VII Encontro de Programadores C e C++

Sábado passado participei do VII Encontro de Programadores C e C++. É reconfortante ver que o interesse permanece alto durante os quase cinco anos de existência, com a sala ficando apertada para os mais de 120 participantes.


Segue uma menção rápida ao conteúdo das palestras, que mantiveram a tradição de alto nível.

Criando Aplicações DB-Aware com Qt

Embora Qt seja mais conhecido como um framework para desenvolvimento de interfaces gráricas, ele possui também classes para acesso a base de dados. Foi nisto que se concentrou Gianni Rossi. Palestra interessante, embora eu prefira fazer as minhas aplicações "db-aware" em C# (principalmente porque eu trabalho somente com Windows).


Programação GPU com Visual C++ e CUDA Compiler Driver

As placas gráficas possuem uma capacidade computacional cada vez maior, visando facilitar os cálculos necessários para, por exemplo, simulação das leis da física. Para isto elas se possuem a capacidade de executar muitas operações de ponto flutuante em paralelo, embora com uma precisão inferior aos cálculos (mais lentos) da unidade de ponto flutuante da CPU. Com isto surgiu a ideia de usar o processador gráfico (GPU) para fazer cálculos genéricos de ponto flutuante com alto paralelismo.

O Fábio Galuppo se concentrou na arquitetura definida pela nVidia, a CUDA (nomezinho ingrato, que gerou muitas risadas durante a palestra). A programação é relativamente simples, mas a programação eficiente requer uma adaptação do código às características da placa gráfica sendo usada. Um assunto bastante interessante e atual.

Servidores Concorrentes Genéricos

Nesta palestra Pedro Lamarão discutiu um assunto que eu conheço um pouco: a construção de servidores TCP. Entretanto, enquanto que os meus projetos visavam suportar muitas dezenas de conexões, o foco dele era suportar milhares.

Inicialmente ele cobriu as várias opções disponíveis na API sockets do Posix, que foram apresentadas de forma muito clara e organizada. Por último ele apresentou a sua solução genérica, baseada em templates. Nesta última parte a complexidade subiu rapidamente. Como ele próprio comentou, embora a solução seja muito elegante, pode não ser a solução mais adequada por exigir um bom conhecimento teórico de C++ de quem for dar manutenção.

Eu Escrevendo Driver para Windows

Esta foi a palestra mais divertida, apesar do assunto ser de "baixo nível" - o projeto de drivers para Windows. Confesso que não me lembrava do post no blog do Fernando Roberto convidando os participantes a acompanharem a apresentação com a mão na massa. Aparentemente o resto dos participantes também não viu ou ignorou o post. O resultado foi que o "eu" do título acabou sendo "ele" e não "nós"...

Ao final da palestra eu estava convencido que seria capaz de montar o ambiente de desenvolvimento de drivers, criar um driver "vazio" (como o que ele usou de exemplo) e depurá-lo. E até mesmo enfrentar telas azuis:


Crash Dump Analysis

Nesta palestra o Wanderley Caloni mostrou como analizar os "crash dump" do Windows. Para quem não sabe, estes dumps podem ser gerados quando uma aplicação comete um erro fatal e precisa ser fechada pelo Windows. Na maioria dos sistemas, o Windows gera uma versão compacta do dump e pede autorização do usuário para enviá-la para análise pela Microsoft.

Eu estava com grande expectativa sobre esta palestra, graças aos teasers no blog do Caloni. E ele correspondeu a esta expectativa, a ponto de até conseguir acompanhar como ele resolveu um problema em um driver a partir de uma foto da tela azul apresentada pelo Windows.

Painel: Computação de Alto Desempenho

Encerrando a parte técnica, subiram ao palco alguns dos palestrantes para responder a perguntas dos participantes sobre o desenvolvimento de aplicações de alto desempenho. A dica básica, presente em todas as respostas: meça cuidadosamente o desempenho para determinar quais os pontos críticos e confirmar que as mudanças estão gerando os resultados esperados.


Os Sorteios


Mantendo a tradição, foram sorteados dois livros e vouchers de cursos da Agit Informática.


Concluindo

Mais um grande encontro da "comunidade". Se você é programador e não foi lá, dê uma olhada no material da palestra quando ele ficar disponível (fique de olho em http://groups.google.com/group/ccppbrasil) e considere seriamente ir no próximo encontro (mesmo que você não programe em C e/ou C++).

Nenhum comentário: