LINUX.ORG.RU

Представлен Abseil Common Libraries для C++

 


0

3

https://github.com/abseil/abseil-cpp

Попытка гугла расширить C++ std/создать свой boost (но маленький, ибо всего 40KLOC). Заодно и портировать многие фичи C++14/17 в 11.

TL;DR: очередная попытка исправить C++, не смотря на вой фанбоев о том, что всё и так хорошо.

Но проблемы начинаются уже с README:

  • code style не соответствует стилю std - используется Pascal Case
  • система сборки - bazel, которая ну очень малопопулярна
  • документация в странном стиле, не doxygen/qdoc
  • исключений фактически нет и они опциональны

В целом ничего нового. Всё это уже давно есть в boost/QtCore.

★★★★★

Последнее исправление: RazrFalcon (всего исправлений: 2)

code style не соответствует стилю std - используется Pascal Case

Тьфу. Из всех фиговых выбрали самый мерзкий. А ведь нам это в своем коде использовать (по крайней мере они так предполагают)...

система сборки - bazel, которая ну очень малопопуляр

Походу скоро будет и CMake: https://github.com/abseil/abseil-cpp/pull/8

документация в странном стиле, не doxygen/qdoc

Ну хоть что-то есть. В принципе можно читать и так.

исключений фактически нет и они опциональны

Типичный Google

KennyMinigun ★★★★★
()

Попытка гугла расширить C++ std/создать свой boost (но маленький, ибо всего 40KLOC). Заодно и портировать многие фичи C++14/17 в 11.

Не свой boost, это обычная практика для больших компаний иметь свой STL. Многие вещи в таких библиотеках написаны задолго появления их в бусте. 40к строк очевидно что остальное не успели отцепить от внутренних зависимостей. Вот тебе еще пример https://github.com/facebook/folly

code style не соответствует стилю std - используется Pascal Case

Этому коду может быть 19 лет. Еще один пример https://github.com/catboost/catboost/tree/master/util

система сборки - bazel, которая ну очень малопопулярна

Странно, да? Гугл опенсорсит часть свое STL и для сборки использует свою же систему.

документация в странном стиле, не doxygen/qdoc

Ну тут то можно было включить мозг? У гугла все свое, зачем им заниматься переносом под опенсорсные проекты?

исключений фактически нет и они опциональны

Ты стайлгайд гугловый читал?

xpahos ★★★★★
()
Последнее исправление: xpahos (всего исправлений: 1)
Ответ на: комментарий от xpahos

это обычная практика для больших компаний иметь свой STL. Многие вещи в таких библиотеках написаны задолго появления их в бусте. 40к строк очевидно что остальное не успели отцепить от внутренних зависимостей. Вот тебе еще пример https://github.com/facebook/folly

Интересно, что «своя STL» беззастенчиво использует стандартную (включая контейнеры). И еще Boost.

tailgunner ★★★★★
()

Годная либа. Но:

а) Дебильный гугловский стиль в именах методов и классов;

б) apache2 для такого проекта — слишком жирно;

г) свои примитивы синхронизации.

В любом серьёзном проекте на C++ такого добра навалом. Всё не так вылизано, ессно. Дык, ото ж — гугл. У них денюжков — вагон...

Общем, ни юзать, ни контрибьютить ну никак не тянет. Очередная вендорская закрытая библиотечка, не более.

Macil ★★★★★
()

система сборки - bazel, которая ну очень малопопулярна

На систему сборки — похрен. Вещи такого рода используются в исходниках.

Macil ★★★★★
()
Ответ на: комментарий от tailgunner

Интересно, что «своя STL» беззастенчиво использует стандартную (включая контейнеры). И еще Boost.

И то и другое частенько присутствует потому, что во внешнем мире довели реализацию какой-либо части до уровня, который подходит компании. Даже просто переименование одного класса, который используется в огромной кодовой базе очень затратное телодвижение. Поэтому мигрируют постепенно, подстилая соломку.

xpahos ★★★★★
()
Ответ на: комментарий от xpahos

Или не мигрируют.

Мигрируют, мигрируют

Если ты так говоришь - конечно, мигрируют.

Думаешь зачем РГ21 создали?

Ты такой загадочный. Ну, WG21 создана для разработки стандартов C++. И какое отношение это имеет к миграции Folly с STL?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Ты такой загадочный. Ну, WG21 создана для разработки стандартов C++. И какое отношение это имеет к миграции Folly с STL?

Извини, я неправильно выразился. Российскую часть как раз создали чтобы влиять на процесс стандартизации. Все подробности рассказать не могу, процесс как раз сводится к тому чтобы не костылять свой STL(folly, гугловый, наш, EA, etc).

xpahos ★★★★★
()
Ответ на: комментарий от xpahos

Российскую часть как раз создали чтобы влиять на процесс стандартизации. Все подробности рассказать не могу

Недавно ты утверждал, что:

xpahos> обычная практика для больших компаний иметь свой STL. [...] Вот тебе еще пример https://github.com/facebook/folly

Сейчас ты говоришь, что Яндекс пытается участвовать в стандартизации Си++. Ну окей, а в огороде растет бузина.

чтобы не костылять свой STL(folly, гугловый, наш, EA, etc).

Если для тебя Folly и EA STL - одно и то же, тогда ой.

tailgunner ★★★★★
()

ну, выложили свою корпоративную поделку. может, найдутся на неё любители. но вряд ли.

Iron_Bug ★★★★★
()
Ответ на: комментарий от tailgunner

Да, конечно пытается учавствовать, чтобы не приходилось пилить свои велосипеды, а иметь все в стандарте.

С EA плохой пример, да. Не знаю зачем приплел :)

xpahos ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.