Crowbar
Crowbar

Reputation: 679

Why does synchronous code seem to contradict the definition of the word synchronous?

Synchronous is defined as: "existing or occurring at the same time." Why then is synchronous code blocking? Shouldn't it be the other way around?

Google Definition: https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#sourceid=chrome-psyapi2&ie=UTF-8&q=define%3A%20synchronous

Upvotes: 1

Views: 142

Answers (1)

Aadit M Shah
Aadit M Shah

Reputation: 74204

From Worknik: https://www.wordnik.com/words/synchronous

Although the original definition of the word “synchronous” means:

from The American Heritage® Dictionary of the English Language, 4th Edition

adj. Occurring or existing at the same time. See Synonyms at contemporary.

In Computer Science it has a totally different definition:

from Wiktionary, Creative Commons Attribution/Share-Alike License

adj. Single-threaded; blocking; occurring in the same thread as other computations, thereby preventing those computations from resuming until the communication is complete.

The reason for this is also explained:

Lots of times words get perverted, too -- computer scientists who talk of “synchronous processes” have no idea what the actual definition in English of “synchronous” is -- they think it means “synchronized” -- and when they call putting millions of transistors on a tiny chip and call it Very Large Scale Integration, they're turned the phrase “large scale” on its very head.

Essentially, programmers suck at naming things. Hence we have conventions; and overgeneralizations.

Upvotes: 2

Related Questions