Subject: Re: [boost] New libraries implementing C++11 features in C++03
From: Dean Michael Berris (mikhailberis_at_[hidden])
Date: 2011-11-24 11:21:55
On Fri, Nov 25, 2011 at 3:13 AM, Christopher Jefferson
> On 24 Nov 2011, at 14:56, Dean Michael Berris wrote:
>> I don't get why broken code (whether code using Phoenix or Local)
>> should be the basis for whether a library is superior to another as
>> far as end-user experiences is concerned. It's broken code, it doesn't
>> even compile!
> Because I have spent more than 10 minutes figuring why Phoenix code wouldn't compile, and that hasn't happened with any other C++ library. In general, when writing code programmers spend much more time with code which is either compile-time, or run-time, incorrect. If I wrote perfect code first time, then my job would be much, much easier! It is the compiler's fault, but in practice, it makes the library very, very hard to use.
Speaking from experience, 10 minutes is too much. I've used Phoenix v2
extensively and I've found that after reading the docs first before
trying to do anything with it that I got it easier that way. That said
I haven't tried Phoenix v3 though I've been debugging Spirit code
since the 2.x days -- again reading the docs, keeping them handy, and
not getting scared with compiler barfage.
I'm not saying there's no learning curve -- it involves reading the
documentation, trying things out, and getting the "spirit" of the
library and the semantics of usage.
But that's just me though and I recognize that others might not have
it as good as I did when I was learning both Spirit and Phoenix.
> Personally, if boost local was accepted I would expect to use it for a year or so, until I could assume people I work with all had decent C++11 compilers, and then drop it for lambdas. I'm never going to start using boost::phoenix in code I share with other people.
> Is that a good enough reason to accept it into boost? I'm not completely sure.
Exactly my point of contention too.
-- Dean Michael Berris http://goo.gl/CKCJX
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk