В зале, полном экспертов по программному обеспечению, ИТ-специалистов и любителей языка C++, инженер Google выходит на сцену и начинает свою презентацию с вопроса: что будет дальше? С недоумением на лицах некоторые могли подумать: если C++ — один из самых надежных языков программирования в отрасли, а также часть стандарта ISO, почему Google планирует заменить C++ чем-то новым?

Следуя подходу ведущего Чендлера Каррута, где он объясняет, что у многих известных языков программирования есть преемники. Например, замена для Javascript — это Typescript, для Objective-C — swift, а для Java придумали Kotlin. Однако для C++ до сих пор нет способа его заменить.

Это имеет смысл, потому что C++ обладает наилучшей производительностью для высокоуровневого программного обеспечения, с высоким контролем вычислительных ресурсов и скоростью, превосходящей любой другой язык программирования. Но у него есть три сбоя, которые достаточно сложно исправить, для текущего состояния проекта:

  1. Он накапливал десятилетия технического долга, который, несмотря на то, что в то время был хорошим решением, теперь сдерживает прогресс языка. Более того, долг накапливается вместе с техническим долгом C
  2. Обратная совместимость делает процесс исправления технического долга более громоздким.
  3. В рамках стандарта ISO внесение улучшений является медленным и трудным процессом.

В следующей статье мы обсудим стратегию Google по решению текущих проблем C++.