Paul Krill
Editor at Large

C++ 20 spec finalized, C++ 23 spec begins

news
Feb 24, 20202 mins

C++ upgrade due in 2023 will prioritize standard library modules, coroutines, executors, reflection, pattern matching, and contracts

start-finish road signs point in opposite directions / stages / order / sequencing
Credit: Gustavo Frazao / Getty Images

The C++ language is moving forward on two different fronts. With the C++ 20 specification done and awaiting final approval, the ISO committee behind the language has begun plotting a successor C++ 23 release, which would prioritize a modular standard library.

The ISO C++ Committee earlier this month voted to send the Draft International Standard of C++ 20 out for final approval and publication, due later this year. Highlights of C++ 20 include modules, concepts, coroutines, and ranges. C++ 20 was deemed feature-complete last year. C++ 23 is due to be finalized in 2023.

The priorities for C++ 23 include:

  • Finishing work begun in C++ 20 to support standard library modules and coroutines. The former will enable programmers to use the standard library through modules, while the latter will enable them to easily use coroutines with futures and other common types out of the box.
  • The addition of executors, and a networking library that relies on executors, to the standard library.
  • Reflection including introspection to query the program, compile-time programming to manipulate results, and generation to inject.
  • Pattern matching to improve type safety and make it easier to write type-safe code.
  • A redesign of contracts.

Recent additions to C++ 20 include improving the context-sensitive recognition of “import” and “module” to allow non-compiler tools such as build systems to determine build dependencies. Several rangified algorithms were added, as well. Issues to the open core language and library were resolved, also.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author