octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A word about C++11 (my humble opinion)


From: Julien Bect
Subject: Re: A word about C++11 (my humble opinion)
Date: Thu, 23 Jun 2016 11:21:03 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.1.0

Le 23/06/2016 à 10:52, Olaf Till a écrit :
On Wed, Jun 22, 2016 at 11:46:44AM -0700, Rik wrote:
> ... > I think it is important to differentiate between Octave core and packages > maintained at Octave Forge. The stable version of core Octave should still > be able to be compiled on 12.04. The policies of any particular Octave > Forge package, however, are set by the package maintainer. If they want to > require something different they can.
Well, they can't quite do what they want, of course ... As for the parallel package, constructor delegation made some new feature cleaner to implement. And since Octave development branch requires c++11, it will be required by the next major Octave release anyway -- so if a package requires c++11 already now, it only shifts the issue for a short span of time.

As I said, the problem is not that *some* C++11 features are required, but depends on *which* feature you require.

For instance, "constructor delegation" (I don't even know what that means), since you mention it, is supported in gcc 4.7 and later.

Therefore, using this specific features means that people still using gcc 4.6 will have problems (sure, they can manually install a more recent gcc, for instance using mxe-octave, but that's not the point; requiring this feature just made their life more complicated).

Then there is a choice.  On the one hand, for the developer, as you said, "some new features [are] cleaner to implement" with gcc 4.7.  On the other some users (hard to say how many) curse either the sysadmin that leave them with gcc 4.6 or the developper that broke compatiblity with gcc 4.6 (perhaps for a good reason, but still...).

I would have chosen to preserve compatibility with gcc 4.6 as long as possible.  A different choice has been made in Octave 4.2 and even already in some OF packages.  I can understand this choice.

Thanks to all the people that joined this discussion.

@++
Julien



reply via email to

[Prev in Thread] Current Thread [Next in Thread]