This is the mail archive of the
cygwin-talk
mailing list for the cygwin project.
RE: Why I love C++ so much.
On 22 February 2008 16:14, Igor Peshansky wrote:
> On Fri, 22 Feb 2008, Danilo Turina wrote:
>
>> Corinna Vinschen wrote:
>>> On Feb 21 05:26, Warren Young wrote:
>>>> Corinna Vinschen wrote:
>>>>> Really? Show me an example which isn't much harder to understand than
>>>>> the equivalent C code.
>>>> template <class T>
>>>> std::string foo(const T& x)
>>>> {
>>>> std::ostringstream outs;
>>>> outs << x << and << maybe << other << stuff;
>>>> return outs.str();
>>>> }
>>>>
>>>> (Aside: This looks pointlessly trivial, but it's a simplified version of
>>>> real code in MySQL++ (http://tangentsoft.net/mysql++/). It would just
>>>> muddy the waters to talk about the reason MySQL++ does this.)
>>>>
>>>> To do that with C functions (maybe strto*() instead of printf()) you'd
>>>> have to create a set of template specializations for every T you know
>>>> about to call the right C function with the right arguments. Any time
>>>> you add to the list of supported T's, you have to add template
>>>> specializations.
>>>
>>> Argh. Using templates as an example for simplicity is somewhat daring.
>>> Templates, liberally used, are a good way to make code unreadable.
>>>
>>> IMHO.
>>>
>>> FWIW.
>>>
>>> YMMV.
>>>
>>> YMCA.
>
> "Young men, no need to feel down"... That brings back memories. :-)
Didn't bring back the memory of the word "there's", I note!
>> C++ is like Unix, people that don't like it is because they don't
>> understand it.
>
> C++ is for people who want to be able to not just shoot themselves in the
> foot, but do it with a rocket launcher. Unix allows one to throw a
> grenade under their own feet. So yes, they are very similar.
But it wasn't a rocket-launcher when I picked it up, it was a bar of soap,
it only overloaded itself into a rocket launcher when I tried to wash my feet
with it instead of my hands!
cheers,
DaveK
--
Can't think of a witty .sigline today....