Re: [eigen] Eigen2 to Eigen3 Migration Path

[ Thread Index | Date Index | More Archives ]

On Wed, Jan 12, 2011 at 12:48 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
>> We are since almost 6 months advocating users to switch to Eigen3 and
>> Benoit's quick check on the number of users has revealed that the user base
>> of Eigen v2 and v3 is converging rapidly if they are not already en par.
> To be clear, the reason why I'm proposing this is that it means a
> modest pain for all current Eigen3 users and no inherent technical
> disadvantage as far as Eigen is concerned, in exchange for solving a
> very serious problem inherent to Eigen that as far as I can see will
> cause trouble to every large project migrating from eigen 2 to 3.
> I realize that other libraries tend not to do that, but other
> libraries also tend to either not release major new incompatible
> versions (e.g. OpenGL stays compatible), or to wreck their ecosystem
> when doing so (e.g. Qt, KDE) so it's hard to find an existing model to
> follow.

I thought I'd just throw in a +1 on this proposal.  It seems like the
whole point of namespaces is to allow precisely this:  each library
uses its own namespace so that they can all coexist.  Allowing eigen2
and eigen3 seems valuable for all the reasons you (and others) have

An analogy to shared libraries might be helpful.  Shared libraries
have sonames, which allow their developers to distinguish when they
make ABI changes, with the net result that the shared library can
always (unless said library developer introduces a bug) be upgraded to
a newer version without breaking existing libraries or applications,
as long as the old soname library is left in place when an ABI change
is made.  For a header-only library such as eigen, the namespace
serves an analogous function to the soname:  it allows code that refer
to both the old and new version to coexist.

I could perhaps also add that I'm still a user of eigen2.  Some day
I'll switch, but I haven't seen a compelling reason to spend the time
to do so.  I like the new Arrays, but have already coded things to
work with cwise() when needed, and have many other things to do than
rewrite for eigen3.
David Roundy

Mail converted by MHonArc 2.6.19+