BT

A sua opinião é importante! Por favor preencha a pesquisa do InfoQ!

A Google lança o projeto Abseil, uma coleção de utilitários C++ e Python

| por Abel Avram Seguir 4 Seguidores , traduzido por Mário Nunes Lima Seguir 1 Seguidores em 14 nov 2017. Tempo estimado de leitura: 2 minutos |

O Google disponibilizou um conjunto de bibliotecas C++ que são utilizadas por projetos da empresa, E em breve, as bibliotecas Python também serão disponibilizadas.

O Google desenvolveu a Abseil ao longo de uma década, com o propósito de auxiliar as necessidades de diversos programadores em vários projetos, incluindo Protocol Buffers, gRPC e TensorFlow. A Google descreve o Abseil como:

Uma coleção de bibliotecas criadas a partir das peças fundamentais da base de código interna da Google. Essas bibliotecas são os alicerces que sustentam quase tudo o que o Google executa. Os bits e peças dessas APIs estão presentes na maioria dos nossos projetos de código aberto, e agora estamos lançando juntas dentro de um projeto coeso.

O projeto Abseil engloba os blocos básico de construção da base de códigos da Google: código testado em produção e que será mantido nos próximos anos.

O projeto Abseil inclui abstrações que inicialmente não faziam parte do C++14 ou C++17, mas alguns deles acabaram sendo incluídos no standard. Por exemplo, a Google tinha um tipo chamado StringPiece, que mais tarde, C++17 adicionou um tipo similar chamado std::string_view. A Google tem reformulado StringPiece para absl::string view com a mesma API do novo tipo do C++17. Na prática, o string_view da Abseil utiliza a implementação padrão do standard quando o projeto é compilar com suporte a C++17 ou utiliza a implementação do Google se estiver usando uma versão anterior do C++.

O benefício de utilizar o projeto Abseil é ter acesso aos recursos C++ que ainda não existem no standard, com a promessa de que o Google o aperfeiçoe ao padrão standard quando incluído. O Google incentiva os desenvolvedores a adotar o Abseil, mencionando que eles têm mais de 250 milhões linhas de código C ++ que é usado em quase todos os projetos são construídos a partir do repositorio. Isso significa que o Abseil é muito usado pelo Google e constantemente mantido para acompanhar as necessidades de seus projetos.

O Abseil inclui as seguintes bibliotecas:

  • base: inicialização e outro código básico;
  • algorithm: adições à <algorithm> biblioteca C++ e versões baseadas em contêiner de tais algoritmos;
  • container: recipientes adicionais em estilo STL;
  • debugging: biblioteca de depuração usada para verificar se há vazamentos;
  • memory: inclui versões compatíveis com C++11 std::make_unique() e gerenciamento de memória;
  • meta: inclui versões compatíveis com C++11 das verificações de tipo disponíveis nas versões C++14 e C++17 da <type_traits> biblioteca C++ ;
  • numeric: inteiros de 128 bits compatíveis com C++11;
  • strings: vários utilitários de string;
  • synchronization: primitivos para cenários de concorrência e abstrações de sincronização.
  • time: abstrações para a utilização de pontos absolutos em datas, durações e timezones.
  • types: tipos utilitários, como uma versão de absl::optional compatível com C++11.

O código está licenciado sob a licença Apache e o código fonte está disponível no Github. E em breve, as bibliotecas Python também serão disponibilizadas.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT