<?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: Joel says teaching Java is bad for CS students</title>
	<atom:link href="http://scobleizer.com/2005/12/29/joel-says-teaching-java-is-bad-for-cs-students/feed/" rel="self" type="application/rss+xml" />
	<link>http://scobleizer.com/2005/12/29/joel-says-teaching-java-is-bad-for-cs-students/</link>
	<description>Searching for world-changing technology</description>
	<lastBuildDate>Tue, 14 Feb 2012 03:41:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: mr2009</title>
		<link>http://scobleizer.com/2005/12/29/joel-says-teaching-java-is-bad-for-cs-students/comment-page-2/#comment-129615</link>
		<dc:creator>mr2009</dc:creator>
		<pubDate>Fri, 24 Jul 2009 07:45:49 +0000</pubDate>
		<guid isPermaLink="false">http://scobleizer.wordpress.com/2005/12/29/joel-says-teaching-java-is-bad-for-cs-students/#comment-129615</guid>
		<description>haha wrong.. java kick ass now&lt;br&gt;but still its best to know c and c++</description>
		<content:encoded><![CDATA[<p>haha wrong.. java kick ass now<br />but still its best to know c and c++</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mr2009</title>
		<link>http://scobleizer.com/2005/12/29/joel-says-teaching-java-is-bad-for-cs-students/comment-page-2/#comment-116986</link>
		<dc:creator>mr2009</dc:creator>
		<pubDate>Fri, 24 Jul 2009 02:45:49 +0000</pubDate>
		<guid isPermaLink="false">http://scobleizer.wordpress.com/2005/12/29/joel-says-teaching-java-is-bad-for-cs-students/#comment-116986</guid>
		<description>haha wrong.. java kick ass now&lt;br&gt;but still its best to know c and c++</description>
		<content:encoded><![CDATA[<p>haha wrong.. java kick ass now<br />but still its best to know c and c++</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: C++ vs Java vs Python &#171; Computing Life</title>
		<link>http://scobleizer.com/2005/12/29/joel-says-teaching-java-is-bad-for-cs-students/comment-page-2/#comment-7765</link>
		<dc:creator>C++ vs Java vs Python &#171; Computing Life</dc:creator>
		<pubDate>Wed, 18 Feb 2009 05:44:00 +0000</pubDate>
		<guid isPermaLink="false">http://scobleizer.wordpress.com/2005/12/29/joel-says-teaching-java-is-bad-for-cs-students/#comment-7765</guid>
		<description>[...] moving to C++. Java currently is in the same state that C++ used to be in 1980 wrt assembly and there are many who clamour for C or C++ to be taught in universities rather than Java for the sake of better [...]</description>
		<content:encoded><![CDATA[<p>[...] moving to C++. Java currently is in the same state that C++ used to be in 1980 wrt assembly and there are many who clamour for C or C++ to be taught in universities rather than Java for the sake of better [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://scobleizer.com/2005/12/29/joel-says-teaching-java-is-bad-for-cs-students/comment-page-2/#comment-7764</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Sat, 10 Nov 2007 19:23:09 +0000</pubDate>
		<guid isPermaLink="false">http://scobleizer.wordpress.com/2005/12/29/joel-says-teaching-java-is-bad-for-cs-students/#comment-7764</guid>
		<description>Well,  isnt it an interesting conversation.... :)
I still dont exactly know why we are so fixated on languages, but an interesting question remain, how will you teach these aspects of CS if your course uses java as a language of choice?
1. Memory arithmetics.
2. OS programming
3. Memory Management
4. Pefromance Programming
5. Real Networking (low level)
6. Shared Memory
7. Concurrency (including Semaphores and Laches)
6. Macro programming and Heap optimization
And I can list more..
I would agree that once you learned the foundations of CS you can go to any language and be efficient.  So, I guess the choice of the language to do real work needs to depend on work, but a choice of the language for learning should not inhibit deep understanding by providing intitive tools.</description>
		<content:encoded><![CDATA[<p>Well,  isnt it an interesting conversation&#8230;. <img src='http://scobleizer.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
I still dont exactly know why we are so fixated on languages, but an interesting question remain, how will you teach these aspects of CS if your course uses java as a language of choice?<br />
1. Memory arithmetics.<br />
2. OS programming<br />
3. Memory Management<br />
4. Pefromance Programming<br />
5. Real Networking (low level)<br />
6. Shared Memory<br />
7. Concurrency (including Semaphores and Laches)<br />
6. Macro programming and Heap optimization<br />
And I can list more..<br />
I would agree that once you learned the foundations of CS you can go to any language and be efficient.  So, I guess the choice of the language to do real work needs to depend on work, but a choice of the language for learning should not inhibit deep understanding by providing intitive tools.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://scobleizer.com/2005/12/29/joel-says-teaching-java-is-bad-for-cs-students/comment-page-2/#comment-142814</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Sat, 10 Nov 2007 19:23:00 +0000</pubDate>
		<guid isPermaLink="false">http://scobleizer.wordpress.com/2005/12/29/joel-says-teaching-java-is-bad-for-cs-students/#comment-142814</guid>
		<description>Well,  isnt it an interesting conversation.... :)
I still dont exactly know why we are so fixated on languages, but an interesting question remain, how will you teach these aspects of CS if your course uses java as a language of choice?
1. Memory arithmetics.
2. OS programming
3. Memory Management
4. Pefromance Programming
5. Real Networking (low level)
6. Shared Memory
7. Concurrency (including Semaphores and Laches)
6. Macro programming and Heap optimization
And I can list more..
I would agree that once you learned the foundations of CS you can go to any language and be efficient.  So, I guess the choice of the language to do real work needs to depend on work, but a choice of the language for learning should not inhibit deep understanding by providing intitive tools.</description>
		<content:encoded><![CDATA[<p>Well,  isnt it an interesting conversation&#8230;. <img src='http://scobleizer.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
I still dont exactly know why we are so fixated on languages, but an interesting question remain, how will you teach these aspects of CS if your course uses java as a language of choice?<br />
1. Memory arithmetics.<br />
2. OS programming<br />
3. Memory Management<br />
4. Pefromance Programming<br />
5. Real Networking (low level)<br />
6. Shared Memory<br />
7. Concurrency (including Semaphores and Laches)<br />
6. Macro programming and Heap optimization<br />
And I can list more..<br />
I would agree that once you learned the foundations of CS you can go to any language and be efficient.  So, I guess the choice of the language to do real work needs to depend on work, but a choice of the language for learning should not inhibit deep understanding by providing intitive tools.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leo</title>
		<link>http://scobleizer.com/2005/12/29/joel-says-teaching-java-is-bad-for-cs-students/comment-page-2/#comment-7763</link>
		<dc:creator>Leo</dc:creator>
		<pubDate>Sat, 22 Apr 2006 20:32:01 +0000</pubDate>
		<guid isPermaLink="false">http://scobleizer.wordpress.com/2005/12/29/joel-says-teaching-java-is-bad-for-cs-students/#comment-7763</guid>
		<description>Ok, let&#039;s sum it up once again: Joel is sad that he can&#039;t tell good programmers from bad programmers because they have learnt only Java.
In fact he&#039;s aggrieved over his own inexperience with Java.
Let&#039;s repeat an obvious fact: There are things you code in Java, and things you code in other languages (any programmer who knows more than one language probably agrees on this point). Remember, Java is more of a design language than C++; it abstracts away a lot of - arguably - unnecessary issues (like memory allocation and thread locking) and gives you headroom for the higher-level issues, such as maintainability, transparent design, code re-use and documentation (in that sense Java is much closer to scripting languages).
If you want to know a good Java programmer from a bad Java programmer, there are numerous questions that easily reveal the degree of experience of an applicant - e.g. the advantage of using static methods over instance methods, synchronization issues (how do you make sure that a piece of code is executed only once at a given time?), what are the advantages of a given pattern over another, and so on. These things really tell you how deeply a person has been involved with computer programming. And if they grasp those, there&#039;s no reason why they shouldn&#039;t be able to understand pointers or recursion because they have the ability to think out problems in-depth and not on just on a superficial level. I thing that Java is highly underestimated on this point. The problem space is shifted, but nonetheless complex.
Personally I have had to interview some people with a Java background, and I have found it quite easy how to separate the wheat from the chaff.
I think we should clarify two points:
1. Universities don&#039;t teach you how to program. Only industry experience does that.
2. If you need people with C knowledge, don&#039;t try Java-only programmers.

So, if Joel whines about his inability to tell good programmers from bad ones - that&#039;s his problem, and his alone. I wouldn&#039;t mind hiring a Java-only programmer for a Java project, especially if she can answer the above questions.</description>
		<content:encoded><![CDATA[<p>Ok, let&#8217;s sum it up once again: Joel is sad that he can&#8217;t tell good programmers from bad programmers because they have learnt only Java.<br />
In fact he&#8217;s aggrieved over his own inexperience with Java.<br />
Let&#8217;s repeat an obvious fact: There are things you code in Java, and things you code in other languages (any programmer who knows more than one language probably agrees on this point). Remember, Java is more of a design language than C++; it abstracts away a lot of &#8211; arguably &#8211; unnecessary issues (like memory allocation and thread locking) and gives you headroom for the higher-level issues, such as maintainability, transparent design, code re-use and documentation (in that sense Java is much closer to scripting languages).<br />
If you want to know a good Java programmer from a bad Java programmer, there are numerous questions that easily reveal the degree of experience of an applicant &#8211; e.g. the advantage of using static methods over instance methods, synchronization issues (how do you make sure that a piece of code is executed only once at a given time?), what are the advantages of a given pattern over another, and so on. These things really tell you how deeply a person has been involved with computer programming. And if they grasp those, there&#8217;s no reason why they shouldn&#8217;t be able to understand pointers or recursion because they have the ability to think out problems in-depth and not on just on a superficial level. I thing that Java is highly underestimated on this point. The problem space is shifted, but nonetheless complex.<br />
Personally I have had to interview some people with a Java background, and I have found it quite easy how to separate the wheat from the chaff.<br />
I think we should clarify two points:<br />
1. Universities don&#8217;t teach you how to program. Only industry experience does that.<br />
2. If you need people with C knowledge, don&#8217;t try Java-only programmers.</p>
<p>So, if Joel whines about his inability to tell good programmers from bad ones &#8211; that&#8217;s his problem, and his alone. I wouldn&#8217;t mind hiring a Java-only programmer for a Java project, especially if she can answer the above questions.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

