95

I am working in a human resources management application and I have to often work with the creation/deletion/updating of people from the web interface.

I'd like to know whether Update, Change and Modify have slightly different meaning and what is perceived as best for describing the operation of changing an already present resource in the database.

I have the same doubt for Add and Create, I actually preferred Add because it is shorter and more immediate however I changed to Create because Add might infer something is already present and needs only to be added (for instance in a group), with Create it is clear we are talking about an inexistent entity which is created for the first time and added to database.

As for Delete and Remove I use this rule:

  • Delete = permanent removal
  • Remove = non-permanent removal
  • 1
    I prefer New for creation, and Edit paired with Save for modification. If it's unclear what is being created/modified, include the object (New User vs. New Group). – quietmint Aug 2 '13 at 23:08
  • 1
    Remove can be removal from a list while not deleting the item itself. I'd never use delete for "just" removing something from a list, but I'd use delete if the intention is to delete the item and removal from the list is a "side effect" of that deletion. – Marjan Venema Aug 3 '13 at 9:26
  • what about UPDATE and DELETE.... if you have access to UPDATE a chart... does that means, you have access to DELETE a line or column? – user128200 Jun 27 at 16:53
135

What's best calling these things depends on:

  • Who is using the system;
  • what is the nature of the action really being performed;
  • what other actions may be performed.

The Programmers View

With relation to databases (and data-driven APIs) there's the famous CRUD operations, which stand for Create/Read/Update/Destroy.

In many programming languages you may first create a record, then add it to a container, then remove it from the container, then destroy or delete it.

Also, in programming, change denotes something that is yet to be persisted (saved to the database or file), while update denotes persisting the change. Modify is not common, but you do get 'modified records' as a flag for a non-persisted state (aka, 'dirty records').

Everyday Language

You can argue that people will agree on these definitions:

  • You create something from scratch. Like create a new report.
  • Once in existence, you add something to a container. Like adding a person to the managers group.

  • By modifying something you change its properties. Like modifying a design.

  • By updating something you change the data, but not the design. Like updating someone's phone number.
  • By changing something you replace one existing thing with another. Like changing your profile photo.

  • By removing something you take it out of a container. Like removing something from the fridge - the thing still exist.

  • By destroying something you do the opposite from creating - gone forever. Like destroying a toy.
  • By deleting something you wipe if off, so it is no longer retrievable. This is said with the obvious exception that nowadays people are accustomed to the 'undelete' feature. So somewhat of an ambiguity here, but it is a standard in interfaces to use the term for permanent delation.

My Recommendations

  • Prefer Add over Create unless there's a clear create-then-add mechanism. Although technically (and as you said) create means it never existed before, while programmers think about 'records' users think about the abstraction these stand for. While for you adding a person's record makes perfect sense, 'creating a person' or 'creating a task' is less intuitive than 'adding a person' (to the system) or 'adding a task' (to the task list). Obviously, if your users are IT professionals and fluent with what a database and records are, prefer create over add.
  • If persistance is involved, prefer update over change. Having said that, users are accustomed to 'save changes'. Don't use modify.
  • Prefer Remove for non-permanent removal, and Delete for permanent removal.
  • 4
    +1 + more if SE would let me. Very nice write up of the nuances involved. – Marjan Venema Aug 3 '13 at 9:28
  • Nice breakdown. I kinda think 'Edit' is standard for modify/update though (esp if the edit and add screen are the same) – Damon May 26 '14 at 4:10
  • A good sign of a complete and thorough answer is that there are no other answers. +1 – Antti29 Oct 6 '15 at 7:56
  • 4
    any thoughts on edit? Would you say edit == change? – Matt K Oct 30 '15 at 19:58
  • Thank you for this answer. I have been programming for a long time, but I am studying RESTful API's and focused in on CRUD right now. I know it is a high level description, but we obviously need some precision when naming class methods at the source code level to keep the mess self documenting. This is a better run down of these operational descriptions than anything else I found. I can...*ughmm* rest easy now..... – Jeff Zacher Feb 28 at 5:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.