
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? If I think *I* can muster the courage to say "strings should be done this way" why on earth wouldn't I call that a string? :D <emphasis> If you were to ask *me* and *me alone*, of course *I* think that *my* vision for boost::string *should* be the way strings are dealt with. Of course that's ego-maniacal and self-centered of me to say so, but if I had to be explicit about it and take a position 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> So why would I not want to call it boost::string? ;)
Maybe boost::immutable_string - which is fine, but not string.
Who gave you the monopoly on what `string` should mean? :P 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? 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... forget this funky EDSL for generating parsers in C++" then I personally would think the world would be a really sad place without Spirit. There's also the MPL, people were getting by with just runtime polymorphism and OOP goodness when some enterprising people thought about a different way of doing it and doing computations at compile time. There are lots of examples of these in the Boost libraries -- I am always surprised that the smart pointers have been written about ad nauseam by countless journalists and book authors and still the one best implementation of a shared pointer is the one in Boost. With peace and love in my heart, I HTH :) -- Dean Michael Berris about.me/deanberris