
From: Dean Michael Berris <mikhailberis@gmail.com> To: boost@lists.boost.org Sent: Thu, January 27, 2011 1:22:17 PM Subject: Re: [boost] [string] proposal
On Thu, Jan 27, 2011 at 7:06 PM, Artyom <artyomtnk@yahoo.com> wrote:
To all discussing about how to create an "ultimate" string, I'd like to remind you following "ultimate" strings existing there:
Who are these people discussing how to create an "ultimate" string? Oh you mean me who wants to create an "immutable" string?
I hardly called it an "ultimate" string so I think you're throwing a strawman red herring here. At any rate, I'll indulge you.
[snip all the stupid non-ultimate strings quoted]
They're all broken. Is that what you wanted me to say? :D
Then don't call this thread [boost][string] proposal and don't call it boost::string
Why not? If it's different from std::string why wouldn't boost::string be a proper name?
Because as you mentioned below, many things from boost go to std, i.e. shared_ptr, function, bind and many others. So it shouldn't be "string" as C++ already has one.
<emphasis> [snip] I would say exactly that: std::string is broken and it doesn't deserve to be the string implementation that C++ programmers have to use. </emphasis>
You think it is broken, others: - Some think it is fine. - Some think its API may be improved keeping it backward compatible - Some think that algorithms that use string may be improved. - And some do think it is broken
Who gave you the monopoly on what `string` should mean? :P
Nobody gave me a monopoly, however such monopoly had given to C++ standard committee that had defined what string means in C++'s standard namespace. It is fine have other strings but IMHO they should not be called boost::string.
Seriously though, the point is this: Boost has an opportunity to influence some, if not a big part of the C++ community at large. What would be the point of doing another string that everybody else has done before when there's a chance that a different take on it can be potentially better than what's already there?
Different not better as better is a matter of taste - I personally love std::string, especially GCC's implementation with COW.
I mean seriously, the world has flex+yacc -- imagine if Joel thought to himself and said "well, it works, that's fine, but it's ugly and I can deal with it so...
Believe me you don't want to start Spirit vs Yacc+Bison :-)
still the one best implementation of a shared pointer is the one in Boost.
Yes and now it is in Tr1! And if you want string to come to tr1 you need either: 1. Make it fully backward compatible with std::string 2. Call it by different name. My $0.02 Artyom