<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Java considered harmful as first programming language&#8230;</title>
	<atom:link href="http://t-machine.org/index.php/2008/02/13/java-considered-harmful-as-first-programming-language/feed/" rel="self" type="application/rss+xml" />
	<link>http://t-machine.org/index.php/2008/02/13/java-considered-harmful-as-first-programming-language/</link>
	<description>Internet Gaming, Computer Games, Technology, MMO, and Web 2.0</description>
	<lastBuildDate>Wed, 08 Sep 2010 00:35:34 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: adam</title>
		<link>http://t-machine.org/index.php/2008/02/13/java-considered-harmful-as-first-programming-language/comment-page-1/#comment-1492</link>
		<dc:creator>adam</dc:creator>
		<pubDate>Thu, 14 Feb 2008 09:50:19 +0000</pubDate>
		<guid isPermaLink="false">http://tmachine1.dh.bytemark.co.uk/blog/index.php/2008/02/13/java-considered-harmful-as-first-programming-language/#comment-1492</guid>
		<description>Sure, C# may support fn programming, but it doesn&#039;t enforce it. Since you&#039;re trying to teach students to think functionally, I feel you need something that does enforce it. I think both Java and C# are good languages to teach *at some point* on a CS course, but just not necessarily the first language.</description>
		<content:encoded><![CDATA[<p>Sure, C# may support fn programming, but it doesn&#8217;t enforce it. Since you&#8217;re trying to teach students to think functionally, I feel you need something that does enforce it. I think both Java and C# are good languages to teach *at some point* on a CS course, but just not necessarily the first language.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Grant</title>
		<link>http://t-machine.org/index.php/2008/02/13/java-considered-harmful-as-first-programming-language/comment-page-1/#comment-1489</link>
		<dc:creator>Mark Grant</dc:creator>
		<pubDate>Thu, 14 Feb 2008 08:24:21 +0000</pubDate>
		<guid isPermaLink="false">http://tmachine1.dh.bytemark.co.uk/blog/index.php/2008/02/13/java-considered-harmful-as-first-programming-language/#comment-1489</guid>
		<description>C# has anonymous functions and higher-order functions - so you can write functional programs in C# (shame Java doesnt). Also if you want a good ide with a functional language try F# (written in Microsoft&#039;s Cambridge labs and being turned into an official MS language), which is a .Net functional language and therefore works within Visual Studio. (Which ignoring any anti-MS bile is a pretty good IDE - I haven&#039;t used Eclipse in years so I couldn&#039;t compare!!!).</description>
		<content:encoded><![CDATA[<p>C# has anonymous functions and higher-order functions &#8211; so you can write functional programs in C# (shame Java doesnt). Also if you want a good ide with a functional language try F# (written in Microsoft&#8217;s Cambridge labs and being turned into an official MS language), which is a .Net functional language and therefore works within Visual Studio. (Which ignoring any anti-MS bile is a pretty good IDE &#8211; I haven&#8217;t used Eclipse in years so I couldn&#8217;t compare!!!).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Darius K.</title>
		<link>http://t-machine.org/index.php/2008/02/13/java-considered-harmful-as-first-programming-language/comment-page-1/#comment-1470</link>
		<dc:creator>Darius K.</dc:creator>
		<pubDate>Wed, 13 Feb 2008 21:00:07 +0000</pubDate>
		<guid isPermaLink="false">http://tmachine1.dh.bytemark.co.uk/blog/index.php/2008/02/13/java-considered-harmful-as-first-programming-language/#comment-1470</guid>
		<description>My first *formal* education in programming (not including messing around in BASIC on my TRS-80) was in C, but it was a year-long high school course in C where we pretty much learned the higher concepts of what you might learn in a course on Assembly language. We spent five months on &quot;bit flipping,&quot; which was just pointing to memory locations and running ROTs and masks and stuff on them, writing your own putpixel with double buffering, that sort of thing.

Then I took a C++ class, in which I learned almost nothing.

Then I took electrical engineering courses and learned to program entirely in Assembly on the X86, 680x, 68000k, ARM, PIC, and a few others that escape me right now. At which point I realized I didn&#039;t care about programming that much and wanted to be a hardware engineer.

And then somehow I ended up working on video games. But I&#039;m still not a programmer!

...was I going somewhere with this? I forget.

Oh yeah. The point is, I agree with the bottom-up approach to programming. Learn the basics, start with an incredibly simple (by modern standards) processor, learn ASM or something just-barely-above-ASM for that processor. 

Although this could just be my bias. One of the things that always held me back as a programmer was my complete inability to understand classes, virtual functions, templates, and all that other stuff that I know just enough about to know I don&#039;t understand. Granted, I never really put my mind to it because I resigned myself to hardware by the time I was being taught that stuff.

But still. I was always good at the low-level machine code and the high-level state machine / turing machine / graph theory / complete grammar / CS-type-stuff. Yet I never managed to fill in the middle.</description>
		<content:encoded><![CDATA[<p>My first *formal* education in programming (not including messing around in BASIC on my TRS-80) was in C, but it was a year-long high school course in C where we pretty much learned the higher concepts of what you might learn in a course on Assembly language. We spent five months on &#8220;bit flipping,&#8221; which was just pointing to memory locations and running ROTs and masks and stuff on them, writing your own putpixel with double buffering, that sort of thing.</p>
<p>Then I took a C++ class, in which I learned almost nothing.</p>
<p>Then I took electrical engineering courses and learned to program entirely in Assembly on the X86, 680x, 68000k, ARM, PIC, and a few others that escape me right now. At which point I realized I didn&#8217;t care about programming that much and wanted to be a hardware engineer.</p>
<p>And then somehow I ended up working on video games. But I&#8217;m still not a programmer!</p>
<p>&#8230;was I going somewhere with this? I forget.</p>
<p>Oh yeah. The point is, I agree with the bottom-up approach to programming. Learn the basics, start with an incredibly simple (by modern standards) processor, learn ASM or something just-barely-above-ASM for that processor. </p>
<p>Although this could just be my bias. One of the things that always held me back as a programmer was my complete inability to understand classes, virtual functions, templates, and all that other stuff that I know just enough about to know I don&#8217;t understand. Granted, I never really put my mind to it because I resigned myself to hardware by the time I was being taught that stuff.</p>
<p>But still. I was always good at the low-level machine code and the high-level state machine / turing machine / graph theory / complete grammar / CS-type-stuff. Yet I never managed to fill in the middle.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
