systemshock icon indicating copy to clipboard operation
systemshock copied to clipboard

Clarify language and targeted standard in README

Open vittorioromeo opened this issue 5 years ago • 4 comments

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.

vittorioromeo avatar Aug 09 '19 12:08 vittorioromeo

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.

Interrupt avatar Aug 14 '19 17:08 Interrupt

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.

HunterZ avatar Aug 15 '19 01:08 HunterZ

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.

vittorioromeo avatar Aug 15 '19 15:08 vittorioromeo

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.

winterheart avatar Jan 20 '20 08:01 winterheart