User forums > General (but related to Code::Blocks)
c++11
oBFusCATed:
--- Quote from: mistar on October 15, 2013, 10:57:59 am ---Ok, a little bit offtopic, but I hope C::B will be going in right direction :)
--- End quote ---
But why would you care as a user of C::B about C++11?
C++11 in C::B will make a difference to you, only if you plan to contribute to C::B, is this the case?
If it is will forcing C++98 stop you from doing so?
Move semantics won't make a big difference to wxString, because it is reference counted, at least in 2.8.
wx 3.0 has some C++11 support.
thomas:
I'd be the first to use C++11, not so much for the alleged performance advantages of move semantics (which are pretty much non-existent in reality, and in most cases people get them wrong and actually make code slower), but for the easier syntax.
However, we have at least one developer who is still using GCC version 3.3 or 3.4 (I forgot which) as well as some users with some exotic embedded architectures. Therefore it's unlikely that this is going to happen any time soon.
oBFusCATed:
--- Quote from: thomas on October 15, 2013, 12:49:11 pm ---...who is still using GCC version 3.3 or 3.4...
--- End quote ---
We require GCC 4.0 (C++ TR1) for quite awhile, so I doubt you're correct.
killerbot:
if people prefer to use linux distros which have a very conservative approach on updates of packages, then that is a fair choice.
However such things should not block improvements and innovation.
When we continue this conservative approach our-self, we will be stuck to old C++ for another decade.
Several of those linux distros are for server purposes, less for personal development.
So there is a balance somewhere, and for sure no aggressive dictatorship claiming to revert any commit with c++11, that's just an opinion like any other, a valid opinion at this time.
But any day the strategy can change, and should not be blocked by some Redhat or Centos, then those just use old packages, or are no longer usable as a development platform. And as said more modern C++ compilers can be installed on them, even if they are not the system compiler they can be used to build CB, the only problem might be ABI non compatible on for example wxwidgets.
Don't forget that the majority of our users don't build Cb them selves(they don't even use linux). so building CB is cb developers and plug-in developers territory.
If we as developers obstruct innovation, we should reconsider, since that is no good, as C++IDE we should guide and lead the way :
- by supporting the C++1 features for the users (like code completion)
- by giving example in our own code, through using it
Today is not switching time yet, but conservative distros (for good reasons in their use cases) should not hold us back.
So please all, be open minded, there is no black or white, it it some shade of gray ;-)
As for linux, most 'modern' distros will be within the next couple of months be on 4.8.1, which now even has the library regex support ready. Which are nice forecasts, bumping the "majority" of the linux users on a C++11 compliant compiler. At that time the balance might need to be re-evaluated.
mistar:
--- Quote from: oBFusCATed on October 15, 2013, 11:15:33 am ---But why would you care as a user of C::B about C++11?
C++11 in C::B will make a difference to you, only if you plan to contribute to C::B, is this the case?
If it is will forcing C++98 stop you from doing so?
--- End quote ---
It doesn't stop me, but it would make my plugin sources less clear and so worse maintainable.
--- Quote from: oBFusCATed on October 15, 2013, 11:15:33 am ---Move semantics won't make a big difference to wxString, because it is reference counted, at least in 2.8.
wx 3.0 has some C++11 support.
--- End quote ---
Refcounting and copy-on-write isn't thread-safe and many plugins use threads (my SemanticHighlight plugin for example).
wxString in wx 2.9 uses std::(w)string under the hood which is not refcounted and has move semantic implemented in C++11.
This is more clean IMHO (and move semantics works well in case of moving/copying large parts of sources).
Anyway, let me repeat: these are wxWidgets problems, not C::B, but C::B might benefit from this a lot.
Also killerbot is right: if you wish to have modern C++ IDE, you have to support writing C++11 code.
Of course this is completely different from C++11 as C::B implementation language :)
As for support for writing C++11 code, bear in mind that Clang has full support for C++11 now, so code completion and static analysis (to build source tree for example) are almost for free.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version