Programing Jargon: Synchronous, Asynchronous
the words “synchronous” and “asynchronous” should be ban'd. They should be replaced by “immediate” and “delayed”.
Here's immediate retort i expect from hacker types:
Vincent Schumaker [https://plus.google.com/+VincentSchumaker/posts] wrote:
If only synchronous operations were immediate.
Nick Alcock [https://plus.google.com/115849739354666812574/posts] wrote:
Quite. Heck, I fixed a bug last month which only happened when a synchronous op was delayed and a related asynchronous one was less delayed and happened first.
Thinking of synchronous == immediate, asynchronous == delayed causes bugs in real code.
the problem is that “synchronous” isn't the perfect word neither. Here's definition from American Heritage Dictionary:
- 1. Occurring or existing at the same time. See Synonyms at contemporary.
- 2. Moving or operating at the same rate.
- 3. a. Having identical periods. b. Having identical period and phase.
Sync typically mean “happening at the same time”. For example, we say, in sync, sync directories, synchronous swimming.
in programing context, we understand it to mean something different because we are habituated to the special nuances and meaning in contexts.
the other problem with synchronous is that it's a big word, and confusing with the opposite with added “a” in front. The morphology❕ of “synchronous” and “asynchronous” is almost identical.
Nick Alcock wrote:
The meaning meant is the second one. From the OED:
2.a. Recurring at the same successive instants of time; keeping time with; going on at the same rate and exactly together; having coincident periods, as two sets of vibrations or the like.
The operative part here is “keeping time with, at the same rate and exactly together”. It's not immediate at all. A synchronous operation may take, hell, weeks to come back.
when we discuss the science of terminology and jargons, the issue isn't about how fitting term X is, but how X compares to many other candidates.
understand that, most terms used in computer science or programing, has their meaning borrowed. So, neither synchronous nor immediate mean what we really want it to mean, but the point is, once the term has been adopted, we essentially are giving it a definition.
So, per OED you dig up, we could say, OED added that because we started to use the term that way. In fact, that's how most word's definition came by, by definition.
Here's the etymology of “synchronous”:
1660s, “existing or happening at the same time,” from Late Latin synchronus “simultaneous,” from Greek synkhronos “happening at the same time,” from syn- “together” (see syn-) + khronos “time” (see chrono-). Meaning “recurring at the same successive instants of time” is attested from 1670s. Related: Synchronously.
[2018-04-11 from http://www.etymonline.com/index.php?search=synchronous]
basically, it came from the words: “same” and “time”.
Here's etymology of “immediate”:
late 14c., “intervening, interposed;” early 15c., “with nothing interposed; direct,” also with reference to time, from Old French immediat, from Late Latin immediatus “without anything between,” from assimilated form of in- “not, opposite of” (see in- (1)) + mediatus, past participle of mediare “to halve,” later, “be in the middle,” from Latin medius “middle” (see medial (adj.)).
[2018-04-11 from http://www.etymonline.com/index.php?search=immediate]
- with nothing interposed; direct
- without anything between
So, it turns out, “immediate” is actually more fitting a term.
If you have a question, put $5 at patreon and message me.