> a software idea can be thought up in a few minutes and implemented in the same.
This is only true for trivial pieces of software. I agree with you that trivial pieces of software should not be patentable. But you're saying that no piece of software should be patentable, regardless of how complex or innovative it is, and there I strongly disagree.
You both agree that there is major variation in how much "effort" goes into producing patentable work. Your problem is you want a very clear-cut definition specifying what is patentable, and since effort is hard to measure, you'd rather just throw out all patents. You assume this would be better than the current situation (which, I think, takes the other extreme - most things are patentable).
But why do you think the way you suggest is better? Just because the current system sucks?
(Forgive me if I misrepresented your argument).
Half of the tech industry with respect to software is finding something someone else is doing, and building on that but making it better.