<?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: Why Programmers Suck</title>
	<atom:link href="http://www.codesimplicity.com/post/why-programmers-suck/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codesimplicity.com/post/why-programmers-suck/</link>
	<description></description>
	<lastBuildDate>Thu, 29 Jul 2010 19:07:27 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Thapelo</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-2020</link>
		<dc:creator>Thapelo</dc:creator>
		<pubDate>Thu, 29 Jul 2010 19:07:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-2020</guid>
		<description>The problem with not constantly updating your self new  programming technologies is that it will eventually seem like alot to digest thus leading to more problems for you in the future , i advice any programmer to atleast learn some new technology now and then as technology is changing at a really fast pace</description>
		<content:encoded><![CDATA[<p>The problem with not constantly updating your self new  programming technologies is that it will eventually seem like alot to digest thus leading to more problems for you in the future , i advice any programmer to atleast learn some new technology now and then as technology is changing at a really fast pace</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-2016</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Thu, 24 Jun 2010 22:47:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-2016</guid>
		<description>Well...I understand what you&#039;re saying, but I pretty much disagree with you. It sounds like you&#039;re arguing for ignorance because some new technologies are hard to understand. You can&#039;t have that attitude and remain a good programmer. It would be like people who refused to drive cars because they were familiar with carriages--it may be your option to make that decision, but it&#039;s just going to inconvenience you, because cars really are much better, even though they do take some learning. In the case of being a programmer, it&#039;s even worse, though, because being tied only to the technologies you already know is going to cause your code to degrade more and more over time, and the people who will be affected are your users, not just you.

-Max</description>
		<content:encoded><![CDATA[<p>Well&#8230;I understand what you&#8217;re saying, but I pretty much disagree with you. It sounds like you&#8217;re arguing for ignorance because some new technologies are hard to understand. You can&#8217;t have that attitude and remain a good programmer. It would be like people who refused to drive cars because they were familiar with carriages&#8211;it may be your option to make that decision, but it&#8217;s just going to inconvenience you, because cars really are much better, even though they do take some learning. In the case of being a programmer, it&#8217;s even worse, though, because being tied only to the technologies you already know is going to cause your code to degrade more and more over time, and the people who will be affected are your users, not just you.</p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lalbatros</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-2015</link>
		<dc:creator>Lalbatros</dc:creator>
		<pubDate>Thu, 24 Jun 2010 09:10:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-2015</guid>
		<description>By reading a great book on &quot;Intuition&quot; (°) I learned how and why humans like simplicity.
However, simplicity like intuition can have its powers and perils.
Therefore I ask: why should I learn and try to know more than what I need?

I now spent at least two days to figure how I could benefit from &quot;LINQ to SQL&quot; in my projects.
This was funny but quite useless: I just went back to use the good old &quot;ODBC connection strings&quot; and manipulating the data as I do already since 10 years. 
And I still don&#039;t see a use case applicable to my current activities.

Why did I want to learn, why was I so afraid to be ignorant?
It is true that the not-yet-read books on my bookshelf are telling a lot about my curiosity.
But those IT books that I didn&#039;t read and that I throwed away to the garbage bin, they just show how stupid I can be sometimes when I want to inflate my head without purpose.

Maybe to keep code simple, we need to protect our head from useless information.

(°)
Intuition: Its Powers and Perils   
Yale University Press, 2002   
David G. Myers</description>
		<content:encoded><![CDATA[<p>By reading a great book on &#8220;Intuition&#8221; (°) I learned how and why humans like simplicity.<br />
However, simplicity like intuition can have its powers and perils.<br />
Therefore I ask: why should I learn and try to know more than what I need?</p>
<p>I now spent at least two days to figure how I could benefit from &#8220;LINQ to SQL&#8221; in my projects.<br />
This was funny but quite useless: I just went back to use the good old &#8220;ODBC connection strings&#8221; and manipulating the data as I do already since 10 years.<br />
And I still don&#8217;t see a use case applicable to my current activities.</p>
<p>Why did I want to learn, why was I so afraid to be ignorant?<br />
It is true that the not-yet-read books on my bookshelf are telling a lot about my curiosity.<br />
But those IT books that I didn&#8217;t read and that I throwed away to the garbage bin, they just show how stupid I can be sometimes when I want to inflate my head without purpose.</p>
<p>Maybe to keep code simple, we need to protect our head from useless information.</p>
<p>(°)<br />
Intuition: Its Powers and Perils<br />
Yale University Press, 2002<br />
David G. Myers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-2009</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Sat, 12 Jun 2010 20:30:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-2009</guid>
		<description>Those are great answers; I&#039;d guess you&#039;re a pretty darn good programmer. :-)

-Max</description>
		<content:encoded><![CDATA[<p>Those are great answers; I&#8217;d guess you&#8217;re a pretty darn good programmer. <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ape</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1998</link>
		<dc:creator>Ape</dc:creator>
		<pubDate>Sat, 12 Jun 2010 10:36:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1998</guid>
		<description>Do you know as much as possible about every single word and symbol on every page of code you’re writing?

- IF I don&#039;t it makes me feel unsure of my program.  I don&#039;t like that feeling, so I only write what I understand.

Did you read and completely understand the documentation of every single function you’re using?

- Read? yes. Understand? Sometimes.  Occasionally I&#039;ll see a function whose use is part of a larger mechanism that I am either unfamiliar with, or isn&#039;t immediately apparent to be working that way.

Do you have an excellent grasp of the fundamental principles of software development–such a good grasp that you could explain them flawlessly to novice programmers at your organization?

- Depending on the preconceived notions of the novice programmer. Some can be hard to overcome and act as a sort of mental pollution.

Do you understand how each component of the computer functions, and how they all work together?

- In some cases, down the the electrical flow of certain chips.

Do you understand the history of computers, and where they’re going in the future, so that you can understand how your code will function on the computers that will be built in the future?

- Yes for the past. But as toward their future I am still uncertain, but would like to think that I am taking part in influencing them in their direction.

Do you know the history of programming languages, so that you can understand how the language you’re using evolved and why it works like it does?

- Yes, some more intimately than others.

Do you understand other programming languages, other methods of programming, and other types of computers than the one you’re using, so that you know what the actual best tool for each job is?

- I understand enough about other programming languages to decide effectively (if only through research) what tool is best for the job.  I don&#039;t feel I have to know EVERY language, but must know enough about different types/pros/cons of languages to make that decision.</description>
		<content:encoded><![CDATA[<p>Do you know as much as possible about every single word and symbol on every page of code you’re writing?</p>
<p>- IF I don&#8217;t it makes me feel unsure of my program.  I don&#8217;t like that feeling, so I only write what I understand.</p>
<p>Did you read and completely understand the documentation of every single function you’re using?</p>
<p>- Read? yes. Understand? Sometimes.  Occasionally I&#8217;ll see a function whose use is part of a larger mechanism that I am either unfamiliar with, or isn&#8217;t immediately apparent to be working that way.</p>
<p>Do you have an excellent grasp of the fundamental principles of software development–such a good grasp that you could explain them flawlessly to novice programmers at your organization?</p>
<p>- Depending on the preconceived notions of the novice programmer. Some can be hard to overcome and act as a sort of mental pollution.</p>
<p>Do you understand how each component of the computer functions, and how they all work together?</p>
<p>- In some cases, down the the electrical flow of certain chips.</p>
<p>Do you understand the history of computers, and where they’re going in the future, so that you can understand how your code will function on the computers that will be built in the future?</p>
<p>- Yes for the past. But as toward their future I am still uncertain, but would like to think that I am taking part in influencing them in their direction.</p>
<p>Do you know the history of programming languages, so that you can understand how the language you’re using evolved and why it works like it does?</p>
<p>- Yes, some more intimately than others.</p>
<p>Do you understand other programming languages, other methods of programming, and other types of computers than the one you’re using, so that you know what the actual best tool for each job is?</p>
<p>- I understand enough about other programming languages to decide effectively (if only through research) what tool is best for the job.  I don&#8217;t feel I have to know EVERY language, but must know enough about different types/pros/cons of languages to make that decision.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1496</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Tue, 05 Jan 2010 03:06:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1496</guid>
		<description>That&#039;s a remarkable story (mostly because few programmers are that adaptable to new developments, even though they should be), and I think you&#039;re totally right about everything you said.

The &quot;I have to be complex to prove that I know my stuff&quot; bit is actually something I wrote a post about, a couple years ago: http://www.codesimplicity.com/post/complexity-is-a-prison/ -- I did it in such a fashion as to attempt to address those sorts of people directly, so maybe they would see another side of things.

I agree that there&#039;s a severe educational problem about analysis and the best application of the tools. That&#039;s actually one reason why I&#039;m writing a book about the basic laws of software design--I think that it&#039;s not the teachers that are necessarily at fault, but actually a total lack of a simple manual that would describe what people should actually be thinking and doing when they design software--what the fundamental laws are, and so forth.

-Max</description>
		<content:encoded><![CDATA[<p>That&#8217;s a remarkable story (mostly because few programmers are that adaptable to new developments, even though they should be), and I think you&#8217;re totally right about everything you said.</p>
<p>The &#8220;I have to be complex to prove that I know my stuff&#8221; bit is actually something I wrote a post about, a couple years ago: <a href="http://www.codesimplicity.com/post/complexity-is-a-prison/" rel="nofollow">http://www.codesimplicity.com/post/complexity-is-a-prison/</a> &#8212; I did it in such a fashion as to attempt to address those sorts of people directly, so maybe they would see another side of things.</p>
<p>I agree that there&#8217;s a severe educational problem about analysis and the best application of the tools. That&#8217;s actually one reason why I&#8217;m writing a book about the basic laws of software design&#8211;I think that it&#8217;s not the teachers that are necessarily at fault, but actually a total lack of a simple manual that would describe what people should actually be thinking and doing when they design software&#8211;what the fundamental laws are, and so forth.</p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard N</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1489</link>
		<dc:creator>Richard N</dc:creator>
		<pubDate>Sat, 02 Jan 2010 19:29:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1489</guid>
		<description>I programmed for many years, starting in 1981. Yes, I did BASIC and Fortran and all that stuff. Then got really into dBase 2,3 and 4, then Foxpro and finally Cold Fusion (Allaire, then). I learned from the get-go to program as modular a fashion as possible. Reuse code... and keep it compact and simple. When OOP came about, I was already for that style change. Again, I used simple modules to do the work. 
One thing I noticed about some Cold Fusion programmers is that they would write code that was fantastically convoluted to the point of absurdity. I finally figured out it was done, on purpose, to achieve: 1) job security; no one can figure out the code 2) impress the management as to your degree of cleverness... A class act that says: &quot;The more complex the code then the better it is&quot;. You can write code tighter than anyone. These type of coders usually get their asses handed to them when there is a major revision in the overall corporate code base or strategy. 
I have proven time and time again that a longer, simpler approach always works best. Usually runs as fast or faster than any super-compact code. Besides, if you code kind of loose, then no proposed revision will make you panic. You already have &#039;plug-in&#039; capacity for change. 
I think a lot of the problem is that not all programmers are well taught to do the analysis part on a project. To be able to not only design for today but to leave the code base very open to alterations. Anticipate future needs. 

It&#039;s an educational problem. Programmers are taught the tools but not always the best application of those tools. That takes time and getting into some serious self criticism.</description>
		<content:encoded><![CDATA[<p>I programmed for many years, starting in 1981. Yes, I did BASIC and Fortran and all that stuff. Then got really into dBase 2,3 and 4, then Foxpro and finally Cold Fusion (Allaire, then). I learned from the get-go to program as modular a fashion as possible. Reuse code&#8230; and keep it compact and simple. When OOP came about, I was already for that style change. Again, I used simple modules to do the work.<br />
One thing I noticed about some Cold Fusion programmers is that they would write code that was fantastically convoluted to the point of absurdity. I finally figured out it was done, on purpose, to achieve: 1) job security; no one can figure out the code 2) impress the management as to your degree of cleverness&#8230; A class act that says: &#8220;The more complex the code then the better it is&#8221;. You can write code tighter than anyone. These type of coders usually get their asses handed to them when there is a major revision in the overall corporate code base or strategy.<br />
I have proven time and time again that a longer, simpler approach always works best. Usually runs as fast or faster than any super-compact code. Besides, if you code kind of loose, then no proposed revision will make you panic. You already have &#8216;plug-in&#8217; capacity for change.<br />
I think a lot of the problem is that not all programmers are well taught to do the analysis part on a project. To be able to not only design for today but to leave the code base very open to alterations. Anticipate future needs. </p>
<p>It&#8217;s an educational problem. Programmers are taught the tools but not always the best application of those tools. That takes time and getting into some serious self criticism.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1455</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Tue, 15 Dec 2009 22:07:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1455</guid>
		<description>Well, that&#039;s better than most people can say. But I&#039;d assume that&#039;s not &quot;yes absolutely&quot; but more &quot;yes, enough to be good at what I&#039;m doing&quot;, since it would probably be impossible to answer &quot;yes absolutely&quot; to any of the questions.

I think that a &quot;yes&quot; to the other four questions would make you even better than you are, though.

-Max</description>
		<content:encoded><![CDATA[<p>Well, that&#8217;s better than most people can say. But I&#8217;d assume that&#8217;s not &#8220;yes absolutely&#8221; but more &#8220;yes, enough to be good at what I&#8217;m doing&#8221;, since it would probably be impossible to answer &#8220;yes absolutely&#8221; to any of the questions.</p>
<p>I think that a &#8220;yes&#8221; to the other four questions would make you even better than you are, though.</p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kyle</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1454</link>
		<dc:creator>Kyle</dc:creator>
		<pubDate>Tue, 15 Dec 2009 22:05:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1454</guid>
		<description>I can answer yes to the first three of those seven questions. Is that good enough, or am I a terrible programmer?</description>
		<content:encoded><![CDATA[<p>I can answer yes to the first three of those seven questions. Is that good enough, or am I a terrible programmer?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kyle</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1453</link>
		<dc:creator>Kyle</dc:creator>
		<pubDate>Tue, 15 Dec 2009 22:04:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1453</guid>
		<description>Yikes to that. I&#039;ve never trusted doctors. It&#039;s irksome to think they can profit from prolonging your illnesses. And as little as they may know about what they&#039;re doing, they know that their patients know much, much less.</description>
		<content:encoded><![CDATA[<p>Yikes to that. I&#8217;ve never trusted doctors. It&#8217;s irksome to think they can profit from prolonging your illnesses. And as little as they may know about what they&#8217;re doing, they know that their patients know much, much less.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1446</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Mon, 07 Dec 2009 18:01:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1446</guid>
		<description>I didn&#039;t say the programmer has to know everything down to that level, just that they should understand the documentation of the functions, keywords, and symbols that they&#039;re using.

If you don&#039;t have the time to study the parts of an API that you will be using...that&#039;s like saying that you don&#039;t have time to learn how to drive a car before you get behind the wheel of one.

-Max</description>
		<content:encoded><![CDATA[<p>I didn&#8217;t say the programmer has to know everything down to that level, just that they should understand the documentation of the functions, keywords, and symbols that they&#8217;re using.</p>
<p>If you don&#8217;t have the time to study the parts of an API that you will be using&#8230;that&#8217;s like saying that you don&#8217;t have time to learn how to drive a car before you get behind the wheel of one.</p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1445</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Mon, 07 Dec 2009 17:59:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1445</guid>
		<description>That&#039;s pretty interesting, to know about the other fields. I think I&#039;ve seen it happen to some degree or another with doctors and so forth, since sometimes I&#039;ll have friends who talk to one doctor for years, only to switch to another doctor and suddenly have their problem resolved immediately. I suppose it&#039;s somewhat less &lt;em&gt;likely&lt;/em&gt; with doctors, but I&#039;d have to guess it still happens.

-Max</description>
		<content:encoded><![CDATA[<p>That&#8217;s pretty interesting, to know about the other fields. I think I&#8217;ve seen it happen to some degree or another with doctors and so forth, since sometimes I&#8217;ll have friends who talk to one doctor for years, only to switch to another doctor and suddenly have their problem resolved immediately. I suppose it&#8217;s somewhat less <em>likely</em> with doctors, but I&#8217;d have to guess it still happens.</p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hf brooks</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1444</link>
		<dc:creator>hf brooks</dc:creator>
		<pubDate>Sun, 06 Dec 2009 22:50:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1444</guid>
		<description>interesting article.

it applies to all fields, though. coming from print design and production, it is RARE to see any graphic designers that haven&#039;t worked in printing companies design something that actually prints right. so - 90% of print designers haven&#039;t a clue either.

kind of frightening when it comes to thinking about brain surgeons and doctors like this though, isn&#039;t it?</description>
		<content:encoded><![CDATA[<p>interesting article.</p>
<p>it applies to all fields, though. coming from print design and production, it is RARE to see any graphic designers that haven&#8217;t worked in printing companies design something that actually prints right. so &#8211; 90% of print designers haven&#8217;t a clue either.</p>
<p>kind of frightening when it comes to thinking about brain surgeons and doctors like this though, isn&#8217;t it?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: realityCheck</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1439</link>
		<dc:creator>realityCheck</dc:creator>
		<pubDate>Fri, 04 Dec 2009 23:24:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1439</guid>
		<description>It simply isn&#039;t feasable for any programmer to look at the code behind every API down through various libc&#039;s, taking into account compiler optimizations for specific processors.  Thus, no programmer can be confident about what&#039;s going on with their code unless they&#039;re programming to the metal in assembly.  Even then you couldn&#039;t be confident about the microcode on specific revisions of CPUs implementing the target ISA (your crystal ball, future directions point).

Civil engineers aren&#039;t generally concerned with quantum physics, somewhere you have to draw a line.  With software, that line is usually under the API&#039;s you&#039;re using in a given project.  If the tests run and the code works, programmers move on to the next problem.

It&#039;s inacurate to state that 90% of programmers don&#039;t know what they&#039;re doing.  It&#039;s more accurate to say that a small percentage of programmers don&#039;t have a clue (like the guy who wrote the comment plugin you&#039;re using -- requires javascript) and the majority don&#039;t have the time to fully study every single API they&#039;ll use in their career.  What&#039;s more, programmers who do dive into the layers of abstraction upon which they depend will likely be disgusted by the ugly hacks lurking beneath the surface.</description>
		<content:encoded><![CDATA[<p>It simply isn&#8217;t feasable for any programmer to look at the code behind every API down through various libc&#8217;s, taking into account compiler optimizations for specific processors.  Thus, no programmer can be confident about what&#8217;s going on with their code unless they&#8217;re programming to the metal in assembly.  Even then you couldn&#8217;t be confident about the microcode on specific revisions of CPUs implementing the target ISA (your crystal ball, future directions point).</p>
<p>Civil engineers aren&#8217;t generally concerned with quantum physics, somewhere you have to draw a line.  With software, that line is usually under the API&#8217;s you&#8217;re using in a given project.  If the tests run and the code works, programmers move on to the next problem.</p>
<p>It&#8217;s inacurate to state that 90% of programmers don&#8217;t know what they&#8217;re doing.  It&#8217;s more accurate to say that a small percentage of programmers don&#8217;t have a clue (like the guy who wrote the comment plugin you&#8217;re using &#8212; requires javascript) and the majority don&#8217;t have the time to fully study every single API they&#8217;ll use in their career.  What&#8217;s more, programmers who do dive into the layers of abstraction upon which they depend will likely be disgusted by the ugly hacks lurking beneath the surface.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1438</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Fri, 04 Dec 2009 10:41:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1438</guid>
		<description>That&#039;s totally fine, I just wanted to make sure that we didn&#039;t get too off-topic in the comment threads. :-)

-Max</description>
		<content:encoded><![CDATA[<p>That&#8217;s totally fine, I just wanted to make sure that we didn&#8217;t get too off-topic in the comment threads. <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1437</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Fri, 04 Dec 2009 10:39:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1437</guid>
		<description>No, that&#039;s not true. I know quite a few people who would fall into the 10%, and they are almost always working on really interesting projects.

-Max</description>
		<content:encoded><![CDATA[<p>No, that&#8217;s not true. I know quite a few people who would fall into the 10%, and they are almost always working on really interesting projects.</p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ted Mielczarek</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1436</link>
		<dc:creator>Ted Mielczarek</dc:creator>
		<pubDate>Fri, 04 Dec 2009 06:15:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1436</guid>
		<description>Warning: results not typical. ;-)</description>
		<content:encoded><![CDATA[<p>Warning: results not typical. <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vladimir Dzhuvinov</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1431</link>
		<dc:creator>Vladimir Dzhuvinov</dc:creator>
		<pubDate>Thu, 03 Dec 2009 07:11:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1431</guid>
		<description>I&#039;m sorry for the diversion. This was just my interpretation of the &quot;stack trace&quot; for this particular observation of yours.</description>
		<content:encoded><![CDATA[<p>I&#8217;m sorry for the diversion. This was just my interpretation of the &#8220;stack trace&#8221; for this particular observation of yours.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: johnjbarton</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1430</link>
		<dc:creator>johnjbarton</dc:creator>
		<pubDate>Thu, 03 Dec 2009 05:08:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1430</guid>
		<description>Sure,

  The vast majority (90% or more) of programmers have absolutely no idea what they are doing.

but,

  The other 10% are not doing anything interesting.

Programming operates at the limit of human cognition. Programmers will never know what they are doing. 

jjb</description>
		<content:encoded><![CDATA[<p>Sure,</p>
<p>  The vast majority (90% or more) of programmers have absolutely no idea what they are doing.</p>
<p>but,</p>
<p>  The other 10% are not doing anything interesting.</p>
<p>Programming operates at the limit of human cognition. Programmers will never know what they are doing. </p>
<p>jjb</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Havvy</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1429</link>
		<dc:creator>Havvy</dc:creator>
		<pubDate>Thu, 03 Dec 2009 04:40:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1429</guid>
		<description>High School Senior here...I only need two classes to graduate, once forced to be taken as a senior; the other a fine arts credit.  Because of this, outside of school, where I claim my external knowledge (along with the Internet, and correspondence with the local librarians [who have personality and lives in this town]), I spend a great deal of time on introspection.  I do this by looking at my dreams (something that school says nothing about), reading manuals on games (and fitting myself into the rules), and other similar things.  The imaginary number (square root of minus one) comes into my mind often actually, but I&#039;m an academic person in nature...just like those who are athletic think about the game.  Still, 90% of the classes are geared towards academia is an issue...and 5% are towards introspection (drama &amp; relationships).  Even art is taught in a somewhat scientific manner...and it is annoying.  Classes on sexuality (and not just the bad sides of it) is not a unique idea I have ran across.  It came into my mind frequently as a sophomore, and there was a book made in 2001 that discussed it.  It is a good idea, and should be implemented, but will not because education is in control of the government, and those in control of government dislike teaching sexuality.  So, once you have your curriculum, make sure to create a private school.  Kind of ranty this is, but hopefully it helps.</description>
		<content:encoded><![CDATA[<p>High School Senior here&#8230;I only need two classes to graduate, once forced to be taken as a senior; the other a fine arts credit.  Because of this, outside of school, where I claim my external knowledge (along with the Internet, and correspondence with the local librarians [who have personality and lives in this town]), I spend a great deal of time on introspection.  I do this by looking at my dreams (something that school says nothing about), reading manuals on games (and fitting myself into the rules), and other similar things.  The imaginary number (square root of minus one) comes into my mind often actually, but I&#8217;m an academic person in nature&#8230;just like those who are athletic think about the game.  Still, 90% of the classes are geared towards academia is an issue&#8230;and 5% are towards introspection (drama &amp; relationships).  Even art is taught in a somewhat scientific manner&#8230;and it is annoying.  Classes on sexuality (and not just the bad sides of it) is not a unique idea I have ran across.  It came into my mind frequently as a sophomore, and there was a book made in 2001 that discussed it.  It is a good idea, and should be implemented, but will not because education is in control of the government, and those in control of government dislike teaching sexuality.  So, once you have your curriculum, make sure to create a private school.  Kind of ranty this is, but hopefully it helps.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1425</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Thu, 03 Dec 2009 00:13:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1425</guid>
		<description>Well, I think this is getting pretty off-topic, but I do at least agree that it&#039;d be nice to have schools focus on talking about some things that are more relevant to everyday life.

  -Max</description>
		<content:encoded><![CDATA[<p>Well, I think this is getting pretty off-topic, but I do at least agree that it&#8217;d be nice to have schools focus on talking about some things that are more relevant to everyday life.</p>
<p>  -Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1424</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Thu, 03 Dec 2009 00:12:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1424</guid>
		<description>Yeah, I&#039;ve heard people call it that as well, although I think that sometimes that term isn&#039;t as well-defined (or as well-known) as it could be. :-)

And yeah, it&#039;s often a symptom of that mentality where people don&#039;t care about the craft of the field.

I&#039;ve seen an 80% figure for the difference between &quot;good&quot; programmers and &quot;normal&quot; programmers--that&#039;s the one I see the most often. My experience was a lot more severe, though--not just that the 20% &quot;weren&#039;t quite as good&quot;, but that they only appeared to be competent at all and were in fact largely in the dark as to what they were doing, to some degree or another.

-Max</description>
		<content:encoded><![CDATA[<p>Yeah, I&#8217;ve heard people call it that as well, although I think that sometimes that term isn&#8217;t as well-defined (or as well-known) as it could be. <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>And yeah, it&#8217;s often a symptom of that mentality where people don&#8217;t care about the craft of the field.</p>
<p>I&#8217;ve seen an 80% figure for the difference between &#8220;good&#8221; programmers and &#8220;normal&#8221; programmers&#8211;that&#8217;s the one I see the most often. My experience was a lot more severe, though&#8211;not just that the 20% &#8220;weren&#8217;t quite as good&#8221;, but that they only appeared to be competent at all and were in fact largely in the dark as to what they were doing, to some degree or another.</p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vladimir Dzhuvinov</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1422</link>
		<dc:creator>Vladimir Dzhuvinov</dc:creator>
		<pubDate>Wed, 02 Dec 2009 17:59:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1422</guid>
		<description>That many grownups themselves, including teachers, have problems with relationships should not be a reason not to entrust schools to deal with this topic. What other more qualified institution could there be? Parents? Well, parenthood has even lower qualification demands than becoming a teacher :) For that you only need certain body organs; intelligence is not required to produce offspring :)

For instruction to be credible and for kids to pay attention the teacher must be a living example of it. But this is hard to get. Therefore such classes must not deliver any &quot;pre-packaged&quot; advice at all, but instead focus on games, discussion and sharing experience, so that everyone can reach his individual conclusions - and think independently. This would also remove a lot of pressure from the teacher and not require him to be a relationship guru or be proficient in all kama sutra positions :)

This is the way forward.</description>
		<content:encoded><![CDATA[<p>That many grownups themselves, including teachers, have problems with relationships should not be a reason not to entrust schools to deal with this topic. What other more qualified institution could there be? Parents? Well, parenthood has even lower qualification demands than becoming a teacher <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  For that you only need certain body organs; intelligence is not required to produce offspring <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>For instruction to be credible and for kids to pay attention the teacher must be a living example of it. But this is hard to get. Therefore such classes must not deliver any &#8220;pre-packaged&#8221; advice at all, but instead focus on games, discussion and sharing experience, so that everyone can reach his individual conclusions &#8211; and think independently. This would also remove a lot of pressure from the teacher and not require him to be a relationship guru or be proficient in all kama sutra positions <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>This is the way forward.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eevee</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1421</link>
		<dc:creator>Eevee</dc:creator>
		<pubDate>Wed, 02 Dec 2009 17:03:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1421</guid>
		<description>I&#039;ve always called that &#039;cargo cult programming&#039;: writing code you&#039;ve seen work somewhere else, without actually knowing or caring why.  I&#039;ve seen it a few times: over-engineered legacy code written by someone who clearly knew of interesting approaches but had no idea how to build them in a simple/usable way; a systems programmer who insists on writing Python like it were C.  I think it&#039;s a symptom of people who are interested only in getting something finished, not in the field unto itself; programming is just a means to an end (which is often a paycheck).  Most of the secretaries using Word and bosses using Excel don&#039;t really know what they&#039;re doing, either; just that something similar has worked before.

That 90% figure crops up a lot.  Perhaps a corollary to Sturgeon&#039;s Law is in order.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve always called that &#8216;cargo cult programming&#8217;: writing code you&#8217;ve seen work somewhere else, without actually knowing or caring why.  I&#8217;ve seen it a few times: over-engineered legacy code written by someone who clearly knew of interesting approaches but had no idea how to build them in a simple/usable way; a systems programmer who insists on writing Python like it were C.  I think it&#8217;s a symptom of people who are interested only in getting something finished, not in the field unto itself; programming is just a means to an end (which is often a paycheck).  Most of the secretaries using Word and bosses using Excel don&#8217;t really know what they&#8217;re doing, either; just that something similar has worked before.</p>
<p>That 90% figure crops up a lot.  Perhaps a corollary to Sturgeon&#8217;s Law is in order.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1419</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Wed, 02 Dec 2009 13:24:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1419</guid>
		<description>Wow, that&#039;s awesome. :-)

-Max</description>
		<content:encoded><![CDATA[<p>Wow, that&#8217;s awesome. <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1418</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Wed, 02 Dec 2009 13:24:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1418</guid>
		<description>&lt;em&gt;I wonder if everyone has the same idea about what “no idea what they are doing” means.&lt;/em&gt;

  Ah, you know, I thought about that a bit myself when I was writing the article. :-)

&lt;em&gt;But for me, “no idea what they are doing” means...&lt;/em&gt;

  Hahahahahahahahaha!! Yeah, that&#039;s pretty much what I had in mind, too! 

  I think it&#039;s relative, though, too--after all, there&#039;s so &lt;em&gt;much&lt;/em&gt; about a programming system that one can have &quot;absolutely no idea&quot; about, that a total lack of knowledge in one area effectively means that one has absolutely no idea what one is truly doing.

  -Max</description>
		<content:encoded><![CDATA[<p><em>I wonder if everyone has the same idea about what “no idea what they are doing” means.</em></p>
<p>  Ah, you know, I thought about that a bit myself when I was writing the article. <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><em>But for me, “no idea what they are doing” means&#8230;</em></p>
<p>  Hahahahahahahahaha!! Yeah, that&#8217;s pretty much what I had in mind, too! </p>
<p>  I think it&#8217;s relative, though, too&#8211;after all, there&#8217;s so <em>much</em> about a programming system that one can have &#8220;absolutely no idea&#8221; about, that a total lack of knowledge in one area effectively means that one has absolutely no idea what one is truly doing.</p>
<p>  -Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1417</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Wed, 02 Dec 2009 13:21:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1417</guid>
		<description>&lt;em&gt;Hah, hah, hah. The only people who can answer “yes” to all of your questions either have written only trivial programs, have written authored all of the software libraries they are using, or are liars.&lt;/em&gt;

You know, I think that&#039;s pretty much true. :-) I was actually just having a conversation about that very fact with a friend of mine who&#039;d read this post, and the only people who could answer those questions with an &lt;em&gt;unqualified&lt;/em&gt; &quot;yes&quot; would be people who believed they knew everything--the exact mistake the article warns against. :-) However, in the domain that I work in, I can answer &quot;yes&quot; to most of those questions, not in the sense of &quot;I know everything about these&quot;, but in the sense of &quot;I know enough about these to really get my work done well.&quot; So it&#039;s not a black-and-white proposition, it&#039;s something one can know more or less about.

As far as undocumented APIs go, I totally agree with you that no matter how intelligent or committed you were, there&#039;s no way you will ever become an excellent programmer with them. If the understanding &lt;em&gt;isn&#039;t there to be had&lt;/em&gt;, you &lt;em&gt;can&#039;t&lt;/em&gt; know what you&#039;re doing. :-)

And hahaha, yeah, I wrote an article a while back that used the complexity of the Win32 API as an example of why Windows was fundamentally flawed: http://www.codesimplicity.com/post/simplicity-and-security/. I&#039;m really glad for you that you got out of that world. :-)

-Max</description>
		<content:encoded><![CDATA[<p><em>Hah, hah, hah. The only people who can answer “yes” to all of your questions either have written only trivial programs, have written authored all of the software libraries they are using, or are liars.</em></p>
<p>You know, I think that&#8217;s pretty much true. <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  I was actually just having a conversation about that very fact with a friend of mine who&#8217;d read this post, and the only people who could answer those questions with an <em>unqualified</em> &#8220;yes&#8221; would be people who believed they knew everything&#8211;the exact mistake the article warns against. <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  However, in the domain that I work in, I can answer &#8220;yes&#8221; to most of those questions, not in the sense of &#8220;I know everything about these&#8221;, but in the sense of &#8220;I know enough about these to really get my work done well.&#8221; So it&#8217;s not a black-and-white proposition, it&#8217;s something one can know more or less about.</p>
<p>As far as undocumented APIs go, I totally agree with you that no matter how intelligent or committed you were, there&#8217;s no way you will ever become an excellent programmer with them. If the understanding <em>isn&#8217;t there to be had</em>, you <em>can&#8217;t</em> know what you&#8217;re doing. <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>And hahaha, yeah, I wrote an article a while back that used the complexity of the Win32 API as an example of why Windows was fundamentally flawed: <a href="http://www.codesimplicity.com/post/simplicity-and-security/" rel="nofollow">http://www.codesimplicity.com/post/simplicity-and-security/</a>. I&#8217;m really glad for you that you got out of that world. <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1416</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Wed, 02 Dec 2009 13:15:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1416</guid>
		<description>That&#039;s totally fascinating about your teenagers and I think you&#039;re spot-on that you just can&#039;t be happy in life unless you&#039;re doing something that at least sort of fits your purposes, and to do that you have to know what your purposes are. :-)

And haha, I can&#039;t imagine how different the world would be if people got some basic relationship advice in school! Of course, I wouldn&#039;t trust schools to give out relationship advice, so that&#039;s a double-edged sword there.

-Max</description>
		<content:encoded><![CDATA[<p>That&#8217;s totally fascinating about your teenagers and I think you&#8217;re spot-on that you just can&#8217;t be happy in life unless you&#8217;re doing something that at least sort of fits your purposes, and to do that you have to know what your purposes are. <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>And haha, I can&#8217;t imagine how different the world would be if people got some basic relationship advice in school! Of course, I wouldn&#8217;t trust schools to give out relationship advice, so that&#8217;s a double-edged sword there.</p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1415</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Wed, 02 Dec 2009 13:13:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1415</guid>
		<description>Yeah, it&#039;s unfortunate that people do set deadlines in such a way that systems can&#039;t be designed properly, and also unfortunate that given that deadline, we often still try to get in all the features that we want to see. Still, I think that the people who are looking at those short-term profits really don&#039;t understand that they&#039;re doing such damage to the long-run value of the system that, unless there&#039;s some terrific emergency, they&#039;d be way better off waiting just a few weeks or months for the system to get done right. Otherwise it&#039;s such a slippery slope--you&#039;re going to end up with unmet deadlines forever as the system becomes harder and harder to maintain.

That&#039;s definitely true, about the pride thing. I think that&#039;s a big problem, is that some people view admitting lack of knowledge to be some sort of &quot;blow to their pride&quot;, when really the only way that they&#039;ll ever gain ACTUAL skill is by admitting that they don&#039;t know things, frequently and easily! :-)

-Max</description>
		<content:encoded><![CDATA[<p>Yeah, it&#8217;s unfortunate that people do set deadlines in such a way that systems can&#8217;t be designed properly, and also unfortunate that given that deadline, we often still try to get in all the features that we want to see. Still, I think that the people who are looking at those short-term profits really don&#8217;t understand that they&#8217;re doing such damage to the long-run value of the system that, unless there&#8217;s some terrific emergency, they&#8217;d be way better off waiting just a few weeks or months for the system to get done right. Otherwise it&#8217;s such a slippery slope&#8211;you&#8217;re going to end up with unmet deadlines forever as the system becomes harder and harder to maintain.</p>
<p>That&#8217;s definitely true, about the pride thing. I think that&#8217;s a big problem, is that some people view admitting lack of knowledge to be some sort of &#8220;blow to their pride&#8221;, when really the only way that they&#8217;ll ever gain ACTUAL skill is by admitting that they don&#8217;t know things, frequently and easily! <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Neil Rashbrook</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1414</link>
		<dc:creator>Neil Rashbrook</dc:creator>
		<pubDate>Wed, 02 Dec 2009 10:20:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1414</guid>
		<description>When the company I worked for at the time decided that they wanted me to port an in-house application to Foxpro to compare it against the previous database engine that they had been using I therefore read the entire reference manual (including descriptions of all statements and functions) from cover to cover and was able to remember most of it for several months.</description>
		<content:encoded><![CDATA[<p>When the company I worked for at the time decided that they wanted me to port an in-house application to Foxpro to compare it against the previous database engine that they had been using I therefore read the entire reference manual (including descriptions of all statements and functions) from cover to cover and was able to remember most of it for several months.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kim Sullivan</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1413</link>
		<dc:creator>Kim Sullivan</dc:creator>
		<pubDate>Wed, 02 Dec 2009 08:03:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1413</guid>
		<description>I wonder if everyone has the same idea about what &quot;no idea what they are doing&quot; means. Yes, in complex systems, even experienced programmers probably have to struggle to get things working to meet a deadline. Often, you just call an API function that seems to do what you need, and hope for the best.

But for me, &quot;no idea what they are doing&quot; means really typing in words they&#039;ve seen elsewhere, like names of variables, without actually realizing that the words were variables or that if you want to access a variable in a different function, you have to get the data there somehow (adding it to the parameters of the function, for example). They&#039;re like &quot;The word &#039;color&#039; was used in that other function, so I&#039;ll just use the same word in this function, and hope for the best. Oh no! To the compiler complains again! Why does it say &#039;undefined symbol&#039;? I&#039;ve seen the same word used elsewhere, and it doesn&#039;t throw an error there! This has to be a bug in the compiler.&quot; Later: &quot;I&#039;ll just try to add some parentheses. I&#039;ve seen parentheses used in a lot of other places!&quot;</description>
		<content:encoded><![CDATA[<p>I wonder if everyone has the same idea about what &#8220;no idea what they are doing&#8221; means. Yes, in complex systems, even experienced programmers probably have to struggle to get things working to meet a deadline. Often, you just call an API function that seems to do what you need, and hope for the best.</p>
<p>But for me, &#8220;no idea what they are doing&#8221; means really typing in words they&#8217;ve seen elsewhere, like names of variables, without actually realizing that the words were variables or that if you want to access a variable in a different function, you have to get the data there somehow (adding it to the parameters of the function, for example). They&#8217;re like &#8220;The word &#8216;color&#8217; was used in that other function, so I&#8217;ll just use the same word in this function, and hope for the best. Oh no! To the compiler complains again! Why does it say &#8216;undefined symbol&#8217;? I&#8217;ve seen the same word used elsewhere, and it doesn&#8217;t throw an error there! This has to be a bug in the compiler.&#8221; Later: &#8220;I&#8217;ll just try to add some parentheses. I&#8217;ve seen parentheses used in a lot of other places!&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim B</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1412</link>
		<dc:creator>Jim B</dc:creator>
		<pubDate>Wed, 02 Dec 2009 07:12:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1412</guid>
		<description>Hah, hah, hah.  The only people who can answer &quot;yes&quot; to all of your questions either have written only trivial programs, have written authored all of the software libraries they are using, or are liars.

I&#039;m an EE and write some programs for fun and hacky things for work.  My ego isn&#039;t involved here; I have no problem recognizing many others are much better at programming than me.

For a while, before I got sick of it, I wrote a number of applications that made extensive use of the Win32 API.  I literally had about four or five linear feet of API books -- Microsoft&#039;s, various API &quot;Bibles,&quot; some broad, some focusing on API niches.  There is so much complexity there, so many undocumented restrictions, interactions, and side effects, that I spent most of my time just doinking problematic code until I got things to work.  Sometimes I could then infer an undocumented truth that would guide me in the future; sometimes it was simply a voodoo incantation that happened to work.

Yup, that sucks; yup, it was subject to failure later.  But it seems like conceit on your part to imagine that through your sheer intellect and commitment to excellence that you could somehow divine your way out of this mess.  And I had the luxury of working on these projects without any pressure or schedule.  I can&#039;t imagine the horror of having to figure out some of these API black holes with a boss breathing down my neck to &quot;just get the damn thing to work!&quot;

Years ago I gave up Win32 and switched to using wxWidgets.  Programming became fun again.</description>
		<content:encoded><![CDATA[<p>Hah, hah, hah.  The only people who can answer &#8220;yes&#8221; to all of your questions either have written only trivial programs, have written authored all of the software libraries they are using, or are liars.</p>
<p>I&#8217;m an EE and write some programs for fun and hacky things for work.  My ego isn&#8217;t involved here; I have no problem recognizing many others are much better at programming than me.</p>
<p>For a while, before I got sick of it, I wrote a number of applications that made extensive use of the Win32 API.  I literally had about four or five linear feet of API books &#8212; Microsoft&#8217;s, various API &#8220;Bibles,&#8221; some broad, some focusing on API niches.  There is so much complexity there, so many undocumented restrictions, interactions, and side effects, that I spent most of my time just doinking problematic code until I got things to work.  Sometimes I could then infer an undocumented truth that would guide me in the future; sometimes it was simply a voodoo incantation that happened to work.</p>
<p>Yup, that sucks; yup, it was subject to failure later.  But it seems like conceit on your part to imagine that through your sheer intellect and commitment to excellence that you could somehow divine your way out of this mess.  And I had the luxury of working on these projects without any pressure or schedule.  I can&#8217;t imagine the horror of having to figure out some of these API black holes with a boss breathing down my neck to &#8220;just get the damn thing to work!&#8221;</p>
<p>Years ago I gave up Win32 and switched to using wxWidgets.  Programming became fun again.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vladimir Dzhuvinov</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1411</link>
		<dc:creator>Vladimir Dzhuvinov</dc:creator>
		<pubDate>Wed, 02 Dec 2009 05:11:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1411</guid>
		<description>Yes, motivation is a key factor here.

In my undergraduate course (I studied electronics) a lot of colleagues were fanatic (read nerds) about the subject. But there were also a few, for them it obvious electronics wasn&#039;t their thing. Many of them were highly intelligent, but still quite unsure about career and life direction in general.

Recently I&#039;ve been doing career and further studies counseling to students in high school. I consistently witness teenagers who are confused what to do with their lifes after they finish school. You cannot be a happy person in life unless you&#039;re able to read your inner compass, understand your desires and talents, and then follow up with conscious decisions. Our school system does very little for that and this task shouldn&#039;t be left to parents either. The focus of teaching is too much on facts about the external world and too little about discovering and creating yourself, about relating to others.

I&#039;ve got an idea to make a comprehensive survey of what adults think about during an average day and use the results to form the curriculum for high schools. So, for example, if adults spend 20% percent of the day thinking about sex (I wouldn&#039;t be surpised if that proves a lot more ;) , then spend 20% time in school to teach how to express yourself sexually, recipes for having a successful date, how to find a suitable parner, etc. I also wouldn&#039;t be surprised if &quot;what&#039;s the square root of minus one&quot; doesn&#039;t appear at the top of this survey ;) To me this is the solution to making schools relevant and seeing happier grownups in future.</description>
		<content:encoded><![CDATA[<p>Yes, motivation is a key factor here.</p>
<p>In my undergraduate course (I studied electronics) a lot of colleagues were fanatic (read nerds) about the subject. But there were also a few, for them it obvious electronics wasn&#8217;t their thing. Many of them were highly intelligent, but still quite unsure about career and life direction in general.</p>
<p>Recently I&#8217;ve been doing career and further studies counseling to students in high school. I consistently witness teenagers who are confused what to do with their lifes after they finish school. You cannot be a happy person in life unless you&#8217;re able to read your inner compass, understand your desires and talents, and then follow up with conscious decisions. Our school system does very little for that and this task shouldn&#8217;t be left to parents either. The focus of teaching is too much on facts about the external world and too little about discovering and creating yourself, about relating to others.</p>
<p>I&#8217;ve got an idea to make a comprehensive survey of what adults think about during an average day and use the results to form the curriculum for high schools. So, for example, if adults spend 20% percent of the day thinking about sex (I wouldn&#8217;t be surpised if that proves a lot more <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  , then spend 20% time in school to teach how to express yourself sexually, recipes for having a successful date, how to find a suitable parner, etc. I also wouldn&#8217;t be surprised if &#8220;what&#8217;s the square root of minus one&#8221; doesn&#8217;t appear at the top of this survey <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  To me this is the solution to making schools relevant and seeing happier grownups in future.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Kristoffersen</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1409</link>
		<dc:creator>Mike Kristoffersen</dc:creator>
		<pubDate>Wed, 02 Dec 2009 00:54:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1409</guid>
		<description>It could also be that they don&#039;t have time to invest, because there is a deadline for their work, explicit or not.  It&#039;s a generic problem - do things right, or make something that &quot;works&quot; quickly.  

(The solution where the deadline is moved, to make things right, is unfortunately sometimes very hard to sell, because the short term profits usually are seen as more important than the long term potential savings)

Could also be some kind of pride - if you need to study something, that must mean that you don&#039;t know about it, and some people might not be willing to admit that.

But unfortunately in some cases you are right, there are some people who just don&#039;t care, which should not be confused with the people who make a conscious decision about limiting their work on a given task in an attempt to either do less work overall or to touch more tasks.</description>
		<content:encoded><![CDATA[<p>It could also be that they don&#8217;t have time to invest, because there is a deadline for their work, explicit or not.  It&#8217;s a generic problem &#8211; do things right, or make something that &#8220;works&#8221; quickly.  </p>
<p>(The solution where the deadline is moved, to make things right, is unfortunately sometimes very hard to sell, because the short term profits usually are seen as more important than the long term potential savings)</p>
<p>Could also be some kind of pride &#8211; if you need to study something, that must mean that you don&#8217;t know about it, and some people might not be willing to admit that.</p>
<p>But unfortunately in some cases you are right, there are some people who just don&#8217;t care, which should not be confused with the people who make a conscious decision about limiting their work on a given task in an attempt to either do less work overall or to touch more tasks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1408</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Wed, 02 Dec 2009 00:36:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1408</guid>
		<description>&quot;What we need to eliminate is the computer science monopoly on programming instruction.&quot;

Yeah, I think that&#039;s true. (Rest of your comment here is also pretty intelligent and well-stated, too.)

-Max</description>
		<content:encoded><![CDATA[<p>&#8220;What we need to eliminate is the computer science monopoly on programming instruction.&#8221;</p>
<p>Yeah, I think that&#8217;s true. (Rest of your comment here is also pretty intelligent and well-stated, too.)</p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Noah Yetter</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1407</link>
		<dc:creator>Noah Yetter</dc:creator>
		<pubDate>Wed, 02 Dec 2009 00:33:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1407</guid>
		<description>I don&#039;t mean to say that we should eliminate computer science from university curriculum.  What we need to eliminate is the computer science monopoly on programming instruction.  I think it would be perfectly fine to have parallel-yet-overlapping tracks in computer science, and software engineering.  Folks who want to do academic research, or program in non-software industries, or focus on abstract things like language design, could stick with computer science, while folks who want to write code for a living could be diverted to software engineering.

After all it&#039;s not that courses like Data Structures, Algorithms, and Principles of Programming Languages don&#039;t have any use to nascent professional coders, it&#039;s just that courses like Numerical Analysis and the ubiquitous required Math minor are largely wastes of time.  There are also fundamental problems with how courses are taught in general.  Students are typically prohibited from collaborating, which is the exact opposite of how real work gets done.  Coding projects typically start from blank files, which again does not reflect what actual programmers do on a daily basis.  I believe this is largely due to CS professors typically being career academics rather than retired professionals.  I expect they would approach the issues I&#039;ve raised by trying to offer a course in tools, to cover source control, bug tracking, and modern IDEs, whereas the right approach would be to embed these things in the fabric of the entire program.  That is the main reason I proposed the radical step of eliminating the academic types entirely, to get a fresh start with a different perspective.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t mean to say that we should eliminate computer science from university curriculum.  What we need to eliminate is the computer science monopoly on programming instruction.  I think it would be perfectly fine to have parallel-yet-overlapping tracks in computer science, and software engineering.  Folks who want to do academic research, or program in non-software industries, or focus on abstract things like language design, could stick with computer science, while folks who want to write code for a living could be diverted to software engineering.</p>
<p>After all it&#8217;s not that courses like Data Structures, Algorithms, and Principles of Programming Languages don&#8217;t have any use to nascent professional coders, it&#8217;s just that courses like Numerical Analysis and the ubiquitous required Math minor are largely wastes of time.  There are also fundamental problems with how courses are taught in general.  Students are typically prohibited from collaborating, which is the exact opposite of how real work gets done.  Coding projects typically start from blank files, which again does not reflect what actual programmers do on a daily basis.  I believe this is largely due to CS professors typically being career academics rather than retired professionals.  I expect they would approach the issues I&#8217;ve raised by trying to offer a course in tools, to cover source control, bug tracking, and modern IDEs, whereas the right approach would be to embed these things in the fabric of the entire program.  That is the main reason I proposed the radical step of eliminating the academic types entirely, to get a fresh start with a different perspective.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1406</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Wed, 02 Dec 2009 00:16:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1406</guid>
		<description>Hey there. I do think of that perspective, actually, and I can assure you that, in the long run, the effort spent at the beginning to design and code well actually leads to faster production in the end. It definitely seems grueling at first, when you&#039;re coding for days or weeks with no actual &quot;product&quot; yet, but once the framework is in place, it&#039;s amazing how fast things can go. Software projects take &lt;em&gt;so long&lt;/em&gt; that (depending on the size of the project) massive amounts of framework and design are always worth it.

-Max</description>
		<content:encoded><![CDATA[<p>Hey there. I do think of that perspective, actually, and I can assure you that, in the long run, the effort spent at the beginning to design and code well actually leads to faster production in the end. It definitely seems grueling at first, when you&#8217;re coding for days or weeks with no actual &#8220;product&#8221; yet, but once the framework is in place, it&#8217;s amazing how fast things can go. Software projects take <em>so long</em> that (depending on the size of the project) massive amounts of framework and design are always worth it.</p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1405</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Wed, 02 Dec 2009 00:14:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1405</guid>
		<description>That&#039;s a very likely source of the issue, yes. :-) You&#039;re anticipating one of my future blog posts a tiny bit, here. :-)</description>
		<content:encoded><![CDATA[<p>That&#8217;s a very likely source of the issue, yes. <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  You&#8217;re anticipating one of my future blog posts a tiny bit, here. <img src='http://www.codesimplicity.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1404</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Wed, 02 Dec 2009 00:13:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1404</guid>
		<description>Hahahaha, I do experience some of that, I&#039;m sure. I wrote a bit about that, sort of, here:

http://www.codesimplicity.com/post/complexity-is-a-prison/

But what I was seeing, I was seeing equally in open source as well as in commercial projects, so there was absolutely no reason (not that there ever is) to create intentionally obscure code, and my experience in reviews tells me that in fact the coders simply didn&#039;t know what they were doing.

-Max</description>
		<content:encoded><![CDATA[<p>Hahahaha, I do experience some of that, I&#8217;m sure. I wrote a bit about that, sort of, here:</p>
<p><a href="http://www.codesimplicity.com/post/complexity-is-a-prison/" rel="nofollow">http://www.codesimplicity.com/post/complexity-is-a-prison/</a></p>
<p>But what I was seeing, I was seeing equally in open source as well as in commercial projects, so there was absolutely no reason (not that there ever is) to create intentionally obscure code, and my experience in reviews tells me that in fact the coders simply didn&#8217;t know what they were doing.</p>
<p>-Max</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max Kanat-Alexander</title>
		<link>http://www.codesimplicity.com/post/why-programmers-suck/comment-page-1/#comment-1403</link>
		<dc:creator>Max Kanat-Alexander</dc:creator>
		<pubDate>Wed, 02 Dec 2009 00:12:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.codesimplicity.com/?p=274#comment-1403</guid>
		<description>No, yeah, I think you&#039;re right--computer science can&#039;t go away. It&#039;s very important, although it&#039;s a very small part of actual programming. We need somebody who can sit down and figure out the most efficient mathematical process for a particular algorithm, so that somebody who&#039;s a professional programmer can implement that once and then give it to everybody in a library.

The professional qualification thing, though, I&#039;m not so sure about, because if we had something like that, I&#039;d be concerned that people would use it as a system of authority regardless of actual knowledge or skill, somewhat like some medical professions do.

-Max</description>
		<content:encoded><![CDATA[<p>No, yeah, I think you&#8217;re right&#8211;computer science can&#8217;t go away. It&#8217;s very important, although it&#8217;s a very small part of actual programming. We need somebody who can sit down and figure out the most efficient mathematical process for a particular algorithm, so that somebody who&#8217;s a professional programmer can implement that once and then give it to everybody in a library.</p>
<p>The professional qualification thing, though, I&#8217;m not so sure about, because if we had something like that, I&#8217;d be concerned that people would use it as a system of authority regardless of actual knowledge or skill, somewhat like some medical professions do.</p>
<p>-Max</p>
]]></content:encoded>
	</item>
</channel>
</rss>
