Visite também: Currículo ·  Efetividade BR-Mac

O que é LinuxDownload LinuxApostila LinuxEnviar notícia


Google abre código do Protocol Buffers

“Já é sabido que o Google considera C++, Python e Java como linguagens oficiais de desenvolvimento. E dado o número de projetos deles, é de se esperar que sistemas escritos em linguagens diferentes tenham que conversar entre si.

Como eles gostam de desenvolver toda a pilha de software deles, obviamente o protocolo de IPC não poderia fugir à regra: eles criaram o Protocol Buffer. Resumindo: Protocol Buffers define um formato de descrição de dados que pode ser compilado e utilizado por programas em diversas linguagens. Uma espécie de IDL de Corba, versão Google. E daí a pergunta que não quer calar: por que não IDL? Segundo eles, por questões de simplicidade. Esta biblioteca foi liberada para opensource, e pode ser encontrada em http://code.google.com/apis/protocolbuffers/docs/overview.html.”

Enviado por Miguel Galves (mgalvesΘlog4dev·com) – referência (google-opensource.blogspot.com).


• Publicado por Augusto Campos em 2008-07-09

Comentários dos leitores

Os comentários são responsabilidade de seus autores, e não são analisados ou aprovados pelo BR-Linux. Leia os Termos de uso do BR-Linux.

    Porque nao IDL?
    Primeiro porque IDL eh uma grande ideia complexa e ruim de utilizar na pratica. Sendo complexa, mais sujeita a erros de implementacao e requer mais recurso computacional para gerar e ler as mensagens.
    Porque nao XML?
    Porque eh lento e ruim para ler o conteudo das mensagens.

    Entao, resta fazer uma linguagem simples, tanto de definir as mensagens, enviar, ler e acima de tudo eficiente.

    ejedelmal (usuário não registrado) em 9/07/2008 às 4:34 pm

    Legal. E por que não JSON, ou YAML? São simples e eficientes, sendo que YAML tem uma especificação e possui implementação em várias linguagens: Python, Java, Ruby, Javascript, etc.

    Defina eficiente.

    wtf (usuário não registrado) em 9/07/2008 às 5:02 pm

    YAML sucks.

    Wilson (usuário não registrado) em 9/07/2008 às 5:05 pm

    E por que não JSON, ou YAML?

    Será que quando o Google criou esse Protocol Buffers esses outros projetos já existiam?

    João Marcus (usuário não registrado) em 9/07/2008 às 6:40 pm

    O grande problema dos formatos YAML e JSON é que eles não têm maneiras eficientes de declarar o formato e tipos de dados das mensagens.
    Esse Protocol Buffer foi adotado certamente por permitir a criação de algo parecido com o XML Schema.
    Enfim, tudo depende da adoção da tecnologia. Não adianta ser bom se ninguém além do Google usar.

    Usem o protocolo que eu criei. Não gostamos disso, lembram? Isso é uma prática que uma outra empresa faz, uma empresa que ninguém gosta.

    XML, YAML, JSON já estão aí. Foram projetados por muitos e hoje é adotado por muitos e implementados em uma grande variedade de linguagens, frameworks e ferramentas.
    Dei uma olhada no Protocol Buffers, achei bem parecido com JSON e YAML.

    Weber Jr . (usuário não registrado) em 10/07/2008 às 12:18 am

    Silveira,

    Só esqueceu a “pequena” diferença… o Google libera o que faz como Software Livre, no caso, Apache 2 a Licença.

    E nao obriga ninguem a usar e muito menos diz que eh um padrao.

    Marcos Alexandre (usuário não registrado) em 10/07/2008 às 8:31 am

    “E não obriga ninguem a usar e muito menos diz que eh um padrao.”
    O problema é que essa outra empresa pelo tamanho do mercado automaticamente torna-se um padrão de fato.

    André (usuário não registrado) em 10/07/2008 às 9:26 am

    “O problema é que essa outra empresa pelo tamanho do mercado automaticamente torna-se um padrão de fato.”

    Mesmo assim cabe a cada um decidir se vai usar ou não.

    Rodrigo Pinheiro Matias (usuário não registrado) em 10/07/2008 às 10:35 am

    É não sei se JSON se aplica a programação distribuída, (escalabilidade, performace e segurança) e além disso não vejo uma forma de executar JSON em uma linguagem estática como C++, se não me engane C++ não tem algo parecido com eval do JScript, mas concordo que a IDL é difícil de entender e de ser escrever tb, mas acho que seria mais interessante desenvolver algo como um construtor de códio IDL seria mais simples. YAML esta mais para concorrente do XML do que de uma especificação de API para programação distribuída.

Este post é antigo (2008-07-09) e foi arquivado. O envio de novos comentários a este post já expirou.