Язык Go развивается для будущих аппаратных средств и рабочих нагрузок ИИ
Команда Go работает над адаптацией Go к большим многоядерным системам, новейшим аппаратным инструкциям и потребностям разработчиков крупномасштабных систем ИИ.

Фонд Rust Foundation только что опубликовал заявление о совместимости Rust и C++, и Google выделила 1 доллар на то, чтобы это было сделано.
Есть песня Роджерса и Хаммерстайна под названием The Farmer And The Cowman с первыми строчками:
Фермер и корова должны быть друзьями,
О, фермер и корова должны быть друзьями.
Один любит толкать плуг, другой - гнать корову.
корову,
Но это не причина, почему они не могут быть друзьями.
И далее объясняются различия между ними до такой степени, что в конце концов вы просто должны прийти к выводу, что они должны быть смертельными врагами.
Так и с программистами на Rust и C++. Программисты Rust любят расширять границы проверки заимствований, а программисты C++ любят гоняться за ошибками. Главное, что в этих двух лагерях действительно много неприязни друг к другу. Давайте посмотрим правде в глаза, ребятам из C++ есть что терять и над чем работать, чтобы присоединиться к ребятам из Rust.
Так почему бы не работать вместе и не разграничить понятия?
В этом, вроде как, и пытается убедить нас анонс:
Инициатива признает, что и C++, и Rust играют важную роль в будущем системного программирования. Несмотря на то, что оба языка отлично работают в схожих областях, их эффективное совместное использование крайне важно для организаций, стремящихся найти баланс между безопасностью, производительностью и ремонтопригодностью. Основная проблема заключается в разработке зрелого, стандартизированного подхода к взаимодействию C++ и Rust, несмотря на историческую ориентацию Rust на совместимость с C.
План действий выглядит следующим образом:
«Взаимодействовать с сообществом и комитетом C++», ну что ж, удачи вам!
На более фундаментальном уровне здесь предлагается определить интерфейс иностранных функций (Foreign Function Interface, FFI) и некоторые инструменты, которые можно использовать для создания проектов на смешанных языках. Есть несколько существующих крейтов, которые позволяют Rust вызывать C и C вызывать Rust, но у них есть свои проблемы.
Предложение состоит в том, чтобы использовать C ABI (Application Binary Interface) для определения передачи данных между двумя языками. Это вполне логично, но означает, что оба языка должны прокладывать себе путь через сужение C ABI. Кроме того, существует проблема, связанная с тем, что соединение между двумя языками может привести к появлению небезопасного кода с обеих сторон соединения.
Проблема совместимости между любыми двумя языками обычно сводится к сопоставлению типов данных между ними, которое часто называют маршалингом. Сам по себе маршалинг не сложен, и есть множество примеров его применения - Python на C, C# на C и так далее - но в данном случае мы ищем что-то простое в использовании и безопасное. Хотелось бы посмотреть, как будет решаться проблема псевдонимов в C, не говоря уже об указателях вообще!
Одно очевидно. Для достижения этой цели потребуются программисты, владеющие обоими языками на исключительном уровне.
Команда Go работает над адаптацией Go к большим многоядерным системам, новейшим аппаратным инструкциям и потребностям разработчиков крупномасштабных систем ИИ.
Постановка задачи - решить проблемы, связанные с тем, как сделать межъязыковую разработку на C++ и Rust более доступной и понятной.
Для следующей версии Java предлагается 21 функция, включая функции квантовоустойчивой криптографии, предназначенные для защиты Java от будущих атак квантовых вычислений.