<?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>Entangled discussions &#187; Java</title>
	<atom:link href="http://www.glenstark.net/category/work/java/feed" rel="self" type="application/rss+xml" />
	<link>http://www.glenstark.net</link>
	<description>Let's talk about the fundamental interconnectedness of all things...</description>
	<lastBuildDate>Wed, 08 May 2013 08:50:25 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Faulty Java Documentation</title>
		<link>http://www.glenstark.net/2010/04/faulty-java-documentation</link>
		<comments>http://www.glenstark.net/2010/04/faulty-java-documentation#comments</comments>
		<pubDate>Tue, 06 Apr 2010 13:22:32 +0000</pubDate>
		<dc:creator>Glen</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.glenstark.net/?p=309</guid>
		<description><![CDATA[J3D provides a box constructor Box(float xdim, float ydim, float zdim, Appearance ap). The documentation states: public Box(float xdim, float ydim, float zdim, Appearance ap) Constructs a box of a given dimension and appearance. Normals are generated by default, texture coordinates are not. Parameters: xdim &#8211; X-dimension size. ydim &#8211; Y-dimension size. zdim &#8211; Z-dimension size. ap &#8211; Appearance [...]]]></description>
				<content:encoded><![CDATA[<p>J3D provides a box constructor Box(float xdim, float ydim, float zdim, Appearance ap).</p>
<p>The documentation states:</p>
<pre>public <strong>Box</strong>(float xdim,
           float ydim,
           float zdim,
           <a title="class in javax.media.j3d" href="http://download.java.net/media/java3d/javadoc/1.3.2/javax/media/j3d/Appearance.html">Appearance</a> ap)</pre>
<dl>
<dd>Constructs a box of a given dimension and appearance.  Normals are generated by default, texture coordinates are not.</p>
<dl>
<dt><strong>Parameters:</strong></dt>
<dd><code>xdim</code> &#8211; X-dimension size.</dd>
<dd><code>ydim</code> &#8211; Y-dimension size.</dd>
<dd><code>zdim</code> &#8211; Z-dimension size.</dd>
<dd><code>ap</code> &#8211; Appearance</dd>
</dl>
</dd>
</dl>
<p>This is an error.  xdim, ydim, zdim are actually  <strong>one-half </strong>the x,y, and z dimension sizes.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.glenstark.net%2F2010%2F04%2Ffaulty-java-documentation&amp;t=Faulty%20Java%20Documentation" id="facebook_share_link_309">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_309') || document.getElementById('facebook_share_icon_309') || document.getElementById('facebook_share_both_309') || document.getElementById('facebook_share_button_309');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_309') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.glenstark.net/2010/04/faulty-java-documentation/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Gripes</title>
		<link>http://www.glenstark.net/2009/12/java-gripes</link>
		<comments>http://www.glenstark.net/2009/12/java-gripes#comments</comments>
		<pubDate>Tue, 08 Dec 2009 14:51:31 +0000</pubDate>
		<dc:creator>Glen</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.glenstark.net/?p=263</guid>
		<description><![CDATA[I, for my sins, am now programming in Java. By now I have a lot of experience programming with a pretty large number of programming languages. Java, C++, C, Basic, Visual Basic, SQL, Python, Perl, php, Matlab, etc. While I have to admit to having a prejudice against Java as YAPL (Yet Another Proprietary Language), [...]]]></description>
				<content:encoded><![CDATA[<p>I, for my sins, am now programming in Java.  By now I have a lot of experience programming with a pretty large number of programming languages.  Java, C++, C, Basic, Visual Basic, SQL, Python, Perl, php, Matlab, etc.</p>
<p>While I have to admit to having a prejudice against Java as YAPL (Yet Another Proprietary Language), I knew that in all likelihood I&#8217;d be working in it for some time, and I did my best to reserve judgement and find what is good in the language.</p>
<p>By now though, I think I&#8217;ve gotten good enough in Java to have an informed opinion.  While Java has its strengths, and it could certainly be worse (it could be visual basic for example), I&#8217;m generally unhappy with it.  I think the big problem I have with Java is it marketed to be used in application domains where it simply isn&#8217;t right choice.   I suspect that for medium sized projects, free projects, projects which require a heavy network integration or should run as an applet, it&#8217;s probably a good language.  For certain problems I would even believe that it&#8217;s the best choice.  </p>
<p>But for large, complex projects, in particular projects in which you want to sell a binary and not sell a source code, forget it, Java&#8217;s a nightmare.  But I don&#8217;t want to get into an encyclopaedic discourse of the ills of Java.  I actually just want to use this forum to vent my frustrations with the language, and keep a kind of running diary as problems cross my mind.  I suspect it will be useful when I need to explain to someone why I don&#8217;t care for a language.  Normally when I get involved in such conversations my frustration is to palpable for me to explain my concerns lucidly:  I&#8217;m to busy trying to get my head above the frust.</p>
<p>For today, let me just gripe about how Java has too many advocates.  I suspect that this ill, along with most of Java&#8217;s ills, stem from the fact that java is owned by a corporation which expends a lot of money and energy trying to brand the language, generate a community, and in general get people feeling all tribal about being a Java programmer.  Consider this blurb on the back of &#8220;Killer Game Programming in Java&#8221; which has on it&#8217;s back cover blurb &#8220;As a result [of poor documentation] Java has become a second-class citizen to C, C++, and assebly language when it comes to hardcore game programming.  This book changes all that&#8230;&#8221;</p>
<p>Ugh.  That&#8217;s just typical of the Java world.  The book jacket isn&#8217;t trying to sell a book, it&#8217;s selling Java to a problem domain.  The fact is Java isn&#8217;t the right choice for a &#8220;hardcore&#8221; game.   My understanding of the term &#8220;hardcore gaming&#8221; is pretty much, by definition, to be &#8220;resource intensive&#8221;.  That means efficiency and complexity (both algorithmic and code-complexity) are an issue, and that&#8217;s where Java just isn&#8217;t a good choice.  Not only that, but games tend to be commercial undertakings, which means selling binaries and license management etc, which means obfuscation, which means you can&#8217;t break your code down properly into modular units and libraries.  Generally if it&#8217;s really computationally intensive, you want to manage your own memory&#8230;</p>
<p>Now, I have to use Java for a 3D application.  I have no choice.   So I&#8217;m happy to have the book and I&#8217;m sure it will be useful to me.  I&#8217;m also sure that there are a number of applications for which Java&#8217;s 3d apps are a good choice (smart phones, web apps, free software projects), but trying to convince the reader that the only thing keeping Java from being as good a platform as C++ and assembly is the documentation, well that&#8217;s just disingenuous shilling.  The Java community is like the P.T. Barnum of programming communities.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.glenstark.net%2F2009%2F12%2Fjava-gripes&amp;t=Java%20Gripes" id="facebook_share_link_263">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_263') || document.getElementById('facebook_share_icon_263') || document.getElementById('facebook_share_both_263') || document.getElementById('facebook_share_button_263');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_263') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.glenstark.net/2009/12/java-gripes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
