systemshock
systemshock copied to clipboard
Clarify language and targeted standard in README
I've noticed that some recent commits have introduced nullptr
in the codebase and added a C++11 requirement to CMakeLists.txt
(https://github.com/Interrupt/systemshock/commit/e07f23447f04c5726a07eab895e0d7f010aae71c). I think this is great and would welcome even more modern C++ standards, but regardless it needs to be documented in the README as contributors might not be aware that the project is not a C project anymore.
This brings up a good point - do we really want to add support for modern C++ over just straight C? Initially I was pushing back against this change as just being spurious, but if it does open the door to new user facing features like proper UTF-8 support then it's probably a good idea.
I follow people on Twitter who are using the latest GCC to write C++ on the Nintendo 64, so I can't think of an honest argument against it - especially if it leads to cleaner code, useful features, and/or more community engagement.
I would welcome Modern C++ as well, and would be more eager to contribute to the project if I could use C++11/14/17 features. Obviously code reviews should be mandated to avoid feature creep and overengineering, but most C++ features can be used to simplify the code and reduce boilerplate, if not abused.
So, I see here more and more advantages of using C++ over C in project - migrating code to object oriented approach surprisingly will make code more robust and clean. C++17 has very good features such std::filesystem, which can be very useful for us.