<?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>Real-Time Rendering &#187; Scheme</title>
	<atom:link href="http://www.realtimerendering.com/blog/tag/scheme/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.realtimerendering.com/blog</link>
	<description>Tracking the latest developments in interactive rendering techniques</description>
	<lastBuildDate>Sun, 12 May 2013 00:21:14 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>C++, Baby</title>
		<link>http://www.realtimerendering.com/blog/c-baby/</link>
		<comments>http://www.realtimerendering.com/blog/c-baby/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 00:38:42 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Reports]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[DirectX]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Scheme]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.realtimerendering.com/blog/?p=900</guid>
		<description><![CDATA[I was catching up on the Communications of the ACM, and noticed this article, Computer Science in the Conceptual Age. The &#8220;catch your eye&#8221; text on one page was: &#8220;Programming interns/job seekers from our program Spring 2009 (35 interviewed in the game industry) found no companies administering programming tests in Java.&#8221; There are other chewy [...]]]></description>
			<content:encoded><![CDATA[<p>I was catching up on the <em>Communications of the ACM</em>, and noticed this article, <a href="http://portal.acm.org/citation.cfm?id=1610252.1610272">Computer Science in the Conceptual Age</a>. The &#8220;catch your eye&#8221; text on one page was: &#8220;Programming interns/job seekers from our program Spring 2009 (35 interviewed in the game industry) found no companies administering programming tests in Java.&#8221;</p>
<p>There are other chewy bits, such as: &#8220;The USC experience is that 100% of its students interviewed for programming positions are given three-to-four-hour-long programming tests, with almost all companies administering the tests in C++.&#8221;</p>
<p>Also, this: &#8220;The game industry will also tell you that it wants the first four programming classes in C++, not Java, according to M.M. McGill and my own private communications with directors of human resources in major game-development companies.&#8221;</p>
<p>One final morsel: &#8220;Many game companies say they will not interview or hire someone whose first programming language is Java.&#8221;</p>
<p>Wow, that last one&#8217;s harsh, especially since my experience with two teenage sons (one in high school, the other a freshman computer science major) is that Java is the norm for the first &#8220;real&#8221; language taught (I don&#8217;t count <a href="http://en.wikipedia.org/wiki/Scheme_(programming_language)">Scheme</a> as a real, &#8220;you&#8217;ll get paid programming in it&#8221; type of language). I don&#8217;t think I&#8217;d rule someone out for knowing Java first, though having gone from C++ to Java and then back, the transition from Java to C++ is like being thrown out of the promised land: you suddenly again spend half your time messing with memory in one form or another. C# and Java are darn productive in that way. And, no, for me at least, those <a href="http://en.wikipedia.org/wiki/Auto_ptr">auto-pointer classes in C++</a> never quite seem to work&#8212;they need a different sort of discipline I don&#8217;t appear to have. I also love that <a href="http://tog.acm.org/resources/applets/vrml/pellucid.html">my first Java program</a>, from 1997, still works on the web; some of my C++ programs from back then won&#8217;t run on Vista or Windows 7 because the <a href="http://en.wikipedia.org/wiki/WinG">WinG</a> DLLs are not a part of those operating systems (thanks, Microsoft).</p>
<p>Nonetheless, the article&#8217;s right: at Autodesk we&#8217;ve dabbled with Java and C#, I&#8217;ve seen Python used for UI control around the fringes of a program, but the heart of client-side graphical programs is almost always C++ (or isn&#8217;t, with regrets and cancellation often soon following&#8212;<a href="http://www.stanfordmarsh.co.uk/news13.html">been there myself</a>, though Java was <a href="http://www.aecbytes.com/newsletter/2004/issue_13.html">only a little bit to blame</a>, to be fair). Also, XNA, which uses C#, <a href="http://blogs.msdn.com/shawnhar/archive/2008/02/25/xna-framework-on-64-bit-windows.aspx">does not have a 64 bit version</a>. In addition, Microsoft&#8217;s managed code support usually lags behind the &#8220;real&#8221; DirectX, i.e., the one for C++.</p>
<p>Looking around, I did find an open-source project, <a href="http://slimdx.org/">SlimDX</a>, that does support 64-bit assemblies for interfacing with DirectX. Interestingly, they claim one AAA game title shipped using SlimDX, but no mention of which. So <a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=561235">I asked</a>. They&#8217;re keeping the information confidential, which is fine, but the other comment sounds about right: &#8220;The large majority of professional commercial PC/console games are still developed in C++ because of the sheer amount of legacy code the studios developing those games have that is already in C++ (and because of the generally poor support from major console vendors for languages other than C or C++, which contributes to lock-in).&#8221;</p>
<p>Long and short: it&#8217;s C++, baby.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.realtimerendering.com/blog/c-baby/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>