Skip to main content
5 of 7
Rollback to Revision 3
Neil Butterworth
  • 4.1k
  • 3
  • 25
  • 28

Deprecation considered silly?

I've just been compiling some of my own code with the -std=c++0x flag in GCC, as I want to vaguely keep up with what all the young folks are doing (provided they stay of my lawn), and I ended up with a load of warnings about auto_ptr being deprecated. Of course, I knew that auto_ptr was deprecated in C++0x, but...

Isn't deprecation a waste of time and effort? Reasons for not deprecating anything:

  • there is an ocean of code out there that still needs to be supported, producing millions of warnings will only tempt people to turn warnings off.

  • auto_ptr is a bit naff, but it does actually do what it says on the tin.

  • if we really want to deprecate things, I nominate printf(). But just imagine the squeals that would ensue. auto_ptr doesn't have too many friends, but in at least my C++ code it is used more than printf, which isn't used at all.

  • the committee have a bad record of getting this right - the deprecated static at namespace scope, and now it seems to have been undeprectated - I wouldn't be surprised if auto_ptr made a similar come-back

  • lastly, whatever the committee say, the compiler implementers ignore them - they simply can't risk breaking their customers code, all they can do is issue irritating warnings.

So, anyone else up for an anti-deprecation crusade? More seriously, do you consider deprecation (of anything, not just auto_ptrs, and not just in C++) a good idea, and if so, why?

Neil Butterworth
  • 4.1k
  • 3
  • 25
  • 28