Reputation: 679
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
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