<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Divide and Conquer &#187; C++</title>
	<atom:link href="http://www.divideandconquer.se/tag/cplusplus/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.divideandconquer.se</link>
	<description>David's Software Development Blog</description>
	<lastBuildDate>Sat, 04 Feb 2012 20:28:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Today&#8217;s thoughts about programming languages</title>
		<link>http://www.divideandconquer.se/2009/09/16/todays-thoughts-about-programming-languages/</link>
		<comments>http://www.divideandconquer.se/2009/09/16/todays-thoughts-about-programming-languages/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 19:48:31 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JRuby]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://www.divideandconquer.se/?p=551</guid>
		<description><![CDATA[Maybe some of you have heard me ranting about this already? I&#8217;m not productive enough in C++ and I feel too limited by Java A large chunk of Java frameworks seem to serve no other purpose than to workaround limitations in Java I believe (and hope!) that Java will cease to be the default language [...]]]></description>
			<content:encoded><![CDATA[<p>Maybe some of you have heard me ranting about this already?</p>
<ul>
<li>I&#8217;m not productive enough in C++ and I feel too limited by Java</li>
<li>A large chunk of Java frameworks seem to serve no other purpose than to workaround limitations in Java</li>
<li>I believe (and hope!) that Java will cease to be the default language in the non-Microsoft world, and that other JVM-based languages such as Scala, Groovy and JRuby will become more important</li>
<li>How can I convince a client to allow  Scala, Groovy or JRuby in a project?</li>
<li>I should really get some C# experience!</li>
<li>It seems like I almost always resolve to PHP when I need to get something done quickly&#8230; which reminds me of an upcoming blog post about a recent fight with <a href="http://php.net/manual/en/class.soapserver.php" onclick="pageTracker._trackPageview('/outgoing/php.net/manual/en/class.soapserver.php?referer=');">SoapServer</a> and <a href="http://php.net/manual/en/book.simplexml.php" onclick="pageTracker._trackPageview('/outgoing/php.net/manual/en/book.simplexml.php?referer=');">SimpleXML</a> to implement WSSE UsernameToken authentication.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.divideandconquer.se/2009/09/16/todays-thoughts-about-programming-languages/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The C++ cut is the deepest</title>
		<link>http://www.divideandconquer.se/2009/05/12/the-c-plus-plus-cut-is-the-deepest/</link>
		<comments>http://www.divideandconquer.se/2009/05/12/the-c-plus-plus-cut-is-the-deepest/#comments</comments>
		<pubDate>Tue, 12 May 2009 19:00:23 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.divideandconquer.se/?p=400</guid>
		<description><![CDATA[When you hear me speaking about C++,  you probably notice the passion. I might expose a similar passion when I pinpoint some of Java&#8217;s weaknesses. Maybe I do sound like &#8220;Dick&#8221; in the article Java is Slow! at The Daily WTF? From GW-BASIC on my first computer I went through QBasic, QuickBasic, QuickC and Turbo [...]]]></description>
			<content:encoded><![CDATA[<p>When you hear me speaking about C++,  you probably notice the passion. I might expose a similar passion when I pinpoint some of Java&#8217;s weaknesses. Maybe I do sound like &#8220;Dick&#8221; in the article <a href="http://thedailywtf.com/Articles/Java-is-Slow!.aspx" onclick="pageTracker._trackPageview('/outgoing/thedailywtf.com/Articles/Java-is-Slow_.aspx?referer=');">Java is Slow!</a> at The Daily WTF?<a href="http://thedailywtf.com/Articles/Java-is-Slow!.aspx" onclick="pageTracker._trackPageview('/outgoing/thedailywtf.com/Articles/Java-is-Slow_.aspx?referer=');"></a></p>
<p>From GW-BASIC on my first computer I went through QBasic, QuickBasic, QuickC and Turbo C++ until &#8220;reaching&#8221; Visual C++ in high school. It is more than 10 years since I wrote <a href="http://calcem.sourceforge.net/calcem/" onclick="pageTracker._trackPageview('/outgoing/calcem.sourceforge.net/calcem/?referer=');">CalcEm</a>, the first Open Source emulator for Texas Instruments calculators TI-82 and TI-83. It is hopelessly outdated now, but it was a great achievement for me at the time. (I&#8217;m actually sitll proud; the last CalcEm version is <a href="http://www.ticalc.org/archives/files/fileinfo/48/4825.html" onclick="pageTracker._trackPageview('/outgoing/www.ticalc.org/archives/files/fileinfo/48/4825.html?referer=');">ranked as 102 on the all-time top downloads list</a><a href="http://www.ticalc.org/archives/files/fileinfo/48/4825.html" onclick="pageTracker._trackPageview('/outgoing/www.ticalc.org/archives/files/fileinfo/48/4825.html?referer=');"> at ticalc.org</a><a href="http://www.ticalc.org/archives/files/fileinfo/48/4825.html" onclick="pageTracker._trackPageview('/outgoing/www.ticalc.org/archives/files/fileinfo/48/4825.html?referer=');"> with 43556 downloads</a>.)</p>
<p>Maybe C++ entered at a sensitive point of my life? When learning Java at the university it only felt crippled when I already knew C++, so I only used Java when I had to and C++ (as in g++) when I got to choose. Sometimes the choice was bad, but it was about learning after all. I remember that our Kalah C++ implementation ruled the competition!</p>
<p>C++ made me feel in control! I never felt as much in control when using Java, and I still don&#8217;t. But I&#8217;ve learned not to demand so much control.</p>
<p>My friends may have heard me dreaming of working at <a href="http://www.tandberg.com/" onclick="pageTracker._trackPageview('/outgoing/www.tandberg.com/?referer=');">Tandberg</a>. I don&#8217;t languish for <a href="http://www.thoughtworks.com/" onclick="pageTracker._trackPageview('/outgoing/www.thoughtworks.com/?referer=');">ThoughtWorks</a> so much these days. (They do have Martin Fowler, but they also use Lotus Notes. Go figure.)</p>
<p>This is why I never applied for a job at UIQ. I like C++ so much that I cold not stand the horrible subset of C++ that Symbian has inherited from Psion. Instead I got stuck with a stone-age C++ compiler on Tru64. But I got away and now I&#8217;m your Java man!</p>
<p>Just let me do a little PHP, Python, Ruby, Scala or Groovy too! And wouldn&#8217;t C++ be great for something? :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.divideandconquer.se/2009/05/12/the-c-plus-plus-cut-is-the-deepest/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Really cool consultancy opportunity at Novell</title>
		<link>http://www.divideandconquer.se/2008/05/12/really-cool-consultancy-opportunity-at-novell/</link>
		<comments>http://www.divideandconquer.se/2008/05/12/really-cool-consultancy-opportunity-at-novell/#comments</comments>
		<pubDate>Mon, 12 May 2008 10:52:05 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Novell]]></category>

		<guid isPermaLink="false">http://www.divideandconquer.se/2008/05/12/really-cool-consultancy-opportunity-at-novell/</guid>
		<description><![CDATA[Miguel wrote: We are looking for consultants to work on a six to nine month project at Novell to write a prototype for a Visual Studio addin in C# or C++ that will connect Visual Studio and its debugging infrastructure to a remote Linux machine running Mono and the Mono Debugger. This sounds like something [...]]]></description>
			<content:encoded><![CDATA[<p><a target="_self" href="http://tirania.org/blog/archive/2008/May-06.html" onclick="pageTracker._trackPageview('/outgoing/tirania.org/blog/archive/2008/May-06.html?referer=');">Miguel wrote</a>:</p>
<blockquote>
<p>We are looking for consultants to work on a six to nine 	month project at Novell to write a prototype for a Visual 	Studio addin in C# or C++ that will connect Visual Studio and 	its debugging infrastructure to a remote Linux machine running 	Mono and the Mono Debugger.</p>
</blockquote>
<p>This sounds like something in my taste. If it was in Sweden I had already applied!</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.divideandconquer.se/2008/05/12/really-cool-consultancy-opportunity-at-novell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nokia buys Trolltech</title>
		<link>http://www.divideandconquer.se/2008/01/28/nokia-buys-trolltech/</link>
		<comments>http://www.divideandconquer.se/2008/01/28/nokia-buys-trolltech/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 08:10:21 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://www.divideandconquer.se/2008/01/28/nokia-buys-trolltech/</guid>
		<description><![CDATA[Nothing on Trolltech&#8216;s site yet, but Nokia has a press release titled Nokia to acquire Trolltech to accelerate software strategy. What will KDE say?]]></description>
			<content:encoded><![CDATA[<p>Nothing on <a href="http://www.trolltech.com/" onclick="pageTracker._trackPageview('/outgoing/www.trolltech.com/?referer=');">Trolltech</a>&#8216;s site yet, but Nokia has a press release titled <a href="http://www.nokia.com/A4136001?newsid=1185531" onclick="pageTracker._trackPageview('/outgoing/www.nokia.com/A4136001?newsid=1185531&amp;referer=');">Nokia to acquire Trolltech to accelerate software strategy</a>. What will <a href="http://www.kde.org/" onclick="pageTracker._trackPageview('/outgoing/www.kde.org/?referer=');">KDE</a> say?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.divideandconquer.se/2008/01/28/nokia-buys-trolltech/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beautiful Code</title>
		<link>http://www.divideandconquer.se/2007/12/17/beautiful-code/</link>
		<comments>http://www.divideandconquer.se/2007/12/17/beautiful-code/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 12:39:37 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[D-BUS]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.divideandconquer.se/2007/12/17/beautiful-code/</guid>
		<description><![CDATA[I&#8217;ve been reading Beautiful Code from time to time during the autumn. It&#8217;s mixed bag and I actually skipped some chapter that was too deep into maths for my taste. Chapter 22: A Spoonful of Sewage was an instant favorite; it is a a fascinating head-first dive into a bug hunt in Sun Solaris&#8217; synchronization [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been reading <a href="http://www.oreilly.com/catalog/9780596510046/" onclick="pageTracker._trackPageview('/outgoing/www.oreilly.com/catalog/9780596510046/?referer=');">Beautiful Code</a> from time to time during the autumn. It&#8217;s mixed bag and I actually skipped some chapter that was too deep into maths for my taste. Chapter  22: <em>A Spoonful of Sewage</em> was an instant favorite; it is a a fascinating head-first dive into a bug hunt in Sun Solaris&#8217; synchronization primitives. It was a bit over my head but interesting nevertheless. Another very interesting chapter was Chapter  23: <em>Distributed Programming with <a href="http://en.wikipedia.org/wiki/MapReduce" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/MapReduce?referer=');">MapReduce</a></em> about Google&#8217;s &#8220;programming system for large-scale data processing problems&#8221;.</p>
<p>Only because of the title of this blog, I&#8217;d like to mention that more than one chapter mentions the Divide and Conquer approach used by the Quick Sort algorithm, including using <a href="http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html" onclick="pageTracker._trackPageview('/outgoing/googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html?referer=');">a subtle bug</a> found in early (or naive) C, C++ and Java implementations to <a href="http://www.junitfactory.com/articles/beautiful-code/BeautifulTests.pdf" onclick="pageTracker._trackPageview('/outgoing/www.junitfactory.com/articles/beautiful-code/BeautifulTests.pdf?referer=');">show off JUnit</a>.</p>
<p>I&#8217;ve thought of sorting the chapters by programming languages and see what language the most author used for his or her beautiful code. At least Lisp, Python, Perl, Ruby, Java, C# and C++ are present. Some day I want to do a bit of Lisp programming, but I haven&#8217;t found a suitable project yet. Maybe I should buy a Lisp book too first&#8230;</p>
<p>Where is my own Beautiful Code then? If &#8220;get the job done&#8221; is considered beautiful, it could be the PHP code for any of my web sites! :-)  I&#8217;m pretty happy about the architecture for my unfinished <a href="http://www.midasync.com/" onclick="pageTracker._trackPageview('/outgoing/www.midasync.com/?referer=');">MidaSync </a>project; maybe I should try to describe it here some day.</p>
<p>For <a href="http://www.midasync.com/" onclick="pageTracker._trackPageview('/outgoing/www.midasync.com/?referer=');">MidaSync</a> I also wrote a <a href="http://www.freedesktop.org/wiki/Software/dbus" onclick="pageTracker._trackPageview('/outgoing/www.freedesktop.org/wiki/Software/dbus?referer=');">D-BUS</a> wrapper for C++ that I&#8217;m quite proud of, but at some point it became a bit &#8220;magic&#8221;. For example it relies on the presence of a partial specialization to create a D-BUS path from an object exposed through D-BUS. I&#8217;ve never released this properly and I think that the <a href="http://dev.openwengo.org/trac/openwengo/trac.cgi/browser/wengophone-ng/branches/wengophone-dbus-api/libs/dbus" onclick="pageTracker._trackPageview('/outgoing/dev.openwengo.org/trac/openwengo/trac.cgi/browser/wengophone-ng/branches/wengophone-dbus-api/libs/dbus?referer=');">D-BUS wrapper in OpenWengo</a> is used by today&#8217;s C++ developers in need of D-BUS support.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.divideandconquer.se/2007/12/17/beautiful-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

