https://github.com/carbon-language/carbon-lang #carbon
Carbon, новый язык от Google(хотя они это, кажется, не афишируют, но их фирменный стайлгайд и сборка на Bazel выдают их с потрохами).
https://news.ycombinator.com/item?id=32153320
Элегантная комбинация синтаксиса от Rust(включая совершенно уебищную модель generic'ов**) + memory safety C++, то есть, кажется, это язык, на котором лично я программировать не буду.
Кажется, это пока больше декларация о намерениях, потому что реального кода самого языка в репозитории довольно мало(https://github.com/carbon-language/carbon-lang/tree/trunk/toolchain).
Собрать это чудо у меня пока не вышло, и не выйдет в ближайшей перспективе, потому что Java и Bazel.
**: да, я считаю, что современные веяния, когда надо явно указывать, какие интерфейсы реализует класс - это очень так себе, duck typing шаблонов в C++ мне кажется куда как более здравым решением. У меня тут есть такое соображение - "клеить" статически типизируемые языки мега-удобно с помощью duck typed прокладки, типа, С + Python, или вот С++ + templates.
Carbon, новый язык от Google(хотя они это, кажется, не афишируют, но их фирменный стайлгайд и сборка на Bazel выдают их с потрохами).
https://news.ycombinator.com/item?id=32153320
Элегантная комбинация синтаксиса от Rust(включая совершенно уебищную модель generic'ов**) + memory safety C++, то есть, кажется, это язык, на котором лично я программировать не буду.
Кажется, это пока больше декларация о намерениях, потому что реального кода самого языка в репозитории довольно мало(https://github.com/carbon-language/carbon-lang/tree/trunk/toolchain).
Собрать это чудо у меня пока не вышло, и не выйдет в ближайшей перспективе, потому что Java и Bazel.
**: да, я считаю, что современные веяния, когда надо явно указывать, какие интерфейсы реализует класс - это очень так себе, duck typing шаблонов в C++ мне кажется куда как более здравым решением. У меня тут есть такое соображение - "клеить" статически типизируемые языки мега-удобно с помощью duck typed прокладки, типа, С + Python, или вот С++ + templates.
GitHub
GitHub - carbon-language/carbon-lang: Carbon Language's main repository: documents, design, implementation, and related tools.…
Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README) - carbon-language/carbon-lang
👍8🤔1
commit -m "better"
Когда я читаю что-то подобное https://habr.com/ru/post/579490/, меня охватывают два чувства: #abi #cplpl_doomed #cppcom 1) Презрение к тем, кто последние 15 лет занимается развитием С++, потому что их коллективный разум не смог родить ничего похожего на …
Кстати, кажется, вполне можно воспринимать #carbon именно вот с этой точки зрения, что, наконец-то, какая-то компания взяла, и решила запилить С++ 2.0 на основе clang, все, как я и заказывал.
(авсратый синтаксис от Rust - дань моде и попытка хайпануть)
#cplpl_doomed
Опять я мастер предсказывать уже произошедшие события!
https://www.reddit.com/r/programming/comments/w2thvo/carbon_an_experimental_c_successor_language/
Утащу комментарий с reddit:
"To give some context, in February of 2020 there was a crucial vote in the C++ standard committee about breaking ABI compatibility in favor of performance, mostly pushed by Google employees.
The vote failed. Consequently, many Googlers have stopped participating in the standardization of C++, resigned from their official roles in the committee, and development of clang has considerably slowed down.
Now, they've revealed that they've been working on a successor language to C++. This is really something that should be taken seriously."
(а
#cplpl_doomed
Опять я мастер предсказывать уже произошедшие события!
https://www.reddit.com/r/programming/comments/w2thvo/carbon_an_experimental_c_successor_language/
Утащу комментарий с reddit:
"To give some context, in February of 2020 there was a crucial vote in the C++ standard committee about breaking ABI compatibility in favor of performance, mostly pushed by Google employees.
The vote failed. Consequently, many Googlers have stopped participating in the standardization of C++, resigned from their official roles in the committee, and development of clang has considerably slowed down.
Now, they've revealed that they've been working on a successor language to C++. This is really something that should be taken seriously."
Reddit
From the programming community on Reddit: Carbon - an experimental C++ successor language
Explore this post and more from the programming community
👍8
#carbon - это какой-то фрод.
Уже 20к звезд на гитхабе, но.
Мне стало интересно, как там выглядят исключения.
Лично я бы надеялся на что-то типа автоматического превращения вызываемой функции в OrError<V, Dyn<std::exception>>, или что-то в таком духе(ну и чтобы pure carbon программа не требовала бы С++ runtime), и даже решил почитать про это design doc.
Увы, меня ждала неудача, все(!) что я нашел, это вот этот вот огрызок:
Короче, это пока даже не декларация о намерениях, это сбор дешевого PR.
Уже 20к звезд на гитхабе, но.
pg-> find . | grep '\.cpp' | wc -lКодогенератором там даже и не пахнет, есть лексер и куски парсера, видимо, для поддержки compiler explorer.
94
Мне стало интересно, как там выглядят исключения.
Лично я бы надеялся на что-то типа автоматического превращения вызываемой функции в OrError<V, Dyn<std::exception>>, или что-то в таком духе(ну и чтобы pure carbon программа не требовала бы С++ runtime), и даже решил почитать про это design doc.
Увы, меня ждала неудача, все(!) что я нашел, это вот этот вот огрызок:
### Support for C++ exceptions without bridge codeПро обработку ошибок в целом тоже ничего интересного не нашел, плохо искал?
Carbon may not provide seamless interoperability support for C++ exceptions. For example, translating C++ exceptions to or from Carbon errors might require annotations or bridge code, and those translations may have some performance overhead or lose information. Furthermore, if Carbon code calls a C++ function without suitable annotations or bridging, and that function exits with an exception, the program might terminate.
Короче, это пока даже не декларация о намерениях, это сбор дешевого PR.
🤡8🤔2👍1🔥1
https://github.com/carbon-language/carbon-lang/discussions/2329
У #carbon все еще нет компилятора, но уже есть "Carbon Language community transparency report".
Пишут, что отреагировали на 60+ "плохих" сообщений на discord. К сожалению, ссылок на сами сообщения нет, поэтому еда не очень годная.
Мое отношение к подобной "мышиной возне" вы и так уже знаете, повторяться не буду, добавлю только, что вот такой вот ебалой проекты надо заканчивать, а не начинать.
У #carbon все еще нет компилятора, но уже есть "Carbon Language community transparency report".
Пишут, что отреагировали на 60+ "плохих" сообщений на discord. К сожалению, ссылок на сами сообщения нет, поэтому еда не очень годная.
Мое отношение к подобной "мышиной возне" вы и так уже знаете, повторяться не буду, добавлю только, что вот такой вот ебалой проекты надо заканчивать, а не начинать.
GitHub
Carbon Language community transparency report through 2022-08-31 · carbon-language/carbon-lang · Discussion #2329
The Carbon community works to be welcoming and kind among itself and to others, with a deep commitment to psychological safety, and we want to ensure that doesn’t change as we grow and evolve. To t...
🤡20👍3😁1💩1🍌1
https://www.opennet.ru/opennews/art.shtml?num=58472
Пишут, что в Chromium можно в Rust.
Новость, конечно, не очень приятная!
Я люблю, когда на Rust переписывают какую-то кодину на C, но вот сочетание Rust + C++ мне не очень ОК. Потому что С++ достаточно безопасен, настолько, что проблемы от взаимодействия 2 языков перевешивают профит. Про такую попытку Гугла использовать Rust в С++ кодовой базе я уже писал - #cras.
"Для упрощения интеграции кода на Rust с существующим кодом на C++ и обхода связанных с интеграцией рисков и ограничений, в настоящее время решено ограничиться однонаправленным взаимодействием - обращением из С++ к Rust (т.е. код на Rust может лишь вызываться из кода C++ через функции API, но не смешиваться с кодом на C++), что также даст возможность держать под контролем дерево зависимостей. Вторым ограничением является поддержка только сторонних библиотек, поставляемых в форме отдельных компонентов, не привязанных к Chromium и имеющих API, ориентированный на выполнение конкретных задач"
Пока мне кажется, что это такой эксперимент, и что эти правила позволяют затащить какой-то кодек на Rust, или вот librsvg. Вполне возможно, что этим все и ограничится, как двумя файликами "для галочки" в #cras.
И еще такой вопрос - а что с #carbon?
Кажется, что Rust тут пытается откушать как раз нишу #carbon, и это довольно странно. Carbon все?
Пишут, что в Chromium можно в Rust.
Новость, конечно, не очень приятная!
Я люблю, когда на Rust переписывают какую-то кодину на C, но вот сочетание Rust + C++ мне не очень ОК. Потому что С++ достаточно безопасен, настолько, что проблемы от взаимодействия 2 языков перевешивают профит. Про такую попытку Гугла использовать Rust в С++ кодовой базе я уже писал - #cras.
"Для упрощения интеграции кода на Rust с существующим кодом на C++ и обхода связанных с интеграцией рисков и ограничений, в настоящее время решено ограничиться однонаправленным взаимодействием - обращением из С++ к Rust (т.е. код на Rust может лишь вызываться из кода C++ через функции API, но не смешиваться с кодом на C++), что также даст возможность держать под контролем дерево зависимостей. Вторым ограничением является поддержка только сторонних библиотек, поставляемых в форме отдельных компонентов, не привязанных к Chromium и имеющих API, ориентированный на выполнение конкретных задач"
Пока мне кажется, что это такой эксперимент, и что эти правила позволяют затащить какой-то кодек на Rust, или вот librsvg. Вполне возможно, что этим все и ограничится, как двумя файликами "для галочки" в #cras.
И еще такой вопрос - а что с #carbon?
Кажется, что Rust тут пытается откушать как раз нишу #carbon, и это довольно странно. Carbon все?
www.opennet.ru
В кодовой базе Chromium разрешено использование языка Rust
Компания Google объявила о включении языка программирования Rust в число языков, допустимых в коде проекта Chromium. Существующий код пока не планируют переписывать на Rust, но отныне будет разрешена интеграция в кодовую базу сторонних библиотек, написанных…
👍8💔3🤔2
commit -m "better"
https://github.com/carbon-language/carbon-lang/discussions/2329 У #carbon все еще нет компилятора, но уже есть "Carbon Language community transparency report". Пишут, что отреагировали на 60+ "плохих" сообщений на discord. К сожалению, ссылок на сами сообщения…
Тут вот github подогнал сразу 2 текста про #carbon:
* Конечно же, уже привычный transparency report! https://github.com/carbon-language/carbon-lang/discussions/2556
* Текст про то, что не то чтобы кодить не начали, но еще и сам язык продумать не успели! https://github.com/carbon-language/carbon-lang/blob/trunk/proposals/p2551.md#retrospective-on-2022
Вместе эти два текста смотрятся особенно хорошо, да.
Видимо, одновременно работу работать и права защищать - не получается!
* Конечно же, уже привычный transparency report! https://github.com/carbon-language/carbon-lang/discussions/2556
* Текст про то, что не то чтобы кодить не начали, но еще и сам язык продумать не успели! https://github.com/carbon-language/carbon-lang/blob/trunk/proposals/p2551.md#retrospective-on-2022
Вместе эти два текста смотрятся особенно хорошо, да.
Видимо, одновременно работу работать и права защищать - не получается!
GitHub
Carbon Language community transparency report through 2023-01-25 · carbon-language/carbon-lang · Discussion #2556
The Carbon community works to be welcoming and kind among itself and to others, with a deep commitment to psychological safety, and we want to ensure that doesn’t change as we grow and evolve. To t...
😁9🔥2
commit -m "better"
Тут вот github подогнал сразу 2 текста про #carbon: * Конечно же, уже привычный transparency report! https://github.com/carbon-language/carbon-lang/discussions/2556 * Текст про то, что не то чтобы кодить не начали, но еще и сам язык продумать не успели!…
https://github.com/carbon-language/carbon-lang/discussions/2807
#carbon
Очередной transparency report, а вы чего ждали? Кода?
#carbon
Очередной transparency report, а вы чего ждали? Кода?
GitHub
Carbon Language community transparency report through 2023-03-31 · carbon-language/carbon-lang · Discussion #2807
The Carbon community works to be welcoming and kind among itself and to others, with a deep commitment to psychological safety, and we want to ensure that doesn’t change as we grow and evolve. To t...
🤡15😁10🐳4
commit -m "better"
https://github.com/carbon-language/carbon-lang/discussions/2807 #carbon Очередной transparency report, а вы чего ждали? Кода?
Проект #carbon продолжает нас радовать кодом лулзами своими transparency reportами - https://github.com/carbon-language/carbon-lang/discussions/3615
Ждем, надеемся.
GitHub
Carbon Language community transparency report through 2023-12-31 · carbon-language/carbon-lang · Discussion #3615
The Carbon community works to be welcoming and kind among itself and to others, with a deep commitment to psychological safety, and we want to ensure that doesn’t change as we grow and evolve. To t...
🤡14😁7🐳5
commit -m "better"
Проект #carbon продолжает нас радовать кодом лулзами своими transparency reportами - https://github.com/carbon-language/carbon-lang/discussions/3615 Ждем, надеемся.
Смотрите, что Google пишет про #carbon:
https://security.googleblog.com/2024/03/secure-by-design-googles-perspective-on.html
"We see no realistic path for an evolution of C++ into a language with rigorous memory safety guarantees that include temporal safety"
"A large-scale rewrite of all existing C++ code into a different, memory-safe language appears very difficult and will likely remain impractical"
https://security.googleblog.com/2024/03/secure-by-design-googles-perspective-on.html
"We see no realistic path for an evolution of C++ into a language with rigorous memory safety guarantees that include temporal safety"
"A large-scale rewrite of all existing C++ code into a different, memory-safe language appears very difficult and will likely remain impractical"
Google Online Security Blog
Secure by Design: Google’s Perspective on Memory Safety
Alex Rebert, Software Engineer, Christoph Kern, Principal Engineer, Security Foundations Google’s Project Zero reports that memory safety v...
😁11👍9🆒4