Now look at software. The "factory" can be obtained for free by going to a public library. As such, I'd argue that 1) the broadness of many of the patents that already exist is ridiculous, and was earned by nothing more than a rudimentary understanding of programming and 2) the relative likelihood that you're going to have a TRULY novel idea is lower due to the size of the population and amount of collaboration inherent in programming.
On top of all that, you don't see "first, invent a programming language that allows me to do all this neat stuff." They're already building on so much groundwork that they don't understand, it's sort of belittling the achievements of the people who truly created NEW things in computer science, to say that rounded corners on a texting app or whatever deserve a monopoly that could crush other applications.