What are the differences among ‘remove’, ‘delete’, ‘dismiss’, and ‘discard’?

differencesmeaningmeaning-in-contextverbsword-choice

I'm working for a professional application, and as I'm not a native English speaker I need your light to help me to use the best one in the best context.
What is the meaning of each of them and in which context I can use them?

  • Remove
  • Delete
  • Dismiss
  • Discard

For example, what is the difference between 'Discard Draft' and 'Delete Draft'? 'Discard draft' is used when asking a question here:

'discard draft' button

Best Answer

As a native speaker of American English, a professional software developer, and a language nerd, I would consider the following in the context of records or data objects:

  • Remove: Take something out, but not necessarily destroy it entirely; maybe it can be used later somewhere else. This may be vague without context.
  • Delete: Totally destroy a currently existing record, it cannot be recovered later, it will not appear anywhere else again except maybe a temporary deleted queue
  • Dismiss: stop showing me a dialog or some other information; send the content or record away, or indicate that I have seen it, but definitely it does not lose any contextual association with whatever it is associated with. The record remains, just not actively viewed.
  • Discard: I would associate this with something that isn't final, and otherwise it would be the same as delete. "Discard Draft" is definitely the most correct verb to associate with draft by common usage, and because discarding something tends to imply more personal control and ownership, whereas deleting something does not. Delete draft is also acceptable.