← Back to team overview

kicad-developers team mailing list archive

Re: Proposal: Move to C++11 (time to revisit?)

 

On 12/4/2013 4:44 AM, Povilas Kanapickas wrote:
> There was a proposal to move to C++11 in April [1]. In the end, Wayne
> suggested[2] that we should wait until major Linux distributions ship
> with a (mostly) C++11-compliant compiler, so the proposal was not
> adopted. I think it may be worthwhile to revisit the issue.
> 
> All major Linux distributions already ship GCC-4.8 as the default compiler:
> 
> Debian testing: GCC 4.8.1 [3]
> Debian unstable: GCC 4.8.1 [3]
> Ubuntu 13.10: GCC 4.8.1 [4]
> Opensuse 13.1: GCC 4.8.? [5]
> Fedora 19: GCC 4.8.2 [6]
> 
> According to wikimedia stats[7] the above distributions cover >98% of
> the market.
> 
> The list is for the newest releases, older releases will use older
> complilers of course. Presumably, the users who stick to these older
> releases want stability and won't update to bleeding-edge KiCad anyway.
> Thus I think they are not very important as far as this proposal is
> concerned.

This is why I'm still not concerned.  See:
http://gcc.gnu.org/gcc-4.8/cxx0x_status.html.  Notice the word
"experimental".  Also notice that in order to use C++11 support, the
options -std=c++11 or -std=gnu++11 must be used.  KiCad builds do not
set either of these options so unless you are setting them by
environment variable or when running CMake, you are not compiling to
C++11.  When GCC makes C++11 the default setting, then I'll be a bit
more concerned.  FYI, GCC does not even default to C++0x which has been
a standard for how long?  I'm not suggesting that C++11 isn't useful, I
just think your jumping the gun by about 10 years given the glacial pace
at which C++ language changes actually become the default implementation.

> 
> Any opinions?

In the future, I suggest you refrain from using terms like "modern
programming practices" when trying to convince developers (at least this
developer anyway) that the change you are proposing is worthwhile.  This
is an automatic red flag for me.  It sounds like a bunch of marketing
hype rather than a well thought out technical argument.  While I agree
std::xxxx is more readable than using namespaces, there is nothing
"modern" about writing readable code.  Good coding practices have been
around since "good old days" of assembly and C.  Over the last 25 years,
I've seen just about every over hyped new coding technique that was
going to radically change the way code was written come and go.  In the
end, it always comes back to good coding practices.

Regards,

Wayne

> 
> Regards,
> Povilas
> 
> [1]: https://lists.launchpad.net/kicad-developers/msg10091.html
> [2]: https://lists.launchpad.net/kicad-developers/msg10120.html
> 
> [3]:
> http://packages.debian.org/search?keywords=gcc&searchon=names&suite=all&section=all
> [4]:
> http://packages.ubuntu.com/search?keywords=gcc&searchon=names&suite=all&section=all
> [5]: http://software.opensuse.org/package/gcc
> [6]: https://apps.fedoraproject.org/packages/gcc-c++
> [7]:
> http://stats.wikimedia.org/archive/squid_reports/2013-10/SquidReportOperatingSystems.htm
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 



Follow ups

References