Boost logo

Boost :

Subject: Re: [boost] 5 Observations - My experience with the boost libraries
From: David Bergman (David.Bergman_at_[hidden])
Date: 2010-03-23 19:39:47


On Mar 23, 2010, at 7:21 PM, Tom Brinkman wrote:

> Those of us that started out learning C++ before ever learning C, have had
> to do lots of backfilling.

I assume too much from my own experience, as do you. The truth is probably found in between. I *think* it is safe to say that most (self-proclaimed is sufficient for now...) masters of C++ used to be a "typical C developer" a decade or two ago, no?

> By learning C, what I mean is getting really good at pointer manipulations
> and managing memory yourself.

I assumed most intermediate C++ developers (and above) were very familiar with stacks (and stack frames) and (most common implementations of) heaps. You do not think they are? I am not talking but people who have developed in VB for over six years and then suddenly, after having used VB.NET for almost two years, get dragged into an MFC project, since they "know GUI programming" :-)

> C++ encourages all sorts of programming practices that I wish I never
> learned and have never been very useful to me as a programmer.

Repeating the request of many others: can you provide an example?

> Sorry to say, but as a graphics programer, C++ is practically useless. Its
> all C.

Ah, I had no idea that it had become that bad. I used to be a graphics programmer (you know, building my own 3D and physics engines, using lots of other game and 3D engines) in the good old days, when men had hair on their knuckles, and it was actually quite a lot of C++. What kind of graphics programming do you do, if I may ask?

> However, I'm originally a C++ developer, and i'm still a boost/C++
> supporter.

Yes, you are. What strikes me as confusing is that you use MPL regularly yet get a bit frustrated over too many (and probably too deep...) templates. A person who uses MPL regularly surely must appreciate the beauty of Boost (and of C++) relative the most common C libraries? APR, NSPR, all those parameters and "foo_t *another_struct" everywhere...

> For Boost to remain relevent, it needs to reflect the reality of modern
> development. That is most projects are mixed C/C++ projects. The needs of
> both communities need to be met.
>
> Because boost only meets the needs of C++ developers, it will continue to
> loose relevance.

Boost is a C++ library framework. That is true. It has already lost its relevance among Rubyists. Yes, I know that "C" has a special status among "native developers." Of course. It is the lingua franca for what I previously called 'glue' between components. The mere fact that C++ has its roots in C should not make it less of a distinct and autonomous language than, say, D, which also makes use of a lot of C libraries. Would you argue the same points for a D-specific library?

> I'm just saying what people are thinking.

I believe you, with the tacit assumption that you mean "you" by your use of "people."

/David

>
>
>
> On Tue, Mar 23, 2010 at 4:03 PM, David Bergman <
> David.Bergman_at_[hidden]> wrote:
>
>> Sometimes it feels like Linus has a lot of aliases on these lists ;-)
>>
>> I especially liked the - partly retracted, admittedly - statement that C++
>> developers have a lot to learn from the typical C developer, but probably
>> not the other way around. Especially in the light of the typical C++
>> developer often having been a typical C developer 7 years earlier. And most
>> master C++ developers having been typical C developers 14-22 years ago.
>>
>> The only point with which I agree is those ugly macros. Yes, I know why we
>> need them, but they are still ugly. BUT, PP is a splendid engineering effort
>> (in retrofitting the C++ preprocessor for tasks it was not meant to handle.)
>>
>> Boost is the only set of libraries in a "conventional" language that do as
>> I think, which is why it is good :-)
>>
>> /David
>>
>> On Mar 23, 2010, at 6:48 PM, Emil Dotchevski wrote:
>>
>>> On Tue, Mar 23, 2010 at 2:43 PM, Tom Brinkman <reportbase2007_at_[hidden]>
>> wrote:
>>>> In any event, my point is that c++ exception handeling should be
>> optional.
>>>> Boost libraries need to be updated to reflect this.
>>>
>>> Look at the design of C++ constructors: the postcondition of a
>>> constructor is that the object instance is initialized successfully.
>>> Had Stroustrup listened to people arguing about "optional" exception
>>> handling, the C++ constructors would have been useless because they
>>> wouldn't have that postcondition.
>>>
>>> It is the same with any other use of exceptions. Make them optional,
>>> and you throw away the *only* reason to use them in the first place:
>>> to enforce postconditions.
>>>
>>> Emil Dotchevski
>>> Reverge Studios, Inc.
>>> http://www.revergestudios.com/reblog/index.php?n=ReCode
>>> _______________________________________________
>>> Unsubscribe & other changes:
>> http://lists.boost.org/mailman/listinfo.cgi/boost
>>
>> _______________________________________________
>> Unsubscribe & other changes:
>> http://lists.boost.org/mailman/listinfo.cgi/boost
>>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk