MRNN Brasil – Para discussão de soluções MRNN ( N1NF | NoSQL – NotOnlySQL )

31 01 2010

Apesar de extremamente prazeroso (ou às vezes nem tanto) acompanhar mailists e foruns nem sempre é tarefa fácil, seja pelo rumo que certas discussões geram, pela falta de tempo  ou às vezes pela questão do foco. Acredito eu, que eventualmente todos vêem um assunto que é meio (ou inteiramente) off-topic sendo tratado com certo pudor, mas que você gostaria que a discussão evoluísse mas a própria lista e a netiqueta não permite.

Alguns dizem que a relação entre arquiteto e programador é de confiança e compreensão, arquitetos não confiam em programadores e estes não compreendem os arquitetos!

Continue lendo »

Anúncios




Seminário C & C++ para Sistemas Embarcados

26 10 2008

A Tempo Real Eventos, em conjunto com o Grupo C & C++ e o Portal Embarcados, numa atividade de Interop entre comunidades, está realizando o Seminário C & C++ para Sistemas Embarcados, o que para muitos não é novidade visto que iniciamos a divulgação do evento em agosto.

Inicialmente este seminário foi previsto para um público de 200 pessoas, porém já ultrapassamos este número a algumas semanas. Overbook? Nada! Como o auditorio é modular, a Tempo Real Eventos contratou um espaço adicional para o auditório e hoje já contamos com mais de 300 inscritos.

Desta forma, este evento é hoje o evento com participação do Grupo C & C++ Brasil, que aborda exclusivamente as linguagens C & C++ com a maior quantidade de inscritos. Curiosamente, a idéia deste evento já existe desde 2005, quando com alguns colegas discutíamos sobre a iniciativa de realizar encontros community style sobre C & C++. Durante o terceiro encontro de programadores que foi um encontro que teve uma fórmula singular de poucas palestras e muito espaço para interação, numa das conversas onde discutíamos a possibilidade de realizar um evento destes, um dos colegas que afirmava que nunca tinha visto tanto programador C++ num só local, temia que não conseguiríamos mais do que 100 pessoas para este evento especifico de embarcados.

Obviamente, o cast de palestrantes tem sido um dos grandes pontos, assim como parcerias que o portal embarcados tem realizado com outras comunidades. Por exemplo, vejam a divulgação no wiki da CBE e no portal Eletronica.org

Na realidade há muito o que comentar sobre ele, porém deixarei para realizar estes comentários durante e após o evento. Para inscrever-se, vá no site do evento e siga as instruções. Nos encontramos lá.

Namaste! 🙂





Quinto Encontro de Programadores do grupo C & C++ Brasil::Extras

26 10 2008

Ao 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!





gcc -fstack-protector-all, Mudflap, DUMA e o Valgrind!

11 11 2007

“Quem programou em C ou C++ já esbarrou nesta categoria de erro: buffer overflows que podem vir acompanhados” (ou não de) outros problemas como ponteiros não inicializados, memory leaks, etc e como afirma o David LeBlanc “toda vulnerabilidade pode ser explorada até que se prove o contrário”, portanto codificar de forma segura e debugar é preciso! Entre algumas dicas já oferecidas aqui anteriormente, segue um artigo bem interessante do Savago onde ele trata de um específico tipo de buffer overflow e ele aborda o Mudflap e cita o Valgrind, que é uma ferramenta recomendada pelo Michael Behm como ferramenta para detectar problemas de memória.

[1] Detectando buffer over/underflow em C e C++ com ferramentas OpenSource

[2] Mudflap

[3] Valgrind

[4] Using valgrind to detect and prevent application memory problems





PythonBrasil: Primeira Linguaguem

10 05 2007

Num desavergonhado plágio de um resumo do Marinho de uma das discussão interessantes que rolou na lista PythonBrasil sobre a “primeira linguagem de programação” segue abaixo algumas declarações interessantes:
decopzp: ” A galera nas faculdades no meio de programação so fala em Java. Queria saber como começar a aprender Python, gostei muito só que estou com algumas duvidas em relação a classes methodos e etc…Na verdade que saber tudo como fazer o que fazer…Não aguento mais java”

Luciano Ramalho: “Em Java, existe uma aberração sintática chamada “inner classes” que foi parida para suprir a grotesca falta de um jeito de se passar funções como parâmetros. Apenas uma das diversas falhas gritantes de projeto da linguagem Java. Mas é uma ótima linguagem para quem está em busca de um emprego chato.

Agora sério: Java é um excelente substituto para C++. Empresas e instittuições que antes desenvolviam em C++ agora têm uma alternativa mais segura e confiável para seus projetos. Faz todo o sentido a Apache Foundation e a IBM usarem Java, por exemplo.

O grande erro que muitas empresas no mercado estão cometendo é substituir linguagens de mais alto nível por Java, e achando que a queda de produtividade é apenas passageira, enquanto a equipe não ganha fluência na linguagem.”

Rodrigo Senra: ” No contexto particular de ensino *introdutório* de programação, eu diria que Java como primeira linguagem é no mínimo nocivo.

> Java está na moda.

Piercing também está. Fumar já esteve na moda. Particularmente eu não sou um cara que liga para a moda. Prefiro mais a média, ou até mesmo a mediana ;o)

Em suma, o fato de Java estar na moda para mim só não é irrelevante porque me atrapalha. Atrapalha pois tenho que convencer semi-leigos de que o fato de Java estar na moda é irrelevante ;o) Eu não digo para o Padre qual vai ser o sermão, eu não digo para
o padeiro como fazer o pão nem para o médico qual o tratamento que quero receber antes dele dar o diagnóstico. O computeiro, apesar do nome cacofônico, merece respeito. Uma tecnologia ditada pela moda, e não fundamentada pela análise prática e teórica, é uma falta de respeito para a nossa classe.

> Ela é uma otima linguagem

Aqui concordo, ela tem seu nicho e suas vantagens. E ainda é melhor que *muita* linguagem por aí.

> Vamos com calma. Python está sendo usada em cursos
> introdutorios de programação pois é uma linguagem de fácil acesso…
> mas isso nao quer dizer que seja a melhor linguagem do mundo.

Melhor é um conceito extremamente dependente de contexto. No contexto de ensino introdutório, ainda não vi nada melhor do que Python.”

Luciano Ramalho: “tenho plena consciência de que existem milhões de programadores brilhantes que preferem Java. Mas eu não resisto a uma oportunidade de criticar o Java, exatamente porque “está na moda”.

Isso tem duas consequências lamentáveis, a meu ver:

(1) muitos gerentes que não sabem distinguir uma referência de um ponteiro escolhem Java para projetos que poderiam ser muito melhor resolvidos em PHP, Python, Ruby, Perl, VBScript etc, e acabam submetendo equipes inteiras de desenvolvedores a uma linguagem e uma API que são otimizadas para projetos imensos e complexos, e
consequentemente acabam induzindo projetos pequenos e simples a ficarem imensos e complexos também.

(2) é tão sofrido aprender e ficar produtivo em Java que muitos de programadores estão ficando sem vontade de aprender uma segunda, terceira ou quarta linguagem, com medo de passar pelo mesmo calvário de novo; pior, depois de suar tanto a camisa para aprender Java, muitos se convencem de que complexidade == qualidade, e que uma linguagem mais fácil de usar, como Python, tem que ser necessariamente inferior ou mais limitada, o que absolutamente não é verdade.”

Luciano Ramalho:
> E como ensinar herança múltipla, sobrecarga de operadores e tipagem
> dinâmica em uma linguagem que não os suporta/não os tem?

Sua lista de conceitos de OO está contaminada por uma perspectiva javista, Gleidson. Smalltalk, a primeira e até hoje uma das melhores linguagens orientadas a objeto já criadas tem tipagem dinâmica e não tem interfaces. C++ tem sobrecarga de operadores e não tem interfaces. Ninguém pode dizer que Smalltalk e C++ não são exemplos de linguagens
orientadas a objetos (*). Enfim, o que é essencial em uma linguagem orientada a objetos? A resposta não é simples, nem única.

> A questão do Java é meio que a popularidade dele.

Sim, é o que eu tenho dito: a popularidade do Java é ao mesmo tempo sua maior virtude e seu maior defeito. O defeito está no fato de qua a “popularidade” está levando milhares de empresas a usarem Java para desenolver aplicações que seriam feitas de forma muito mais simples com uma linguagem mais ágil, como Python, Ruby, Perl ou até mesmo PHP
e VBScript.

> É fácil achar um
> computador que tenha um ambiente java instalado. Agora vai achar um que
> tenha o python instalado pra poder rodar os programas?

A Microsoft parou de distribuir Java com o XP, lembra? Há anos o Java perdeu a vantagem de sair pré-instalado em milhões de máquinas Windows. No Linux, praticamente qualquer distribuição vem com Python, mas não com Java. E no MacOS X vem as duas.

> Fora que em Python não é compilado, então tens que
> dar o código-fonte para que alguém possa rodar seu programa.

Não é verdade. Python é compilado para um bytecode, assim como o Java. E eu posso distribuir este bytecode em vez do fonte. Mas existem ferramentas capazes de regenerar o código-fonte a partir do bytecode, tanto no caso do Java quanto no caso do Python. De qualquer forma, para 90% dos desenvolvedores essa questão é irrelevante, porque não
somos pagos para produzir software proprietário que vai ser vendido em caixinhas, e sim para desenvolver soluções customizadas para clientes, internos ou externos, que exigem o fonte de qualquer maneira.”

Luciano Ramalho:
> Ninguém pode dizer que Smalltalk e C++ não são exemplos de linguagens
> orientadas a objetos (*).

Faltou explicar o (*)…

O Alan Kay, líder da equipe que criou Smalltalk, uma vez disse:

“I invented the term Object-Oriented, and I can tell you I did not have C++ in mind.”

“Eu inventei o termo Orientado a Objetos, e posso lhe dizer que não estava pensando em C++.”

Se tem alguém que pode dizer o que é ou deixa de ser OO, é o Alan Kay.”

Luciano Ramalho: “Gleidson, talvez vc não saiba ou passou batido, mas interfaces são uma gambiarra no java para fornecer herança multipla. A unica coisa que é bom em interfaces é que elas fornecem duck typing para java, o que não é necessario em python justamente por causa da tipagem dinamica.”

DANIEL: Não sou da UFRGS mas vou expressar minha opinião quanto a adotar python como
primeira linguagem. Bem, aprendi python a pouco tempo, cerca de 1 ano, antes
só mexia com C. Apesar da linguagem python possibilitar programação
procedural, a quebra de paradigma Procedural-para-OO foi a coisa mais
difícil que tive de aprender quando comecei a estudar python. É claro que C
não é uma linguagem que vá morrer tão facilmente, na minha opinião, logo
também concordo com o que o Senra disse dias atrás, sobre C+Python. Se é um
caso de sucesso em um lugar pode se tornar em vários outros. Quanto ao que o
Ricardo disse, creio que há matérias específicas tais como
(Microcontroladores, Microprocessadores etc) que cuidam da aproximação
aluno-hardware. Na minha opinião se Assembly fosse ministrado nos primeiros
períodos poderia surgir dois comportamentos da turma, ou eles seriam
desestimulados ou se tornariam hackers.

Fábio: Vindo python ou assembly, a dor do baixo nível será praticamente a mesma…

Agora, se não for necessário “baixar o nível”, o python é ótimo como
primeira linguagem…

Temos como exemplo prático a Sociesc, em Joinville.
A minha turma pegou a época do C++…… e o resultado? muita dificuldade e
desânimo…
Conheço alunos, das turmas mais novas, que começaram com o Python.
O entusiasmo é completamente outro. Os alunos conseguem fazer as coisas
acontecerem de maneira mais fácil.

Outra metáfora que pode ilustrar aqui é o de comparar um sedã, uma scania e um trator. Digamos que o Python seja o sedã, o Java seja a scania e o C seja o trator: cada um tem sua aplicabilidade.





Visual C++ Today and Tomorrow II

21 02 2007

Está 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  





ATL Server terá código liberado

11 02 2007

Por 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

[3] Shared Source Licenses

[4] CodePlex