<story><title>Why I often implement things from scratch (2006)</title><url>http://armstrongonsoftware.blogspot.com/2006/09/why-i-often-implement-things-from.html</url></story><parent_chain></parent_chain><comment><author>enriquto</author><text>There&amp;#x27;s a clear-cut &amp;quot;scissor statement&amp;quot; that you can use to divide programmers into two opposite sides. You ask the following question:&lt;p&gt;&amp;quot;--If you need to invert a 2x2 matrix in your program, do you write down the algebraic formula for the solution by hand or do you call a linear algebra library? (that you would not need otherwise)&amp;quot;&lt;p&gt;The answer to this question is &lt;i&gt;obvious&lt;/i&gt; to most programmers.  Also, it is obvious to them that the opposite answer is clearly wrong and absurd.  Unfortunately, not everybody gives the same answer!</text></comment>
<story><title>Why I often implement things from scratch (2006)</title><url>http://armstrongonsoftware.blogspot.com/2006/09/why-i-often-implement-things-from.html</url></story><parent_chain></parent_chain><comment><author>cogman10</author><text>Too many devs don&amp;#x27;t understand that dependencies add fragility to a system.&lt;p&gt;The larger and more complex a system you design, the more likely it is that you end up with something breaking because two dependencies are incompatible or even your code and a dependant break due to updating the dependant.&lt;p&gt;Further, security is rarely considered.  The more code you have, the more likely you are to have a security vulnerability.  You have to worry not only about code you maintain, but also the code of your dependencies.&lt;p&gt;If you can write the functionality you crave rapidly, do it.  You&amp;#x27;ll save yourself (and others) headaches in the future.</text></comment>