2 ms·
3 things this year for me - CMake, Rust, and Vulkan. CMake is probably the only thing I can say I really "learned" during 2018, as I spent a lot of time rework
by Teknoman117 8y ago
3 things this year for me - CMake, Rust, and Vulkan.
CMake is probably the only thing I can say I really "learned" during 2018, as I spent a lot of time reworking the build system where I work to use "Modern CMake". We manage a large cross platform code base and it had been bugging me that there were platform specific projects that had to be updated every time we added code (that had poor documentation of what random settings were made in some random subdialog of visual studio). Still hard pressed to convince the team of mostly Windows developers to give up their Visual Studio projects, but hey, if you choose to use CMake you can compile it for all of our supported platforms. The multiplatform CMake implementation is now actually smaller than the original single platform one, and a heck of a lot easier to read. Although, I do understand from their perspective that a CMake generated visual studio project is pretty ugly compared to a hand crafted one.
I spent a few weeks toying with Vulkan and have wrapped my brain around how it works (as a long time OpenGL developer). Not to the point where I could write it without the reference manual, but I can reason about problems with it.
I also spent a few weeks looking into Rust. Definitely on my list of things to spend real time on in 2019. I read enough to begin to understand how the borrow checker works, so I've spent time thinking about how to solve various problems I come across using that model. It's certainly affected how I write C++, much to the annoyance of my coworkers ("why don't use just pass a bare pointer? I don't want to read all this std::unique_ptr / std::move stuff!").