-
-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Require C++11? #32
Comments
I reluctantly added C++11 support to my JPCRE2-utilizing codebase (https://github.com/wbraswell/rperl) a few years ago, but only after extensive researching & development which proved the necessity of doing so. In other words, I only added C++11 support because I had no choice. The reason for this is simple but critical: backward compatibility. My code will no longer work on systems which do NOT support C++11, whether it is because the operating system is outdated or perhaps the administrator purposefully configured the OS without C++11 for whatever unknown reasons. If JPCRE2 does not explicitly require C++11 features to work properly, then I believe the answer is no, we should NOT require C++11. It will not give us any benefit but will inevitably cause JPCRE2 to stop working on some non-C++11 systems. |
@wbraswell Fine, but for how long? For example, the GNU Coding Standards dropped material specific to K&R C only a few years ago, which seems excessive backwards compatibility. I have assumed C99 to be a reasonable default in my projects for 5 years; that too seems rather conservative. No currently-supported GNU/Linux distro that I'm aware of lacks C++11 support, and I believe the same is true of macOS; I'm not sure about Windows. I'm aware there are other OSes, too! Looking at https://en.cppreference.com/w/cpp/compiler_support one can see that more-or-less full C++11 support requires GCC 5, Clang 3.8, and MSVC 2015. |
Backward compatibility should be maintained for as long as possible. |
C++11 support seems to be pretty much ubiquitous in deployed systems now; would it be reasonable to require it? I would be happy to provide a patch.
The text was updated successfully, but these errors were encountered: