From: boat042-nospam@yahoo.com   
      
   "James K. Lowden" wrote in message   
   news:20120214210425.1cbc8a2e.jklowden@speakeasy.net...   
   > On Tue, 14 Feb 2012 17:24:11 -0800 (PST)   
   > "MikeWhy" wrote:   
   >   
   >> But why, in your fit of enthusiasm, stop with std::vector<>, et al,   
   >> when all of C++11 looms not far behind?   
   > ....   
   >> wonder if you know what you're letting yourself in for,   
   >   
   > Not me, friend. The OP asked for arguments he might use. Those I   
   > provided and you agreed with. :-)   
      
   Indeed. They were all good, cogent reasons.   
      
   > You seem to be saying that 250,000 lines of code relying on any class X   
   > can't easily be changed to use class Y, for logistical reasons.   
      
   I'm saying a project that has homegrown Vector likely has homegrown   
   unique_ptr, lock_guard, and other resource wrappers, all with differences in   
   interface (simple to fix), and subtle or deep differences in nuance of   
   semantics and assumptions (not so simple or direct). String could very well   
   have expectations of CoW, for example. In other words, you're not simply   
   replacing X with Y, but looking at every use of X, and validating and   
   correcting assumptions to conform to Y. The task is exponential with   
   proliferation of all X's that you replace with standard or other Y's.   
      
   > Yes, non-functional change for the sake of standardization or library   
   > adoption is work. But it's not particularly hard, let alone   
   > impossible, not least because the problem is well specified.   
      
   The base assumption is "it ain't broke". This isn't a political belief, but   
   one of pragmatics. And I don't believe you for even a moment that it is   
   "well specified." It *can* be undertaken in phases of strictly limited   
   scope -- replacing Vector with std::vector<>, for example -- but a   
   standardization effort is very much open ended. Even speaking only of   
   vector<>, do you also look for and fix every usage that allocates   
   vector-like constructs?   
      
      
   --   
    [ See http://www.gotw.ca/resources/clcm.htm for info about ]   
    [ comp.lang.c++.moderated. First time posters: Do this! ]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|