Seja C, C++, Python, Java, Ruby ou Brainf*ck, independente de sua linguagem preferida, durante a análise léxica, sintática, semântica, geração do código executável ou em qualquer outra operação, na execução de programas, independente da arquitetura de run-time e dependência que ela tenha, seja instruções bare-metal ou dependente de algum sistema operacional, rodando na CPU de um ignorado microcontrolador presente em seu relógio, celular ou na CPU do seu idolatrado (ou cobiçado) notebook ou nas células de uma cloud computing, não há o que discutir, a computação é sempre um fluxo de partículas, sejam léptons do tipo elétron ou bósons de calibre como o fóton. Tudo bem que seja por influência de algum fenômeno eventualmente não se comportam como nós esperamos, porém sabendo disto determinamos faixas de tolerância e assim os mal comportados acabam sendo desprezados e vamos levando a vida praticamente sem perceber estes rebeldes e a física flui, ou tenta, nos favorecendo neste admirável mundo computacional.
Quinto Encontro de Programadores do grupo C & C++ Brasil::Extras
26 10 2008Ao lidar com um registro em um relátorio esta semana, onde havia uma afirmação muito pitoresca onde um ilustre colega registrou que 100% do que foi discutido nas reuniões (que ele não participou) estava implementando num dado sistema, comecei a pensar em muitas coisas! Dentre elas que não estou documentando certos fatos de alguns eventos que tenho participado, colaborado na organização ou dado apoio moral… então, vamos lá! Ainda está em tempo…
Algo no qual eu estava pensando em blogar já a alguns dias é sobre o Quinto Encontro de Programadores do grupo C & C++ Brasil, que foi um evento único pra nós do grupo, tanto pelo patrocínio do MSDN Brasil e da Agit Informática, quanto pela evolução da organização do mesmo. Porém por um acaso acabei vendo que o Jumpi já havia feito uma cobertura, e o Caloni fez uma chamada para a thread que ocorreu na cppbrasil onde nossos amigos (e inclusive eu) deixamos nossas notas sobre o encontro, mas deixarei aqui alguns registros extras e outras observaões pessoais:
– Gostei muitissimo do keynote do Otávio Pecego Coelho. Recentemente uma faculdade me procurou para que eu palestrasse para eles sobre C & C++ e o formato que eu pensei em adotar foi justamente o formato adotado pelo Otávio, comentando sobre a experiência profissional dele com as linguagens e utilizando como referêncial alguns livros clássicos e como eles colaboraram ou influenciaram os rumos que ele tomou. Portanto, se alguém me ver fazendo algo similar, não é plágio! 🙂
– A apresentação do Strauss para mim teve uma emoção extra, pois devido a um probleminha técnico ocorrido com o som, corri feito louco para tentar ajudar a resolver, infelizmente o máximo que consegui foi pedir para a pessoa certa solicitar ajuda para o técnico de som. Mas isto me fez pensar sobre vários detalhes e posteriormente o Pedro Lamarão chamou para mais alguns detalhes que conversamos rapidamente com o pessoal do grupo, são n cossitas mas que fazem diferença. Portanto involuntariamente o Strauss acabou nos brindando com este incidente em sua apresentação.
– A presença das garotas foi algo que nos chamou a atenção, além de não ser comum ter 17% do público de encontro de programadores composto por garotas, ainda mais de C e C++, as que se inscreveram compareceram. Curioso, não? Por outro lado, a galera do sexo masculino não fez o mesmo. Portanto, foram eles que nos fizeram encerras as inscrições quando muitos ainda queriam se inscrever…
– Neste evento, pela primeira vez em público comentei sobre a Conferência C & C++ Brasil que acontecerá nos dias 17, 18 e 19 de fevereiro de 2009 em São Paulo, no Centro de Convenções Novotel Jaraguá e que terá algumas paricipações bem interessantes. Sendo este um assunto que merece um post único, assim que mais alguns detalhes forem acertados lançarei tal post.
– Um assunto que várias vezes veio a tona foi a dificuldade de encontrar profissionais qualificados, situação existente em vários contextos da indústria atual, com a tal desaleceração econômica prevista pelos gurus que quase nunca acertam algo ao não ser que seja um elefante rosa passeando em praça pública, talvez esta procura diminua um pouco, mas mesmo assim a dificuldade permanecerá. Mas sendo prático, 7 colegas comentaram que suas empresas estava buscando programadores de C e/ou C++, e alguns colegas foram até assediados. Mais uma vez, divulguei a lista Dev Guys que é o canal que nós da ccppbrasil está utilizando para direcionar as divulgações de vagas e que os colegas do portal embarcados também tem utilizado.
– Há centenas de fotos (muitas repetidas), assim como vídeos que a Ying da USP gentilmente filmou para nós. Gradualmente colocaremos tudo no ar, sendo que as fotos na próxima semana já estarão disponíveis no nosso album de fotos em http://picasaweb.google.com/ccppmeetings não estando lá ainda apenas por uma pequena questão logística.
Neste encontro, sorteamos os adesivos que o Jeff Atwood do blog Coding Horror nos doou, assim como mais algumas coisinhas que nos doaram para sortear como: livros da O´Reilly, Pearson Education, vários badulaques da MSDN Brasil , entre chaveiros, canetas e uma Mochila, um livro cedido pelo Roberto Santos e um livro autografado do Herb Sutter que ganhamos certa vez da Microsoft (por intermédio do Adlich) que utilizamos para homenagear os esforços do Lamarão a nossa causa.
Com certeza esqueci de algumas coisas, portanto leiam o blog do Jumpi e a thread no grupo ccppbrasil para se interar um pouco mais sobre o assunto. E é isto.
Namaste!
Comentários : Leave a Comment »
Categorias : C++, CPP, Development, Eventos, Programação
Dobradinha: Encontro de Maio do Grupy-SP & Seminário C++ Portabilidade & Perfomance
12 05 2008Concordo com o DQ que o gênio (ou genioso se preferir) Adelir de Carli é um Candidato a um Darwin Award, assim como concordo com o Christiano Anderson que o encontro do GruPy-SP no escritório do Google-SP foi excelente e principalmente com o Caloni que está na hora de reservar suas cadeiras para o Seminário C++ Portabilidade & Performance, afinal dentro de várias boas razões para se utilizar C++ uma delas é a Performance! Este post do Caloni é um bom começo, porém se preferir vá direto na fonte e faça sua inscrição na página do evento.
O curioso é que um dia antes irá ocorrer o encontro de Maio do Grupy-SP no Centro de Computação da Unicamp, em Campinas que irá durar o dia inteiro. Iniciar o final de semana na sexta com o encontro de Python e no sábado ir para o seminário C++ P&P será muito divertido!
Já me perguntaram num metrô, num shopping, numa livraria, num restaurante e por vários e-mails quando será o próximo encontro do EPA-CCPP, sinceramente fico feliz que os anteriores tenham agradado mas por enquanto não há nada definido, mas espero em breve ter boas novas sobre isto! E você não foi no último encontro? Tenha um overview pela cobertura que o nosso amigo Caloni deu no qual ele afirmou que nossa comunidade está ganhando forma, assim como recomendo uma visita a página do 4o.EPA_CCPP que contém link para as apresentações utilizadas, além de um excelente tutorial de QT e também link dos vídeos de 3 apresentações que ocorreram no encontro. E modéstia a parte, como o nosso colega nerd pós-moderno Lamarão afirmou; foi um Nerds Meeting que exalou inteligência! 🙂
Comentários : Leave a Comment »
Tags: C++, Eventos, Python
Categorias : C++, CPP, Development, Eventos, Python
8 Regras simples para o desenvolvimento de código mais seguro
28 10 2007Novembro é mes de Segurança na revista MSDN Magazine e após ler alguns artigos, realmente nenhum me chamou tanto a atenção quanto um artigo do ano passado do “Michael Howard” que aborda:
* Uso de ferramentas de análise e especialistas para rever seu código
* Redução do risco utilizando difusão e modelagem de ameaça
* Manutenção da entrada errada fora dos aplicativos
* Aprendizado de tudo sobre conceitos de segurança
Sinceramente, vale a pena “estudar” o artigo, pois apesar dos conceitos não serem novos a abordagem do Michael Howard está muito boa.
E aproveitando, já que o Howard é um dos pais do SDL [2] recomendo a leitura dos blog do SDL Team e principalmente o post que trata um relatório do governo americano chamado State of the Art of Software Security Assurance que dá muito destaque ao SDL.
De qualquer forma na revista deste último ano, também há um artigo dele bem interessante que é o [5] “Lessons Learned from Five Years of Building More Secure Software” ou lições aprendidas em 5 anos de criação de softwares mais seguros, no geral a revista está interessante mas me agradou menos do que a de 2006.
[1] MSDN Magazine – 8 Regras simples para o desenvolvimento de código mais seguro
[2] Trustworthy Computing Security Development Lifecycle
[3] SDL Team
[4] “State of the Art of Software Security Assurance” Report
[5] Lessons Learned from Five Years of Building More Secure Software
Comentários : Leave a Comment »
Categorias : Development, Security
Visual C++ Today and Tomorrow II
21 02 2007Está disponível no Chanel9 MSDN um vídeo [1] com o Steve Teixeira e o Bill Dunlap ( líderes da equipe de desenvolvimendo do Visual C++) onde eles explanam um pouco sobre os tópicos que já haviam sido abordados no slow chat do code guru “Visual C++: Yesterday, Today and Tomorrow” [2] – que o Márcio Franco sintetizou num artigo de mesmo nome [3] no site Linha de Código.
Neste vídeo, eles mais uma vez deixam alto e claro que apesar do foco da Microsoft – principalmente de marketing – no .Net; a gigante de Redmond não esqueceu dos desenvolvedores Visual C++!
Vale a pena conferir e saber um pouco mais do mesmo e algumas novidades sobre os rumos do Visual C++.
[1] Vídeo – Steve Teixeira and Bill Dunlap: Visual C++ Today and Tomorrow
[2] Slow Chat: Visual C++: Yesterday, Today, and Tomorrow[3] Visual C++: Visão Mercadológica
Comentários : Leave a Comment »
Categorias : /* Innovations */, C++, C++/CLI, CPP, Development, Programação
ATL Server terá código liberado
11 02 2007Por esta ninguém esperava, a equipe do Visual de C++ anuncia [1] que tem planos de liberar o código de fonte do ATL Server [2] com a lincença “Shared Source” [3] no CodePlex [4] em março de 2007. O objetivo deles é que os desenvolvedores que possuem suas extensões para o ATL Server o adicionem diretamente no projeto mãe, além de tentar acelerar os ciclos de desenvolvimento do projeto.
[1] ATL Server: Visual C++ shared source software
[2] ATL Server: Visual C++ Concepts: Adding Functionality
[4] CodePlex
Comentários : Leave a Comment »
Categorias : C++, Development, Languages, Programação
Google Code Search
6 10 2006O reinado do Koders está ameaçado, assim como os principados do CODASE e do KRUGLER, pois o Google lançou uma ferramenta de busca de código fonte com suporte a expressões regulares e filtro por licença de distribuição. Porém ele cobre apenas 32 linguagens, não atingindo fontes do Cobol, Boo, O´Caml entre outras linguagens…
O serviço pode ser acessado via a URL: http://www.google.com/codesearch
O Google Labs, em 05/Out/2006, criou um grupo de discussão sobre este serviço que pode ser acessado em http://groups.google.com/group/Google-Code-Search
É isto aí e bons códigos!
Comentários : Leave a Comment »
Categorias : Development, Programação
Visual C++: Yesterday, Today and Tomorrow
30 09 2006Certo dia, “googlando” sobre XAML e C++/CLI, encontrei no site CodeGuru um forum chamado “Visual C++: Yesterday, Today, and Tomorrow” que estava hiper interessante e passei a acompanhá-lo diariamente. Empolgado com as discussões, comecei a procurar artigos com a abrangência daquela discussão em português e confirmei minhas suspeitas; um grande Saara de informações que já estou acostumado a ver sobre C++ PT-BR. Assim, tive o insight de escrever um paper sobre o assunto mas – meu ex-colega de estudos sobre Visual C++ – kid Márcio Franco foi mais rápido no gatilho e lançou no site Linha de Código um artigo no formato que eu imaginava chamado Visual C++: Visão Mercadológica que foi explicitamente inspirado nesta discussão.
O artigo é uma boa compilação – com adendos a lá Márcio Franco – do que rolou na discussão até aqueles dias e – por mais que o desenvolvedor-programador-entusiasta esteja bem informado do que acontece na blogosfera e no mundo do C++ – considero leitura obrigatória.
É isto aí e bons códigos!
Comentários : Leave a Comment »
Categorias : C++, C++/CLI, CPP, CPP/CLI, Development
Lançado o projeto OmniObjects
28 09 2006Acaba de ser lançado, por Rodrigo Straus, um interessante projeto open source que pretende ser uma alternativa lite – porém moderna – dos componentes DCOM. Com licença BSD, ele é extremamente direcionado aos desenvolvedores C++ e para felicidade dos afcionados pela portabilidade ele faz uso do BOOST.
Leiam mais em: Projeto OmniObjects
Comentários : Leave a Comment »
Categorias : C++, CPP, Development, Programação
[>+>+>[>-]
28 09 2006>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]
<.>>>++++++++++[<+++++++++>-]<—.<<<<.+++.——.——–.>>+.
Comentários : Leave a Comment »
Categorias : Development
Qual é a melhor metáfora?
16 09 2006“Fred Brooks diz que escrever software é como cultivar, caçar lobisomens ou abater dinossauros num fosso de piche (1995). David Gries que é uma ciência (1981). Donald Knuth que é uma arte (1988) Watts Humphrey que é um processo (1989). P.J.Plauger e Kent Beck afirma que é como dirigir um carro (Plauger 1993, Beck 2000). Alistair Cockburn que é um jogo (2001). Eric Raymond que é como um bazar (2000).”
Qual é a melhor metáfora? 🙂 Talvez nenhuma delas, mas achei este trecho do Code Complete bem pitoresca…
Comentários : Leave a Comment »
Categorias : C++, C++/CLI, CPP, CPP/CLI, Development, etc e tal..., Languages, Programação
Java & Closures
7 09 2006E para os críticos ferrenhos da verbosidade do Java, mais um recurso está surgindo de forma muita aclamada no Java: “closures” também conhecido como expressão “lambda”
Recurso extremamente utilizado e glamorizado no SmallTalk, presente no Python, Lisp, Boo, sendo muito difundido no C++ via a implementação do BOOST – e divulgada aos quatro ventos pelos programadores Ruby que o tem de forma natural. O Java está na lanterninha em sua implementação sendo que ele ainda nem é um JSR, sendo por enquanto apenas uma proposta de alguns dos colaboradores mais descolados do Java.
“Closure” é uma função anônima que referencia variáveis livres no contexto léxico; ela consiste do código da função e referências para quaisquer variáveis no escopo da função exterior. Ela deve ser capaz de retornar diretamente do método incluindo a definição de encerramento (aka non-local return).
Num exemplo irônico ele pode ser “ilustrado” da seguinte forma:
Bye, bye:
public interface Runnable {
void run();
}
public interface API {
void doRun(Runnable runnable);
}
public class Client {
void doit(API api) {
api.doRun(new Runnable(){
public void run() {
snippetOfCode();
}
});
}
}
Welcome:
public class Client {
void doit(API api) {
api.doRun(runnable(() {snippetOfCode(); }));
}
}
Fonte do Exemplo: Nearl Gafter´s Blog
A proposta foi escrita por Gilad Bracha, Neal Gafter, James Gosling e Peter von der Ahé.
Fonte da notícia: Blog do Peter Ahé´s Weblog
Comentários : Leave a Comment »
Categorias : Closures, Development, Programação
Enfim, saiu o SGBD H2 v1.0
7 09 2006Sucessor do HSQLDB, antigo Hypersonic, saiu a versão 1.0 do servidor de banco dados H2. Com o objetivo de ser um eficiente banco para uso básico e elementar ele possue views, subqueries, triggers, clustering, segurança baseada em roles, criptografia, UDF, armazenamento em disco ou memória, uso embarcado ou cliente-servidor, integridade referencial, scrollable result sets, suporte a schemas, isolamento de transações e tudo sem muita sofisticação.
Por enquanto o melhor meio de acesso é via sua API, a padrão 2-phase commit, porém ela está incompleta e seu driver ODBC é experimental.
Comentários : Leave a Comment »
Categorias : Development, SGBD
Uma linguagem com as facilidades sintáticas de Python, porém estática e que gere executáveis com opcodes com pouca dependência e desempenho similar aos de C e que desfrute dos recursos computacionais de concorrência que os atuais processadores e computadores oferecem com facilidade é algo que muitos, a muito tempo desejavam. Conheço engenheiros que só tem C e Assembly como opção e que sempre costuma afirmar que “odeiam C”, pelos clássicos problemas da linguagem e compiladores.