Why programming is difficult (2014)
I think the reason programming is difficult is that really we are dealing with incomplete information while the device that runs your program does not care you have incomplete information and wants to screw you the first time you do something not right in the slightest.<p>Programming is not just understanding how the device, language, libraries work (ie. getting more complete information) but also limiting the ways the adversary can screw you and limiting the fallout.<p>Programming is difficult because developers don&#x27;t appreciate how important the part of managing this incomplete information is. &quot;I wrote this and it works! Yeay!&quot; And then it goes in prod and fails instantly because you did not take this or that into account.<p>Some bright developers have the ability to manage this. But the problem is that they can&#x27;t work really well with other developers (at a typical corp) who don&#x27;t appreciate the problem the same way. This puts them in this untenable positions where they can either do something by themselves, very efficiently, or rely on extremely inefficient process if they want to work with other developers.