C!! — A C++ Variant For High Performance Programming (aka C bang bang)
So for a while now I’ve been talking about designing my own variant of C++ for videogames (in particular), but also for software development in general that targets heavy SIMD instruction use, is highly cache aware, and can be used to target specific processor architectures at compile time. The idea is to throw away some of the cruft from C++, and bring in some new features.
I started thinking about this in 2009 (the elements had all been there as far back as 2006, as I’d have long discussions with John Cuyle when we worked at Surreal about language design, and how C++ was basically hitting a wall unless it evolved – some of the features I wanted were really language features). I had a few discussions with Rebecca Heinemann, Adam Schaeffer, Kev Gee and David Tuft when we worked together in ATG about it, and Jason Weiler as well. And for a while I just let it simmer. About 5 years.
Some of this was spurred on by Jonathan Blow’s recent talk where he discussed some ideas that cross its path, and more still by Mike Acton’s recent CppCon talk. So I think it’s an idea whose time has come.