<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Object Mentor Blog: 10 Papers Every Programmer Should Read (At Least Twice)</title>
    <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>10 Papers Every Programmer Should Read (At Least Twice)</title>
      <description>&lt;p&gt;I spent most of yesterday afternoon working on a paper I&#8217;m co-writing.  It was one of those days when the writing came easy.  I was moving from topic to topic, but then I realized that I was reaching too far backward &amp;#8211; I was explaining things which I shouldn&#8217;t have had to explain to the audience I was trying to reach.&lt;/p&gt;

&lt;p&gt;When I first started writing, one of the pieces of advice that I heard was that you should always imagine that you are writing to a particular person.  It gets your juices going &amp;#8211; you&#8217;re automatically in an explanatory state of mind and you know what you can expect from your audience.  I was doing that, but I noticed that I was drifting.  I was losing my sense of audience. I started to explain one thing, and then I realized that I would have to explain something else to help it make sense. I couldn&#8217;t imagine that person any more. How could I know what they know and what they don&#8217;t?&lt;/p&gt;

&lt;p&gt;
The problem I was experiencing is only getting worse. People come into programming from many different directions.  Some started in other fields, and others started programming as teens.  Some started with &lt;span class="caps"&gt;BASIC&lt;/span&gt;, others started with Ruby or C.  The industry is filled with knowledge, but it isn&#8217;t common knowledge. It isn&#8217;t knowledge that we all share. We have to dig for it because of a peculiar fact about our industry: we reinvent our languages and notations every ten years.  It&#8217;s hard to find deeply technical books and articles which stand the test of time in software: they are all Latin within 20 years.&lt;/p&gt;

&lt;p&gt;So, I was thinking about this and trying to not to get too glum.  I realized that instead of complaining, I could help by pointing to some papers which are easily available online and which (to me at least) point to some of the most interesting ideas about software.  To me, these are classic papers which contain deep &#8220;things you oughta know&amp;#8221; about code &amp;#8211; the material you work with.&lt;/p&gt;

&lt;p&gt;
We&#8217;ve taken an interesting turn in the industry over the past ten years.  We&#8217;ve come to value experiential learning much more, and we&#8217;ve regained a strong pragmatic focus, but I think it would be a shame if we lost sight of some of the deeper things which people have learned over the past 50 years.  Rediscovering them would be painful, and (to me) not knowing them would be a shame.&lt;/p&gt;

&lt;p&gt;Here&#8217;s the original list.  It&#8217;s a rather personal list of foundational papers and papers with deep ideas. I wrote it &amp;#8220;off the cuff&amp;#8221; and threw it into a tumblr blog the other day and I got responses from people who suggested others.  I&#8217;ll add those in a later blog.&lt;/p&gt;

&lt;p&gt;Most are easy to read but some are rough going &amp;#8211; they drop off into math after the first few pages.   Take the math to tolerance and then move on. The ideas are the important thing.&lt;/p&gt; 

	&lt;ol&gt;
	&lt;li&gt;&lt;a href="http://sunnyday.mit.edu/16.355/parnas-criteria.html"&gt;On the criteria to be used in decomposing systems into modules&lt;/a&gt; &amp;#8211; David Parnas&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://research.sun.com/techrep/1994/abstract-29.html"&gt;A Note On Distributed Computing&lt;/a&gt; &amp;#8211; Jim Waldo, Geoff Wyant, Ann Wollrath, Sam Kendall&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://portal.acm.org/citation.cfm?id=365257"&gt;The Next 700 Programming Languages&lt;/a&gt; &amp;#8211; P. J. Landin&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://portal.acm.org/citation.cfm?id=359579"&gt;Can Programming Be Liberated from the von Neumann Style?&lt;/a&gt; &amp;#8211; John Backus&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://cm.bell-labs.com/who/ken/trust.html"&gt;Reflections on Trusting Trust&lt;/a&gt; &amp;#8211; Ken Thompson&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.6083"&gt;Lisp: Good News, Bad News, How to Win Big&lt;/a&gt; &amp;#8211; Richard Gabriel&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.363"&gt;An experimental evaluation of the assumption of independence in multiversion programming&lt;/a&gt; &amp;#8211; John Knight and Nancy Leveson&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.7565"&gt;Arguments and Results&lt;/a&gt; &amp;#8211; James Noble&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://c2.com/doc/oopsla89/paper.html"&gt;A Laboratory For Teaching Object-Oriented Thinking&lt;/a&gt; &amp;#8211; Kent Beck, Ward Cunningham&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.562"&gt;Programming as an Experience: the inspiration for Self&lt;/a&gt; &amp;#8211; David Ungar, Randall B. Smith&lt;/li&gt;
	&lt;/ol&gt;


&lt;p&gt;&lt;i&gt;(edit: Added a brief synopsis of each of them and why I think they are special):&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;On the criteria to be used in decomposing systems into modules &amp;#8211; Parnas&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;This is a very old paper, but it is more than a classic.  In in it, Parnas introduces a forerunner to the &lt;i&gt;Single Responsibility Principle&lt;/i&gt;.  He introduces the idea that we should use modularity to hide design decisions &amp;#8211; things which could change.  People still don&amp;#8217;t consider this as often as they should.&lt;/p&gt;

&lt;p&gt; Another thing I really like in the paper is his comment on the &lt;span class="caps"&gt;KWIC&lt;/span&gt; system which he used as an example.  He mentioned that it would take a good programmer a week or two to code. Today, it would take practically no time at all.  Thumbs up for improved skills and better tools.  We have made progress.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;A Note On Distributed Computing &#8211; Waldo, Wyant, Wollrath, Kendall&lt;/b&gt;&lt;/p&gt;&lt;p&gt; Abstraction is great but it can only go so far.  In this paper, the authors lay to rest what was once a pervasive myth &amp;#8211; that we could design a distributed system and make distribution transparent.  Ever wonder why you had to implement specific interfaces to do remoting in Java?  This is why. &lt;/p&gt;&lt;p&gt; In the aftermath it might seem hard to believe that people thought this was possible.  I think we can we partially thank this paper for that.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;
The Next 700 Programming Languages &amp;#8211; Landin&lt;/b&gt;&lt;/p&gt;&lt;p&gt; Most of us have spent a lot of time working in traditional programming languages, but functional programming languages are slowly seeing an uptick and many OO languages are gaining functional features. This paper (which reads like a tutorial) makes an argument for an expression-oriented style of programming. It also lays the foundation for lazy evaluation. &lt;/p&gt;
&lt;p&gt;One of the other neat things about this paper, from a historical point of view, is that there is a discussion section at the end in which there a number of questions and comments about whether making indentation significant in a language is a good idea.  I was thrown to see people asking whether or not this would be a problem for functions which span over several pages(!).&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Can Programming Be Liberated from the von Neumann Style? &#8211; Backus&lt;/b&gt;&lt;/p&gt;&lt;p&gt; John Backus is known for a number of achievements in computer science.  He received the &lt;span class="caps"&gt;ACM&lt;/span&gt; Turing Award for his work on Fortran.  This paper, which he presented at the award ceremony was rather shocking at the time because it said, in essence, &#8220;we got it wrong.&#8221;  Backus took the opportunity to make a plea for pure functional programming.  His arguments were convincing and they helped to set a research agenda which is just now starting to make some waves in the mainstream.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Reflections on Trusting Trust &#8211; Thompson&lt;/b&gt;&lt;/p&gt;&lt;p&gt; I once heard that when this paper was presented, people in attendance rushed back to de-compile their C compilers and look for, er, problems.  This paper unveiled a hard problem at the heart of computer security.  If you&#8217;ve spent any time at all thinking about security, you need to read it.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Lisp: Good News, Bad News, How to Win Big &#8211; Gabriel&lt;/b&gt;&lt;/p&gt;&lt;p&gt; This paper is a bit atypical in this list.  It&#8217;s aimed at the Lisp community and it comes off as a bit of a lament.  But, hidden deep within it is the Gabriel&#8217;s description of the &#8216;Worse is Better&#8217; philosophy &amp;#8211; an idea with profound implications for the acceptance and spread of technology.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;An experimental evaluation of the assumption of independence in multiversion programming &#8211; John Knight and Nancy Leveson&lt;/b&gt;&lt;/p&gt;&lt;p&gt; Behind this dry title lies something very interesting. I first heard about this paper from Ralph Johnson in a newsgroup discussion about program correctness.  It turns out that one of the avenues that engineers in other disciplines take to make their products stronger &amp;#8211; redundancy &amp;#8211; doesn&#8217;t really work in software.  Multi-version programming was the idea that you could decrease faults in critical systems by handing the spec to several teams, having them develop the software independently, and then having the systems run in parallel.  A monitoring process verifies their results and if there is any discrepancy it picks the most common result.  Sounds like it should work, right? Well..&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Arguments and Results &#8211; Noble&lt;/b&gt;&lt;/p&gt;&lt;p&gt; I think that all of the other papers in this list are rather well known in some circles. This one isn&#8217;t, or if it is, I just haven&#8217;t found that circle yet.  What I like about this paper is that it takes something which we deal with every day &amp;#8211; the set of arguments and results of functions &amp;#8211; and it works them through a series of variations which just don&#8217;t occur to many people.  The fact is, every function that you work with has a number of possible directions if could evolve in.  Not all of them are appropriate, but if you know the possible directions, you&#8217;re richer for it.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;A Laboratory For Teaching Object-Oriented Thinking &#8211;  Beck, Cunningham&lt;/b&gt;&lt;/p&gt;&lt;p&gt; There are an incredible number of papers about there about object orientation.  The thing which makes this one great is its directness.  OO went through a number of stages.  It was once fresh and novel, then it was ornate, and then it became matter-of-fact.  This paper hits upon key ideas which many people don&#8217;t talk about much any more: anthropomorphism and dropping the top/down perspective.  It also shows you how you can design with index cards. It may not sound cool but it is incredibly effective.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Programming as an Experience: the inspiration for Self &#8211; Ungar, Smith&lt;/b&gt;&lt;/p&gt;&lt;p&gt; How many people know about the Self Project? Not enough in my opinion.  Self was an attempt to take two ideas in computing and push them as far as humanly possible.  The first was minimalism: the Self programming language was thoroughly in the Lisp and Smalltalk vein &amp;#8211; everything was defined in terms of the smallest number of primitives possible.  The other idea was direct manipulation &amp;#8211; the idea that the object metaphor could be pushed all the way in the user interface &amp;#8211; the programmer and user sit with a mouse in a sea of directly clickable objects and use them for everything.  If they could&#8217;ve gotten away with dropping the keyboard, I think they would&#8217;ve.&lt;/p&gt;

&lt;p&gt;The amount of technology which the Self project threw off is terrifying also.  Self broke ground in dynamic language optimization and VM design.  Chances are, your VM uses technology it pioneered.  It&#8217;s also one of the more perverse ironies that the most widely distributed programming language today (JavaScript) is a prototype-based programming language which borrowed ideas from the hyper-research-y Self.&lt;/p&gt;

&lt;p&gt;What would you add to the list?&lt;/p&gt;</description>
      <pubDate>Thu, 26 Feb 2009 20:49:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:2a8b62cf-d3ae-4c95-9105-32548762637b</guid>
      <author>Michael Feathers</author>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice</link>
      <category>Michaels Musings</category>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by wholesale dresses</title>
      <description>&lt;p&gt;This is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information. Keep it up. Keep blogging. Looking to reading your next post.&lt;/p&gt;</description>
      <pubDate>Mon, 19 Jul 2010 04:55:38 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:a5a55ecc-4a98-4fb4-86ed-9f6a83511780</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-16808</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by Machete</title>
      <description>&lt;p&gt;Only the practice make you better specially in this field.&lt;/p&gt;</description>
      <pubDate>Mon, 19 Jul 2010 03:21:37 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:03b5cfd5-959e-471b-a723-13cf23685e51</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-16761</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by mahjong</title>
      <description>&lt;p&gt;Excellent article. Thanks for the advice and useful links. This is useful for any beginner.&lt;/p&gt;</description>
      <pubDate>Tue, 13 Jul 2010 04:48:46 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:172bb66c-5d28-49e2-8d92-f67cdc60a137</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-16138</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by Desentupidora</title>
      <description>&lt;p&gt;Really good advice man!!!&lt;/p&gt;


	&lt;p&gt;If all programmers read this, we could have better programmers in the world!!&lt;/p&gt;


	&lt;p&gt;Congrats&lt;/p&gt;</description>
      <pubDate>Mon, 05 Jul 2010 12:39:06 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:142f0176-576a-4106-ac30-fe658ff5f3f9</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-15106</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by Shots side effects</title>
      <description>&lt;p&gt;Do programmers even know how to read anything thats not in code?&lt;/p&gt;</description>
      <pubDate>Fri, 02 Jul 2010 17:13:56 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:ab4fb97a-7fcb-47eb-9d12-5c8bf0a41321</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-15027</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by  location automobile</title>
      <description>&lt;p&gt;Happy to see your blog as it is just what I&#8217;ve looking for and excited to read all the posts. I am looking forward to another great article from you. After skimming through your website&lt;/p&gt;</description>
      <pubDate>Thu, 01 Jul 2010 11:55:47 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:48d6cdbd-b6ef-4a13-a562-e34ebed1a190</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-14893</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by Nhl jerseys</title>
      <description>&lt;p&gt;thank you for sharing with us&lt;/p&gt;</description>
      <pubDate>Mon, 28 Jun 2010 04:09:07 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:24cb4733-8fe5-4e86-96e7-b9dbc77dd9d8</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-14420</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by mlb jersey</title>
      <description>&lt;p&gt;would you mind updating your blog with more information?&lt;/p&gt;</description>
      <pubDate>Mon, 28 Jun 2010 04:08:23 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:e1688883-c694-457e-8d11-710ce97910ea</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-14419</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by latin shoes</title>
      <description>&lt;p&gt;would you mind updating your blog with more information?&lt;/p&gt;</description>
      <pubDate>Tue, 22 Jun 2010 04:52:25 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:18113c15-ef8d-47ea-b30f-ff219bce29e6</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-13533</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by latin shoes</title>
      <description>&lt;p&gt;Most problems happens before testing, nice post anyway!&lt;/p&gt;</description>
      <pubDate>Tue, 22 Jun 2010 04:51:48 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:b00993f2-3b82-4cad-979e-cb1585116f26</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-13528</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by sharlen Legum</title>
      <description>&lt;p&gt;Useful list! so nice!!!!!!!!
ATM paper, kiosk paper, cash drawers and other paper related supplies for your business including shopping bags and can liners.
&lt;a href="http://www.pospaper.com" rel="nofollow"&gt;http://www.pospaper.com&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 08 Jun 2010 13:13:34 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:f991efb6-a0f1-43a1-8683-adf77079bba8</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-12841</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by mahjong</title>
      <description>&lt;p&gt;Although it is written &amp;#8220;off the cuff&amp;#8221;, but read very well. 8 part I liked more than others.&lt;/p&gt;</description>
      <pubDate>Sat, 05 Jun 2010 07:50:32 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:3e1eeb34-5372-4b07-8509-de54e792095e</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-12545</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by Daniel</title>
      <description>&lt;p&gt;The list is really helpful. Thanks! I do not even have to look too far to find the papers in your list. With them online, I can just visit their sites and then decide if I need more information or not.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.dailyrandomsites.com" rel="nofollow"&gt;Philippine culture&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 19 May 2010 12:18:10 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:4abb064e-db19-4ff0-ab7b-c26bf6366c19</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-11680</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by PinSpy</title>
      <description>&lt;p&gt;Useful list!&lt;/p&gt;</description>
      <pubDate>Mon, 03 May 2010 15:10:50 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:392f65bf-8a5e-4ec3-9d14-38a821b27f86</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-10903</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by smith.dyer@gmail.com</title>
      <description>&lt;p&gt;Michael Feathers,
You are SPOT ON!
Awesome post!
The informaition which you had mentioned is very nice and detailed review which  is very appreciable,i really loved reading this post.
 Today the programmer is not a simple developer who has the duty to write some codes etc. These days programmers need to check their application for stability in the initial stages of programming and also the most important is security of the application in mind. Security not only comes in application in banking related one&amp;#8217;s but also as simple as online phone directory also. The art of computer security through programming is not known to many of the programmers. That is the one of the single reason, through which hackers are breaking in the security veil. For more information check this link :http://www.eccouncil.org/certification/certified_ethical_hacker.aspx&lt;/p&gt;</description>
      <pubDate>Thu, 22 Apr 2010 23:15:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:75ad8fc7-b6d3-4292-b114-82f117a6644d</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-10505</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by http://savemysystem.stumbleupon.com/</title>
      <description>&lt;p&gt;Good job author. You mention all the must use information which should be necessary to know every computer programmer. World of programming is rapidly changing but base of all language is C. Hence programmer must know starts from C to latest programming language. Post you mention next 700 programming language is really useful. Thanks for sharing this information with us.&lt;/p&gt;</description>
      <pubDate>Wed, 14 Apr 2010 06:57:41 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:3c982000-6bab-42ec-b6ad-1bfc2285d473</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-9955</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by ShAaNiG</title>
      <description>&lt;p&gt;How about WebDev101. Don&#8217;t make hover state text color of your links the same color as your background.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.hubofwholesale.com/" rel="nofollow"&gt;Wholesalers&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 12 Apr 2010 05:57:45 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:7cd23dd1-95c0-4153-96a8-4c080dca9503</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-9660</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by ShAaNiG</title>
      <description>&lt;p&gt;You simply cannot omit: Fred Brooks, No Silver Bullet: Essence and Accidents of Software Engineering.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.dinowholesale.com/" rel="nofollow"&gt;Wholesale Brand Name Clothing&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sat, 10 Apr 2010 11:23:36 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:70ce80a2-5436-4e40-9130-4d3be4ad6ae3</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-9613</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by ShAaNiG</title>
      <description>&lt;p&gt;David, your opinion would be a little less ridiculous, if you demonstrated the intelligence required to not post the same thing twice.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://blog.prudentialwest.com/about/" rel="nofollow"&gt;Prudential West&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Fri, 02 Apr 2010 05:41:25 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:19da63bf-9144-46eb-854b-23f484341d8b</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-9152</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by Face Blog</title>
      <description>&lt;p&gt;Very good collection of papers. They are very useful for programmers. Well done and thank you. I really really like the paper &amp;#8220;Reflections on Trusting Trust&amp;#8221;. That is amazing!&lt;/p&gt;</description>
      <pubDate>Wed, 24 Mar 2010 07:36:25 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:796347cf-e0b9-4e76-a210-49eef020fc1d</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-8165</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by smith.dyer@gmail.com</title>
      <description>&lt;p&gt;Hi, Today the programmer is not a simple developer who has the duty to write some codes etc. These days programmers need to check their application for stability in the initial stages of programming and also the most important is security of the application in mind. Security not only comes in application in banking related one&amp;#8217;s but also as simple as online phone directory also. The art of computer security through programming is not known to many of the programmers. That is the one of the single reason, through which hackers are breaking in the security veil. For more information on the subject go through the following site:http://www.eccouncil.org/certification/certified_ethical_hacker.aspx&lt;/p&gt;</description>
      <pubDate>Fri, 12 Mar 2010 11:43:04 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:e4f86416-ddfd-4004-9566-4415c0cd39c2</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-7870</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by internet download manager</title>
      <description>&lt;p&gt;I used to read papers back when I was a homeless rodeo clown but not any more. Now I am a world class magician !&lt;/p&gt;</description>
      <pubDate>Tue, 02 Feb 2010 04:30:59 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:22edccde-fa00-415d-8c45-86c68d53c2f6</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-7400</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by Andrew Carson</title>
      <description>&lt;p&gt;Neat discussion! I want to read all of these. Reading Tom Drummond&amp;#8217;s comment about how von Neumann got people away from parallel processing. Hmm. In his posthumus (and short!) book The Computer and the Brain (based on his Silliman lectures at Yale just before his death), he discussed parallel processing, analog computing, and all sorts of interesting things, without concluding that one was definitely the be-all, end-all. I&amp;#8217;m only saying that it&amp;#8217;s difficult to dismiss his interest in it&amp;#8230;but he was saddled with pretty severe constraints in speed, memory, etc., etc.&lt;/p&gt;</description>
      <pubDate>Sun, 24 Jan 2010 16:27:13 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:6d710003-9eea-4ffa-882c-261828168eb0</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-7092</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by PhilGo20</title>
      <description>&lt;p&gt;Thanks for the list !&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;ve really enjoyed reading :
On the criteria to be used in decomposing systems into modules &#8211; David Parnas&lt;/p&gt;


	&lt;p&gt;and&lt;/p&gt;


	&lt;p&gt;Arguments and Results &#8211; James Noble&lt;/p&gt;


	&lt;p&gt;I should get back to read classic papers !&lt;/p&gt;</description>
      <pubDate>Thu, 17 Dec 2009 22:56:54 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:99d10db1-831c-4205-b5d2-082134910d48</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-5858</link>
    </item>
    <item>
      <title>"10 Papers Every Programmer Should Read (At Least Twice)" by Soup recipes</title>
      <description>&lt;p&gt;Great article, i have already read the one by Richard Gabriel on lisp and it was just great, very good food for though, so i&amp;#8217;ll sure take a look at your suggestions! Always hungry for great books.&lt;/p&gt;</description>
      <pubDate>Thu, 12 Nov 2009 21:31:11 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:51f85940-2b18-45b7-a3a1-f8d7d7a76bb9</guid>
      <link>http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice#comment-5110</link>
    </item>
  </channel>
</rss>
