Let’s suppose we have the following excerpt:

  1. how the target DB engine handles data commitment
  2. how the target DB engine handles data commit
  3. how the target DB engine handles data committing

Which of those three variants is correct?

I'm confused by commit as a noun because no dictionary claims it is. But it is used pretty often as a noun in the computer-related texts.

  • As far as commit goes, I think you've answered it yourself! It's not recognised by dictionaries as a noun, but it is used (and recognised) as one in certain circles. Hence no2 is not "correct", but it is perfectly reasonable to use it in situations where it will be widely recognised.
    – AndyT
    Aug 13, 2015 at 15:38
  • @AndyT, what about other variants. Are they correct?
    – ixSci
    Aug 13, 2015 at 15:48
  • One needs to understand that "commit" as a feature (and therefore a noun) of software systems has many variations over it's long history, by many different companies. Though there is a "core" terminology that all will understand, the different companies are likely to use different variations of the word (in part due to who won when the programmers duked it out with the writers and editors).
    – Hot Licks
    Aug 13, 2015 at 17:00

3 Answers 3

  1. commitment has many definitions, including "the act of committing" and "the state of being committed". But "how the target DB engine handles data commitment" doesn't sound natural to me. Consider as an alternative phrase "the commitment of the crime was late on a Saturday night" - this sounds similarly wrong to my ear. So I don't like Option 1, though I can't prove that it is incorrect.

  2. commit is apparently not a noun. However it is, as you point out, frequently used as one in the computing world. So Option 2 is not grammatically correct, but it sounds perfectly normal to my ear, and would probably be widely accepted in a computing environment.

  3. Option 3 is getting beyond my knowledge of theoretical grammar. It sounds wrong to me. But, considering an equivalent phrase: "Let's see how Steve handles John beating him at snooker", it sounds fine. So probably Option 3 is completely grammatically correct.

So, what would I do? I'd go for a completely different noun derived from commit - I would use committal.

how the target DB engine handles data committal

All links courtesy of dictionary.reference.com

  • In computerese, "commit" is both a noun and a verb.
    – Hot Licks
    Aug 13, 2015 at 17:04

I worked for a database company for three years and I most frequently heard the word used as a noun, something like this:

  • "The database will confirm a commit by doing X"
  • "When talking about how the database does commits"

In this case, "a commit" is understood to be a piece of data that has been written to memory/disk or similar. Hence I would say that your second option would become

  • How the target DB engine handles a data commit (singular)
  • how the target DB engine handles data commits (plural)

The verb form which you have listed in 1 and 3 was not something I heard as often, but when I did hear it used, it was usually in the third form you listed above, that is: "committing". I don't think I have ever heard anyone use the first version you listed (commitment) in conversation.

Personally, I think that the reason it sounds odd to me is simply because commitment is a term more frequently used to describe the human capability to commit to a task, person, job rather than a technical term. However, in the right context I would have no problem understanding the terms as it pertains to databases.

With that anecdotal, personal evidence out of the way, I will note that searching for "data committing" and "data commitment" in a database context in Google returns plenty of relevant results. In fact data commitment returns twice the number of results. Hence both terms are clearly used as verbs and are acceptable as such.

  • 1
    The "official" term for the "commit" feature of a data base system is often/usually "commitment control". Programmers avoid it, however, because they can never remember whether it's "commitment" or "committment".
    – Hot Licks
    Aug 13, 2015 at 17:06

In computer terms, a commit is a command. It says take all the edits I have been doing and make them permanent. But you do not commit something, you do a commit. It's a key distinction. The verb is not "to commit." It's "to do a commit."

If you are describing what happens behind the scenes when you use the commit command, you can talk about committing data.

  • I've been a programmer for nearly 50 years, and I have definitely heard "commit" used as a verb, as in "commit the data". Terms like "do a commit" are said, to a lesser degree, but are a bit weird to my ear.
    – Hot Licks
    Aug 13, 2015 at 17:03
  • @Hot Licks I can only count 25 years of programming, but the commit in your example, "commit the data," is an imperative, which underscores that commit is a command. You do a commit. You perform a commit. You issue a commit. You schedule a commit. To me, the nature of the commit command makes it the object of the verb, not the verb itself.
    – Mohair
    Aug 13, 2015 at 17:20
  • How is "commit the data" not using "commit" as a verb??
    – Hot Licks
    Aug 13, 2015 at 22:55
  • @Hot Licks As I noted, it's an imperative, which is by definition, a verb. en.wikipedia.org/wiki/Imperative_mood
    – Mohair
    Aug 13, 2015 at 23:18
  • I'm confused. You're saying that, because "commit" might be used as an "imperative", one can't write "After step xyz the program commits the changes to the data base"? Or, "I will commit the changes to that code after the review is complete"?
    – Hot Licks
    Aug 14, 2015 at 1:29

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.