Boost logo

Boost :

Subject: Re: [boost] [string] proposal
From: Dean Michael Berris (mikhailberis_at_[hidden])
Date: 2011-01-27 06:22:17

On Thu, Jan 27, 2011 at 7:06 PM, Artyom <artyomtnk_at_[hidden]> 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

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.

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

Boost list run by bdawes at, gregod at, cpdaniel at, john at