ISO draft international standard for latest version of C++ has been approved and expands on features introduced in C++11 C++14, the newest draft standard for the C++ language, has been approved and is now set to be published later this year. “We have CPP++14!” proclaims the title of a blog post at IsoCPP.org, the website for the Standard C++ Foundation, which claims that delivery of C++14 was “the fastest turnaround for a new standard in the history of C++.” The post also boasts another first for C++, namely “multiple substantially or entirely conforming implementations (modulo bugs) of C++14 available already today or in the near future — at the same time time C++14 is published.” In other words, people don’t have to wait for development tools to catch up to the standard before being able to use it, barring whatever minor changes are made to C++14 between now and publication. The changes C++14 brings to the language are minor but numerous, and many of them are designed to expand on the previous version of the C++ standard. That version, C++11, introduced mostly minor and incremental changes to the language, but they were designed to bring unity to features that until then had been provided in nonstandard ways. Of chief interest was the way thread-level and lock-free concurrency were handled — a topic of major interest to the systems programmers that have become C++’s main users. Also new to C++11 was lambdas, a feature that’s now a mainstay among other widely used languages and was recently added to Java 8. C++14 polishes those features and adds a few more. Lambdas, for instance, can be now be expressed generically — typical in other languages that use lambdas. “Constexpr,” a way for functions to be evaluated at compile time, can now contain a broader range of instructions and consequently are a little more powerful. And support for some user-defined literals are now available in the standard library, although at this point only for strings and time intervals. After C++ creator Bjarne Stroustrup designed the language in 1979 — it was originally called “C with Classes” — it became widely used by systems programmers and platform-native developers writing apps where performance was the order of the day. But for some time, other languages have been gaining ground on C++ in systems and apps. Mozilla has its Rust low-level programming language, which is being used to create a next-generation browser engine, among other items. Google’s Go language is designed for building systems software, with native features for creating highly distributed and concurrent applications. And the rise of languages like Python and JavaScript, which allow for faster software development by eschewing the type safety and sheer speed of C++, has produced app cultures that might not have been possible under the formalism of C++. Despite all this, Stroustrup remains confident that C++ will continue to thrive, thanks to its speed and breadth of support — both with programmers and with the standards body that pushes it forward. “People have been predicting its demise quite enthusiastically for more than 20 years,” he told InfoWorld last week, “but it’s still growing. Basically, nothing that can handle complexity runs as fast as C++.” This story, “C++14 is done — here’s what’s new,” was originally published at InfoWorld.com. Get the first word on what the important tech news really means with the InfoWorld Tech Watch blog. For the latest developments in business technology news, follow InfoWorld.com on Twitter. Related content feature What is Rust? Safe, fast, and easy software development Unlike most programming languages, Rust doesn't make you choose between speed, safety, and ease of use. Find out how Rust delivers better code with fewer compromises, and a few downsides to consider before learning Rust. By Serdar Yegulalp Nov 20, 2024 11 mins Rust Programming Languages Software Development how-to Kotlin for Java developers: Classes and coroutines Kotlin was designed to bring more flexibility and flow to programming in the JVM. Here's an in-depth look at how Kotlin makes working with classes and objects easier and introduces coroutines to modernize concurrency. By Matthew Tyson Nov 20, 2024 9 mins Java Kotlin Programming Languages analysis Azure AI Foundry tools for changes in AI applications Microsoft’s launch of Azure AI Foundry at Ignite 2024 signals a welcome shift from chatbots to agents and to using AI for business process automation. By Simon Bisson Nov 20, 2024 7 mins Microsoft Azure Generative AI Development Tools news Microsoft unveils imaging APIs for Windows Copilot Runtime Generative AI-backed APIs will allow developers to build image super resolution, image segmentation, object erase, and OCR capabilities into Windows applications. By Paul Krill Nov 19, 2024 2 mins Generative AI APIs Development Libraries and Frameworks Resources Videos