My feeling about software patents is that they are a total disaster and will continue to be a total disaster until the world's patent offices all take to rejecting patents for things which are glaringly obvious, looking seriously for prior art, and automatically rejecting claims and descriptions which are written so as to obfuscate. That's not going to happen, because to do that job would require far more patent clerks with far greater technical skill and knowledge, and no country could afford to divert that many engineers and scientists from industrial and academic empolyment into patent clerking. So the best course is to abolish the rotten things altogether.
Would you believe that a patent applied for in the 1980s could "protect" the "invention" of something which first appeared as pure mathematics in graph theory decades before, had a highly efficient algorithm for it published in CACM in 1962, and was described in Volume 1 of Knuth's "The Art of Computer Programming" (published in 1968)? If you don't believe that, you don't know anything about how software patents currently work! It happened, and it's the sort of thing that happens all the time.
It seems to have become standard practise to attempt to patent well known stuff, obfuscating it by inventing new names for the components instead of calling them by their well-known names. Sometimes (rarely) a court will notice this and kill a patent, but even in so blatant a case as the "shopping trolley" patent the first court upheld the patent despite having all the evidence and expert testimony and it was an appeal court which reversed that decision, so relying on the courts to repair the incompetence of patent offices is not a good bet.