<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Nov 8, 2015, at 10:41 PM, Thiago Macieira <<a href="mailto:thiago@macieira.org" class="">thiago@macieira.org</a>> wrote:</div><div class=""><br class="">Can you try adding the -stdlib option in the AppleClang branch to see what <br class="">happens?<br class=""></div></blockquote></div><br class=""><div class="">I have an odd question.</div><div class=""><br class=""></div><div class="">Why?</div><div class=""><br class=""></div><div class="">What we have in master works.</div><div class=""><br class=""></div><div class="">I have no interest in seeing Subsurface code made unreadable by C++11 features -</div><div class="">literally every thing I have seen so far from C++11 I find a) annoying b) not an</div><div class="">improvement.</div><div class=""><br class=""></div><div class="">Look at this:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""><b class="">diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp</b></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""><b class="">index 32f0d8d..b532b85 100644</b></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""><b class="">--- a/desktop-widgets/mainwindow.cpp</b></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""><b class="">+++ b/desktop-widgets/mainwindow.cpp</b></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #34bbc7" class="">@@ -245,7 +245,7 @@</span> MainWindow::MainWindow() : QMainWindow(),</div><p style="margin: 0px; font-size: 11px; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">        if(PluginManager::instance().socialNetworkIntegrationPlugins().count()) {</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">                QMenu *connections = new QMenu(tr("Connect to"));</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(195, 55, 32);" class="">-               for(ISocialNetworkIntegration *plugin : PluginManager::instance().socialNetworkIntegrationPlugins()){</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(52, 189, 38);" class="">+<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">               </span>Q_FOREACH(ISocialNetworkIntegration *plugin, PluginManager::instance().socialNetworkIntegrationPlugins()){</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">                        QAction *toggle_connection = new QAction(this);</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">                        toggle_connection->setText(plugin->socialNetworkName());</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">                        toggle_connection->setIcon(QIcon(plugin->socialNetworkIcon()));</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""><b class="">diff --git a/subsurface-core/pluginmanager.h b/subsurface-core/pluginmanager.h</b></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""><b class="">index c494389..19e88b8 100644</b></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""><b class="">--- a/subsurface-core/pluginmanager.h</b></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""><b class="">+++ b/subsurface-core/pluginmanager.h</b></div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(52, 187, 199);" class="">@@ -12,8 +12,8 @@<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> public:</span></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">        QList<ISocialNetworkIntegration*> socialNetworkIntegrationPlugins() const;</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""> private:</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">        PluginManager();</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(195, 55, 32);" class="">-       PluginManager(const PluginManager&) = delete;</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(195, 55, 32);" class="">-       PluginManager& operator=(const PluginManager&) = delete;</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(52, 189, 38);" class="">+<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">       </span>PluginManager(const PluginManager&){};</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(52, 189, 38);" class="">+<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">       </span>PluginManager& operator=(const PluginManager&){};</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""> };</div><p style="margin: 0px; font-size: 11px; font-family: Menlo; min-height: 13px;" class=""> <br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class=""> #endif</div></div><div class=""><br class=""></div><div class="">What is removed there to go back regular C++ is plain syntactic nonsense... </div><div class="">the code that it brings back is actually readable and makes sense. So why would</div><div class="">I want to spend time to figure out how to allow C++11 code in Subsurface?</div><div class=""><br class=""></div><div class="">And don't get me started on the syntactic bullshit that is lambdas in C++. I can't</div><div class="">believe that I was tired enough to let that shit slip through in Tomaz' patches.</div><div class=""><br class=""></div><div class="">I know, Thiago, you are a C++ fan and deeply involved in C++11 and C++14.</div><div class=""><br class=""></div><div class="">I am interested in code that I can read and understand and maintain and that </div><div class="">compiles on as many platforms as reasonable. Or to put this differently. Linus</div><div class="">and I allowed C++ into Subsurface because that allowed us to use a better</div><div class="">UI development environment. And for some things (strings, or some of the other</div><div class="">data structures like lists or hashes, for example), I see the value of using Qt </div><div class="">over plain C. But many of the core developers here are not C++ people and I </div><div class="">for one have no interest in going down that rat hole.</div><div class=""><br class=""></div><div class="">As Stroustroup says "<span style="widows: 1; background-color: rgb(255, 251, 251);" class="">C++11 feels like a new language". To add to that, it's closer</span></div><div class=""><span style="widows: 1; background-color: rgb(255, 251, 251);" class="">to Python than to C. Which I think sums up my feelings about it.</span></div><div class=""><br class=""></div><div class="">All that said? I think I'm happy with just rejecting C++11 code and keeping our</div><div class="">compilers focused on gnu99</div><div class=""><br class=""></div><div class="">/D</div><div class=""><br class=""></div><div class="">PS: yes, I'm old and grumpy.</div></body></html>