<?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>Programming Is Fun &#187; Programming</title>
	<atom:link href="http://joelschultz.wordmess.net/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://joelschultz.wordmess.net</link>
	<description>You Can Do It!</description>
	<lastBuildDate>Fri, 31 Oct 2008 16:58:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Free Tools For Designers</title>
		<link>http://joelschultz.wordmess.net/20081031/free-tools-for-designers/</link>
		<comments>http://joelschultz.wordmess.net/20081031/free-tools-for-designers/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 16:58:05 +0000</pubDate>
		<dc:creator>joelschultz</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://joelschultz.wordmess.net/?p=19</guid>
		<description><![CDATA[Free and online web based tools for designers and developers.
]]></description>
			<content:encoded><![CDATA[<blockquote><p>Free and online <a class="wp-caption" title="Free Web Tools" href="http://www.smashingapps.com/2008/10/30/17-wonderful-free-tools-to-make-designers-lives-easier.html" target="_blank">web based tools</a> for designers and developers.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://joelschultz.wordmess.net/20081031/free-tools-for-designers/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Why Your Code Sucks</title>
		<link>http://joelschultz.wordmess.net/20081026/why-your-code-sucks/</link>
		<comments>http://joelschultz.wordmess.net/20081026/why-your-code-sucks/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 02:27:33 +0000</pubDate>
		<dc:creator>joelschultz</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://joelschultz.wordmess.net/?p=17</guid>
		<description><![CDATA[If you are like most, and possibly even all, programmers (this author humbly included) then your code sucks. Maybe not all of it, and maybe not all the time, but certainly some of it, some of the time.
]]></description>
			<content:encoded><![CDATA[<blockquote><p>If you are like most, and possibly even all, programmers (<span class="wp-caption">this author</span> humbly included) then <a class="wp-caption" title="Your Code Sucks" href="http://www.artima.com/weblogs/viewpost.jsp?thread=71730" target="_blank">your code sucks</a>. Maybe not all of it, and maybe not all the time, but certainly some of it, some of the time.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://joelschultz.wordmess.net/20081026/why-your-code-sucks/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Java &#8211; Getting Started</title>
		<link>http://joelschultz.wordmess.net/20081025/java-getting-started/</link>
		<comments>http://joelschultz.wordmess.net/20081025/java-getting-started/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 01:30:38 +0000</pubDate>
		<dc:creator>joelschultz</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://joelschultz.wordmess.net/?p=15</guid>
		<description><![CDATA[
Joel Explains: Java
Compiler vs. Interpreter
Compiler &#8211; Checks syntax.
Interpreter &#8211; Checks syntax.
Compiler &#8211; Generates machine-code instructions.  Running the program is a separate step.
Interpreter &#8211; Executes the program statements as it converts them to machine-code.
Compiler &#8211; Is not needed to run the executable program.
Interpreter &#8211; Must remain installed while program is run.
Compiler &#8211; Runs faster.
Interpreter &#8211; [...]]]></description>
			<content:encoded><![CDATA[<div class="bText">
<h2>Joel Explains: Java</h2>
<p><strong>Compiler</strong> vs. <strong>Interpreter</strong></p>
<p><strong>Compiler</strong> &#8211; Checks syntax.<br />
<strong>Interpreter</strong> &#8211; Checks syntax.</p>
<p><strong>Compiler</strong> &#8211; Generates machine-code instructions.  Running the program is a separate step.<br />
<strong>Interpreter</strong> &#8211; Executes the program statements as it converts them to machine-code.</p>
<p><strong>Compiler</strong> &#8211; Is not needed to run the executable program.<br />
<strong>Interpreter</strong> &#8211; Must remain installed while program is run.</p>
<p><strong>Compiler</strong> &#8211; Runs faster.<br />
<strong>Interpreter</strong> &#8211; Is slower.</p>
<p>Generally, when you compile a program, you&#8217;re creating machine language for a specific <a class="wp-caption" title="Platform" href="http://searchservervirtualization.techtarget.com/sDefinition/0,,sid94_gci212797,00.html" target="_blank">platform</a>. For example, you might compile a program to run on a Windows 2000 platform. If you want to run the same program on an Apple computer, you can use a compiler that creates machine language for a Mac OS X platform.</p>
<p>When you compile a Java program, it doesn&#8217;t create machine language, it creates <a href="http://www.javaworld.com/javaworld/jw-09-1996/jw-09-bytecodes.html">bytecode</a>.  To run a Java program, the computer running the program needs a <a class="wp-caption" title="Java Virtual Machine" href="http://www.javaworld.com/javaworld/jw-06-1996/jw-06-vm.html" target="_blank">Java Virtual Machine</a> to convert the bytecode into machine language.  This arrangement allows you to write once, then <a class="wp-caption" title="Run Anywhere" href="http://en.wikipedia.org/wiki/Write_once%2C_run_anywhere" target="_blank">run anywhere</a> that has a <a class="wp-caption" title="Java Virtual Machine" href="http://math.hws.edu/javanotes/c1/s3.html" target="_blank">Java Virtual Machine</a>.</p>
<p>Java programs can be written in any text editor, such as Microsoft Notepad. When you save a Java program, you should save it with a <strong>.java</strong> extension.  For example, if you were to create a program that writes the famous phrase &#8220;<a class="wp-caption" title="Hello World" href="http://www.roesler-ac.de/wolfram/hello.htm" target="_blank">Hello world</a>&#8220;, you might save it as <strong>HelloWorld.java</strong>.</p>
<p>In addition to using the .java extension, you should use UpperCamelCase for the program name.  <strong>CamelCase</strong> is the practice of writing compound words or phrases where the words are joined without spaces or dashes or underscores, and each new word is capitalized. The name comes from the camel-like &#8220;bumps&#8221; in the middle of the compound word that are created by the uppercase letters. When you name something in <a class="wp-caption" title="CamelCase" href="http://wiki.java.net/bin/view/Javapedia/CamelCase" target="_blank">CamelCase</a> that starts with a lower case letter, it&#8217;s referred to as <strong>lowerCamelCase</strong>. In Java, there&#8217;s a convention that you should use lowerCamelCase for variable names. On the other hand, names starting with an upper case letter are referred to as <strong>UpperCamelCase</strong>.  The compiler, however, doesn&#8217;t care which case you use for any of these names, as long as you are consistent.</p>
<p>To compile Java programs using the Standard Edition of the Java 2 platform, you need to download <a class="wp-caption" title="JDK" href="http://java.sun.com/javase/downloads/index.jsp" target="_blank">the current JDK</a>.</p>
<p>To compile HelloWorld.java, you type in <strong>javac HelloWorld.java</strong> at the MS-DOS Prompt (in Windows 95/98) or Command Prompt (in Windows NT/XP/Vista).  This will create bytecode in HelloWorld.class.</p>
<p>To run HelloWorld.class, you type <strong>java HelloWorld.class</strong>.</p>
<p>A HelloWorld program could look like this:</p>
<pre>class HelloWorld
{
    public static void main(String[] args)
    {
        System.out.println("Hello World");
    }
}</pre>
<p>The first line starts with the word class. This is just a reserved word that tells java that we&#8217;re building a new class. The other word on the first line is HelloWorld. This is the name that we have chosen for this class, and it MUST match the program name. By convention, all class names should be UpperCamelCase so programmers will recognize that it is a class name, not a variable name. The entire first line is a <strong>class header</strong>.</p>
<p>The second line of the program is an opening curly brace.  This defines the beginning of the <strong>class body</strong>. The last line of our program is a closing curly brace. This indicates the end of our class. Everything between these two curly braces is part of class HelloWorld.</p>
<p>The HelloWorld class contains one method.  <strong>Method</strong> is just another name for something that is called a function, procedure, paragraph, or subroutine in other languages. It&#8217;s a block of code that can be called from another location. In this case, it&#8217;s called from the run statement. All java applications start at a method named main().</p>
<p>The third line is a <strong>method header</strong> for the main() method. It&#8217;s followed by curly braces that define the body of the method and enclose a println statement that sends the literal &#8220;Hello World&#8221; to the screen.</p>
<p>This particular method starts with the word public.  Public is an <strong>access modifier</strong>.  It lets Java know who&#8217;s allowed to call this method.  Public is the least restrictive <a class="wp-caption" title="Access Modifier" href="http://www.uni-bonn.de/~manfear/javamodifiers.php" target="_blank">access modifier</a>.</p>
<p>The next word is static. Static changes main() from an instance method to a class method. Yes, I understand that you don&#8217;t know what this means yet.</p>
<p>Static is followed by the word void, which indicates that the main method doesn&#8217;t send a value back to the place that called it. If it did return a value, we would replace the word void with the data type of the returned value.</p>
<p>The <strong>method body</strong> contains a single statement:<br />
System.out.println(&#8221;Hello World&#8221;);<br />
It ends with a semicolon.  All statements end with a semicolon.  Class headers and method headers are not statements.</p>
<p>The word <strong>System</strong> is a class.  It starts with an uppercase letter.<br />
The word <strong>out</strong> is an object.<br />
The word <strong>println()</strong> is a method.<br />
The statement <strong>System.out.println();</strong> is a method call.<br />
The statement <strong>System.out.println(&#8221;Hello World&#8221;);</strong> is a method call that passes a literal argument to the method.</p>
<p>If you&#8217;ld like to try it for yourself, here are some good <a class="wp-caption" title="Instructions" href="http://java.sun.com/docs/books/tutorial/getStarted/cupojava/win32.html" target="_blank">instructions</a> and a <a class="wp-caption" title="Closer Look" href="http://java.sun.com/docs/books/tutorial/getStarted/application/index.html" target="_blank">closer look</a> at a Hello World program from the folks at Sun.</p>
<p>A good learning path would be to <a class="wp-caption" title="Continue" href="http://java.sun.com/developer/onlineTraining/new2java/divelog/" target="_blank">continue</a> <a class="wp-caption" title="Writing" href="http://java.sun.com/developer/onlineTraining/new2java/divelog/part2/index.jsp" target="_blank">writing</a> <a class="wp-caption" title="Applications" href="http://java.sun.com/developer/onlineTraining/Programming/BasicJava1/prog.html" target="_blank">Applications</a>.</p>
<p>Once you have a good foundation writing applications, you can start learning about <a class="wp-caption" title="Applets" href="http://java.sun.com/applets/index.html" target="_blank">Applets</a>.</p>
<p>Running <a class="wp-caption" title="Applets" href="http://java.sun.com/developer/technicalArticles/Threads/applet/" target="_blank">Applets</a> and  <a class="wp-caption" title="Building Applets" href="http://java.sun.com/developer/onlineTraining/Programming/BasicJava1/applet.html" target="_blank">Building Applets</a> can be more fun than building applications.</p>
<p>At some point, you may want to start using an <a class="wp-caption" title="Integrated Development Environment" href="http://www.apl.jhu.edu/~hall/java/IDEs.html" target="_blank">Integrated Development Environment</a>.</p>
<p>Here are some Java <a class="wp-caption" title="Java Tips" href="http://web.archive.org/web/20060830121337/www.java-tips.org/" target="_blank">Tips</a> and some<a class="wp-caption" title="Step by Step" href="http://java.sun.com/developer/onlineTraining/new2java/stepbystep.html" target="_blank">Step by Step</a> Programming Tutorials.</p>
<p>You may also want to learn more about the <a class="wp-caption" title="AWT" href="http://java.sun.com/developer/onlineTraining/awt/contents.html#AWTBasics" target="_blank">AWT</a> <a class="wp-caption" title="AWT and Swing" href="http://java.sun.com/developer/onlineTraining/GUI/Swing1/shortcourse.html" target="_blank">and</a> <a class="wp-caption" title="Swing" href="http://java.sun.com/developer/onlineTraining/GUI/Swing2/shortcourse.html" target="_blank">Swing</a></p>
<p>Lecture Notes from Intro to Computing at the Free University of <a class="wp-caption" title="Intro to Programming" href="http://www.inf.unibz.it/~calvanese/teaching/05-06-ip/lecture-notes/" target="_blank">Bolzano/Bozen</a>.</div>
<p><a class="permalink_right" title="Permanent link to full entry" href="http://web.archive.org/web/20060903133213/http://www.joelsblog.net/index.php?blog=3&amp;title=java_getting_started&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1"><img class="middle" src="http://web.archive.org/web/20060903133213/http://www.joelsblog.net/skins/custom/img/chain_link.gif" border="0" alt="Permalink" width="14" height="14" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://joelschultz.wordmess.net/20081025/java-getting-started/feed/</wfw:commentRss>
		<slash:comments>97</slash:comments>
		</item>
		<item>
		<title>Bits and Bytes</title>
		<link>http://joelschultz.wordmess.net/20081025/bits-and-bytes/</link>
		<comments>http://joelschultz.wordmess.net/20081025/bits-and-bytes/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 23:04:15 +0000</pubDate>
		<dc:creator>joelschultz</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://joelschultz.wordmess.net/?p=14</guid>
		<description><![CDATA[You might hear an advertisement that says, &#8220;This computer has a 32-bit Pentium processor with 64 megabytes of RAM and 2.1 gigabytes of hard disk space.&#8221; ~ In this article, we will discuss bits and bytes so that you have a complete understanding.
]]></description>
			<content:encoded><![CDATA[<blockquote><p>You might hear an advertisement that says, &#8220;This computer has a 32-bit Pentium processor with 64 megabytes of RAM and 2.1 gigabytes of hard disk space.&#8221; ~ In this article, we will discuss <a class="wp-caption" title="Bits and Bytes" href="http://computer.howstuffworks.com/bytes.htm" target="_blank">bits and bytes</a> so that you have a complete understanding.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://joelschultz.wordmess.net/20081025/bits-and-bytes/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Computer Repair</title>
		<link>http://joelschultz.wordmess.net/20081025/computer-repair/</link>
		<comments>http://joelschultz.wordmess.net/20081025/computer-repair/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 22:53:16 +0000</pubDate>
		<dc:creator>joelschultz</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://joelschultz.wordmess.net/?p=13</guid>
		<description><![CDATA[Should programmers understand basic hardware repair?
Check out what our undercover investigation revealed when we went around shopping for a fair and honest deal.
]]></description>
			<content:encoded><![CDATA[<p>Should programmers understand basic hardware repair?</p>
<blockquote><p>Check out what our <a class="wp-caption" title="Computer Repair" href="http://www.youtube.com/watch?v=Hxqx4hgeKgQ" target="_blank">undercover investigation</a> revealed when we went around shopping for a fair and honest deal.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://joelschultz.wordmess.net/20081025/computer-repair/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>Computers in Space</title>
		<link>http://joelschultz.wordmess.net/20081025/computers-in-space/</link>
		<comments>http://joelschultz.wordmess.net/20081025/computers-in-space/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 22:44:20 +0000</pubDate>
		<dc:creator>joelschultz</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://joelschultz.wordmess.net/?p=12</guid>
		<description><![CDATA[Computers in Spaceflight: The NASA Experience
In the first 25 years of its existence, NASA conducted five manned spaceflight programs: Mercury, Gemini, Apollo, Skylab, and Shuttle. The latter four programs produced spacecraft that had on-board digital computers.
]]></description>
			<content:encoded><![CDATA[<p><a class="wp-caption" title="Computers in Spaceflight" href="http://www.hq.nasa.gov/office/pao/History/computers/contents.html" target="_blank">Computers in Spaceflight</a>: The NASA Experience</p>
<blockquote><p>In the first 25 years of its existence, NASA conducted five manned spaceflight programs: Mercury, <a class="wp-caption" title="Gemini" href="http://www.hq.nasa.gov/office/pao/History/computers/ch1-1.html" target="_blank">Gemini</a>, <a class="wp-caption" title="Apollo" href="http://www.hq.nasa.gov/office/pao/History/computers/Ch2-1.html" target="_blank">Apollo</a>, <a class="wp-caption" title="Skylab" href="http://www.hq.nasa.gov/office/pao/History/computers/Ch3-1.html" target="_blank">Skylab</a>, and <a class="wp-caption" title="Shuttle" href="http://www.hq.nasa.gov/office/pao/History/computers/Ch4-1.html" target="_blank">Shuttle</a>. The latter four programs produced spacecraft that had <a class="wp-caption" title="OnBoardComputers" href="http://www.hq.nasa.gov/office/pao/History/computers/Part1-intro.html" target="_blank">on-board digital computers</a>.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://joelschultz.wordmess.net/20081025/computers-in-space/feed/</wfw:commentRss>
		<slash:comments>64</slash:comments>
		</item>
		<item>
		<title>C+-</title>
		<link>http://joelschultz.wordmess.net/20081025/c/</link>
		<comments>http://joelschultz.wordmess.net/20081025/c/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 22:26:02 +0000</pubDate>
		<dc:creator>joelschultz</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://joelschultz.wordmess.net/?p=11</guid>
		<description><![CDATA[It&#8217;s pronounced &#8220;C, more or less.&#8221;
Unlike C++, C+- is a subject oriented language.
]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s pronounced &#8220;C, more or less.&#8221;</p>
<blockquote><p>Unlike C++, C+- is a <a class="wp-caption" title="C+-" href="http://baetzler.de/humor/c_more_or_less.html" target="_blank">subject oriented language</a>.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://joelschultz.wordmess.net/20081025/c/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Run BASIC</title>
		<link>http://joelschultz.wordmess.net/20081025/run-basic/</link>
		<comments>http://joelschultz.wordmess.net/20081025/run-basic/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 21:47:58 +0000</pubDate>
		<dc:creator>joelschultz</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://joelschultz.wordmess.net/?p=9</guid>
		<description><![CDATA[On this free site you can write and run your own custom computer programs in the familiar BASIC language without installing any programming software on your computer!
They have some good examples.
]]></description>
			<content:encoded><![CDATA[<blockquote><p>On this free site you can write and run your own custom computer programs in the familiar BASIC language <a class="wp-caption" title="Run BASIC" href="www.runbasic.com" target="_blank">without installing any programming software</a> on your computer!</p></blockquote>
<p>They have some good <a class="wp-caption" title="RunBASICExamples" href="http://www.runbasic.com/?_page=examples" target="_blank">examples</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://joelschultz.wordmess.net/20081025/run-basic/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>Abject Oriented Programming</title>
		<link>http://joelschultz.wordmess.net/20081025/abject-oriented-programming/</link>
		<comments>http://joelschultz.wordmess.net/20081025/abject-oriented-programming/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 21:35:09 +0000</pubDate>
		<dc:creator>joelschultz</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://joelschultz.wordmess.net/?p=7</guid>
		<description><![CDATA[This Introduction to Abject Oriented Programming features some familiar terms with some unfamiliar definitions.
abject: utterly hopeless, miserable, humiliating, or wretched: abject poverty.
I like it.
]]></description>
			<content:encoded><![CDATA[<p>This Introduction to Abject Oriented Programming features some familiar terms with some unfamiliar definitions.</p>
<blockquote><p>abject: <a class="wp-caption" title="Abject Oriented Programming" href="http://typicalprogrammer.com/?p=8" target="_blank">utterly hopeless</a>, miserable, humiliating, or wretched: abject poverty.</p></blockquote>
<p>I like it.</p>
]]></content:encoded>
			<wfw:commentRss>http://joelschultz.wordmess.net/20081025/abject-oriented-programming/feed/</wfw:commentRss>
		<slash:comments>90</slash:comments>
		</item>
		<item>
		<title>The Learn List</title>
		<link>http://joelschultz.wordmess.net/20081025/the-learn-list/</link>
		<comments>http://joelschultz.wordmess.net/20081025/the-learn-list/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 21:22:39 +0000</pubDate>
		<dc:creator>joelschultz</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://joelschultz.wordmess.net/?p=6</guid>
		<description><![CDATA[It lists the best websites 		 						 							and books available to help you learn something new!
]]></description>
			<content:encoded><![CDATA[<blockquote><p>It lists the best websites 		 						 							and books available to <a class="wp-caption" title="The Learn List" href="http://www.thelearnlist.com/" target="_blank">help you learn something new</a>!</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://joelschultz.wordmess.net/20081025/the-learn-list/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->