74

What is the correct word for "dependee"?

In other words, what is the word for something that is depended upon? The relationship here is in the context of software engineering

Kris
  • 37,386
Louis Rhys
  • 3,458
  • 1
    dependency / prerequisite / required / ... – Pacerier May 07 '14 at 09:33
  • 4
    @Pacerier Although 'dependency' is sometimes used interchangeably - in software circles - to refer both to something that depends on another thing, and the thing it depends upon, in English it only has the former meaning. The double-meaning misusage of 'dependency' has the effect of being antonyms that are the same word, and so cannot be used in the same context. It is used one way or another depending on the context but as you can see from the answer and comments at http://english.stackexchange.com/a/25580/135909 it only leads to confusion. I think better stick to the correct meaning. – Jason S Sep 01 '15 at 13:11
  • 2
    @Pacerier A dependency is something "in a state of being dependent", or "having a dependence", which exists for a "dependant", not "dependee". For example, a forum's State field could have the requisite that it's drop-down be country specific, thus making a Country field required. – samus Jan 05 '18 at 21:33
  • There are similar word-use, like payer, payee; drawer, drawee; lessor, lessee, etc - used technically. Here, the beneficiary of dependence is 'dependee.' – Ram Pillai Oct 28 '20 at 05:32

14 Answers14

40

If you really mean "the thing depended upon", then Mr Disappointment's answer (dependency) is correct.

If you mean the thing that depends on the dependency, then "dependent" ("dependant" in the UK) would work. It's the word we use to describe people who rely on others for support, so it would make sense here.

njd
  • 2,667
  • 11
    Although 'dependency' is often used in the technology sphere to mean the thing something depends on, unfortunately the dictionary meaning is the opposite. For instance having 'a dependency' in English indicates being dependent on something. It never indicates the thing on which you are dependent. Also, the plural 'dependencies', by dictionary meaning, are things that depend on something else, not the other way around. – Jason S Aug 30 '15 at 14:44
  • @JasonS What about "being a dependency" instead of "having a dependency". For instance, that library is a dependency of that implementation. Doesn't that satisfy what the OP was asking for? – Thomas Feb 28 '17 at 14:22
  • 2
    @Thomas I think it is still problematic since many people in the software industry use and understand "dependency" to mean the thing on which something depends (as indicated by this and other answers). So saying "being a dependency" indicates to those people the thing on which something depends, which is the opposite of the way I think of it (and what it means according to the dictionary). – Jason S Apr 22 '17 at 21:56
  • 2
    There are contradicting definitions: "dependence: one that is relied on", "dependency: something that is dependent on something else", "dependent: one that is dependent" which also says "archaic : DEPENDENCY" which is certainly the inverse of what is usually meant in technology... is it more correct to install the "dependences"? (wiktionary gives it as the plural) – Aaron Hall Nov 19 '18 at 17:01
  • 1
    In the software industry we use "dependency" to refer to the relationship between two objects. We say "looking for dependents" for relationships to dependent things and "looking for dependencies" for relationships to prerequisite things, so it gets that connotation, but the literal meaning is the relationship itself, not the object. Finding a better word is exactly the point of the question. – Ben May 02 '19 at 09:21
21

If A depends on B, then A requires B. So perhaps B is a requirement.

It may also be an import (more specific term, referring to parts of program) or predecessor (since the dependency relation can be thought of as a partial order, as in a Makefile the dependency graph specifies the order in which things must be done).

Software engineering has many terms for specific kinds of dependency. In a publisher/subscriber relationship, B is the publisher; in a producer/consumer relationship, B is the producer; and in a client/server relationship, B is the server. In package management, B is a prerequisite.

  • 4
    +1 for getting us closer to a good answer (I haven't been happy with any of the answers yet, including my own) – Ben Hocking May 16 '11 at 16:11
  • 2
    @Ben I voted for yours too, but I agree none of them seem quite right. – Jason Orendorff May 16 '11 at 16:28
  • 6
    Using synonyms.net also provided requisite which is similar to your requirement. – Ben Hocking May 16 '11 at 16:34
  • Requirement suggests a pre-condition or something to be fulfilled. It doesn't convey an ongoing dependency. – Jason S Aug 31 '15 at 07:51
  • Would determinant work (is it used in the software industry)? – samus Dec 28 '17 at 22:12
  • "Depend" literally means "to hang from" so the metaphor is one of support. "Dependent/Supporter" would work but for engineering I prefer "Dependents/Requirements", because this is about machines not people. Also the word "require" is a keyword in some languages for this purpose. – Ben May 02 '19 at 08:59
  • @samis Determinant is a property of a matrix and is already used for that in software. – Ben May 02 '19 at 09:26
11

What's wrong with dependencies / dependency? As an example, given the nature you stated, Microsoft use this term in their Services Management Console and differentiate in plain English:

enter image description here

Note the use of an encompassing dependencies tab and further sentences constructed in the form of this depends on and depends on this.

The thing is, you have the word correct (unless you're just looking for a synonym), since one side must be dependent if in question - otherwise it would be independent and therefore irrelevant, perhaps.

Grant Thomas
  • 4,780
  • 1
    In your example, he knows that RPC is a dependency. He wants a word to describe the ActiveX installer that informs the listener that something depends on it, without needing to specify what (or needing use an awkward construct like "which is depended upon"). – Matthew Read May 16 '11 at 14:29
  • 2
    Then the question is worded wrongly, and should probably say "the thing which depends upon the dependency". – njd May 16 '11 at 14:32
  • @Matthew Read: That may be correct, but I must agree with @njd. Also, by your very own reasoning, at least one 'awkward construct' is required, unless you want to simply omit the information by discarding that part of the sentence altogether. – Grant Thomas May 16 '11 at 15:17
  • 8
    +1 for the word dependency, but the picture does nothing but undermine your argument. This program uses the word Dependencies to refer to the dependency relationships, in both directions, not specifically the things depended upon. In particular, note that in order to say “nothing depends on this service”, the UI shows “No dependencies”, not “No dependents”. – Jason Orendorff May 16 '11 at 15:58
  • FWIW, Apache Maven uses dependency synonymously with dependent, as Jason alludes to. There is a dependencies xml element, with several dependency elements, each of which lists something that the application depends on - not something that depends on the application. http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html – Ben Hocking May 16 '11 at 16:02
  • @Jason Thanks for the clarification, I did think I had broached that issue with bringing up independent - for the little it is worth here. I'm not sure hot it undermines my argument when I'm not referencing the text inside the boxes, but the sentences above. @Ben: I can only say much the same as I've said: the absence of items is the discriminator here, if not there then they're independent. – Grant Thomas May 16 '11 at 16:09
  • @Mr. Disappointment It sounds like you're saying, "Use the word dependencies. Like Microsoft, see? Just ignore all the parts of this picture where they actually use the word dependencies." – Jason Orendorff May 16 '11 at 16:30
  • 1
    In a similar context, the word "prerequisite" could be used. – Rekin Jul 17 '15 at 14:10
  • 5
    Because 'dependencies' by dictionary meaning, never means the things depended upon. It always means the things dependent upon something. From your example it looks like Microsoft is using the word as it is defined in the dictionary. By dictionary meaning, 'dependency' also never refers to the thing that something depends on. It refers to the state of being dependent upon something. – Jason S Aug 30 '15 at 14:51
  • Just because Msft did something doesn't mean it is right, it just means that a UI designer happened to choose those words. They could have said Required components or Prerequisites instead with same effect. The text you show (from Windows Vista) was changed from Windows 2000/XP which had it as X service depends on these services. So clearly the reason for verbiage here is to give an unambiguous description of prerequisites, and reason it was changed was because prerequisites are no longer just services, but now may be various types of "system components." (the old text was not as broad) – nothingisnecessary Dec 02 '16 at 19:52
  • And to add.. if Msft had simply used "Prerequisites" in the first place, there would have been no need to change it when the addition of required "system components" was implemented. One thing we have learned as the field progresses is that for user interfaces it is often preferable to use fewer words than more words. Google excels at this, and sometimes Apple does too. Microsoft seemed to come around to that thinking with Windows 8 a little bit, and continued the trend of being more concise in Windows 10. – nothingisnecessary Dec 02 '16 at 20:02
  • 1
    The word "dependency" has two meanings. Quoting the MacOS Dictionary (U.S.). "1.a dependent or subordinate thing, especially a country or province controlled by another. 2. dependence: the country's dependency on the oil industry." The second meaning is usually as a mass noun, but not in a software engineering, where we talk of "a dependency" like we might discuss "a marriage". In the tab, the word is being used correctly with this second meaning. The first list shows the components on which AxInstSV has a dependency; the second list shows the components that have a dependency on AxInstSV, – Theodore Norvell Dec 31 '17 at 15:09
  • The word "dependency" can refer to the relationship between a dependent and his sponsor, just as "friendship" refers to a relationship between two friends. For example you can substitute "relationships" for "dependencies" in the examples you cite and they still work. (The first listed meaning of "dependency" on dictionary.com is that it's a synonym for "dependance") – Ben May 02 '19 at 09:16
9

Depending on the situation and relationship, "parent" and "child" work to describe the two parts of a dependent relationship. Likewise with the terms "master" and "slave".

MrHen
  • 35,747
  • 32
  • 124
  • 264
  • 21
    I'm a little late for this, but software dependencies don't always imply a hierarchical relationship, like parent/child. Dependencies are simply requirements for the existence of other items (e.g., classes, objects, frameworks) that fulfill a functional relationship. Without that relationship being fulfilled, then the software in rendered incomplete and non-operational. For example, an application program may have a dependency on the existence of a network interface. That doesn't imply a hierarchical dependency. NJD's andwer, "dependent", is a more neutral term. – Canis Lupus May 02 '12 at 20:33
  • @Jim "parent" and "child" don't necessarily imply a hierarchy - it's just that they do so very often in software contexts, (indeed, more specific still), that makes it inappropriate here. – Jon Hanna Feb 17 '13 at 01:00
  • 4
    'Parent' is a specific example of something that something else (a child) depends on, and is not general enough for many instances, and is probably over used for lack of something better. – Jason S Aug 30 '15 at 14:28
  • https://en.wikipedia.org/wiki/Material_conditional – samus Dec 28 '17 at 20:35
6

Provider? This works both in a software engineering sense (at least in some contexts) as well as in a tax "dependent" sense.

Edit to add: a synonym of provider that might work even better (and not have as much of a software engineering constraint) is "supplier".

Ben Hocking
  • 2,930
  • In most contexts in software engineering provider would not be suitable. For example, think of a module X that uses a function defined in module Y. Module X does not have module Y as a "provider". I think the best word here is simply dependency, as in @Mr. Disappointment's answer. Module Y is a dependency (for module X). As for module X, I would say it is dependent on module Y, as in @njd's answer. – b.roth May 16 '11 at 16:02
  • @Bruno: In your example, module Y is a provider of the function that X is depending on. But, you are correct, that depending on how you're using the word, it might not work, because you typically wouldn't say that Y is X's provider if X is only depending on Y for the one function (and if it's depending on other modules for other functions). As for depenendency, it has the problem of being ambiguous. (See my comment to Mr. Disappointment.) – Ben Hocking May 16 '11 at 16:09
  • 2
    @BenHocking i think provider / consumer is the good way to tell who-is-dependant-on-whom without confusing readers (especially, if their native language is not english). – c69 Mar 31 '12 at 23:36
5

"Is a prerequisite for" sounds good to me as the opposite of "is dependent on." So "dependent" and "prerequisite" are my suggestions.

  • Best answer so far, even if "'sounds good to me" may not be the best reason for using it. Prerequisite is defined as a thing that is required as a prior condition for something else to happen or exist, and that fits. As a software engineer, I settled on using Task.Dependency and Task.Prerequisite which seems appropriate given their English definitions, and is also suitable naming for software objects (it is not ambiguous to engineers the way that dependency sometimes is due to misuse.) – nothingisnecessary Dec 02 '16 at 19:56
4

In the context of software engineering, I've always used "dependent" and "dependee".

Logistically speaking, I suppose "depender" and "dependee" would be more accurate, though neither of those are proper english words as far as I know.

EvanK
  • 149
3

I also came here wondering the same thing, so I've voted the question up.

A common occurrence of 'Dependency' and 'Dependencies' in the software / technology sphere is in the rpm package manager.

When installing an rpm package using yum, a search is done for packages upon which the package you are installing depends. At this point yum reports 'Resolving dependencies'. When yum finds a package that the current package depends upon, it reports 'Processing dependency'.

This usage has always baffled me because it is inverse to the English dictionary meaning of the word.

However, since rpm is widely used we can say that this usage is common and it seems the understanding is that dependency can mean either the dependent thing or the thing it depends upon.

Personally, I find this ambiguity rather sloppy, and in some ways indicative of the industry. For example from my knowledge of mathematics, terms are much more well-defined than in software / technology.

Personally, I'd prefer if rpm used a term like 'requisite' to describe the items upon which an item depends. I feel this is better than 'prerequisite', or 'requirement' as they do not imply the concept of a more permanent dependence upon something. Although I feel any of these three terms would be better than the ambiguity of using 'dependency' for both the thing that something depends upon and the dependent item itself. These three terms are also in use and can be understood, although they are less commonly used than the ambiguous use of the term 'dependency'.

Jason S
  • 131
  • The problem with your suggestion is that the terms are not generally used that way. ELU looks at real English usage. – Edwin Ashworth Aug 31 '15 at 16:09
  • @EdwinAshworth Does ELU not also look at English Language? In this case usage is incongruous with the English Language. I think I've covered that. I've also covered that my suggestion is not in usage. The only reason I make a suggestion, that is not in common usage, is because there are major problems with the current usage. I've also described those problems. – Jason S Sep 01 '15 at 09:25
  • << If [an answerable question, or answer, asks about] a recent neologism that other people use ... then [it is] on-topic. If it is looking for a 'neologism', or asking if a 'word' you just made up is OK, then off-topic because it is not answerable. – Mitch >> [scare-quotes mine] – Edwin Ashworth Sep 01 '15 at 18:31
  • @EdwinAshworth I have modified my answer after taking into account your comments that I was looking for a neologism. My suggestions now are ones that are in use, even if not as widespread as the more common ambiguous use of the term 'dependency'. – Jason S Oct 25 '15 at 07:13
  • I agree, however I would also want to be in compliance with current standards/usages. Also, each industry has it's own set of terms with their own set of potentially different meanings, which must be used correctly to produce a useful document (requirements, design, ...). – samus Dec 28 '17 at 20:30
  • 2
    @samusarin If current usage is completely contrary to dictionary meaning I think the usage should be changed, rather than the dictionary. You can see from answers here there is no standard for this term. Sure, in the software industry, in many cases terms are used within a specific context and may mean something different outside that context (e.g. "protocol" has a number of meanings depending on context). It is up to the writers of those documents to define the context and terms. In my experience this is often lacking. – Jason S Dec 29 '17 at 00:57
  • The word "dependency" refers to the relationship between a dependent and his sponsor, just as "friendship" refers to a relationship between two friends. For example you can substitute "relationships" for "dependencies" in the sentences you cite and they still work. "Resolving relationships"/"Processing relationship". – Ben May 02 '19 at 09:09
  • @Ben Yes Yum could have used relationship but they didn't. relationship doesn't necessarily indicate a dependency, or the relationship direction. I think Yum misused dependency and that has caused confusion about the meaning of the word in the software industry. Now I'm working with SQL Server and MS uses it correctly. You can right-click an SQL table and choose "View dependencies", then you can select "Objects that depend on [Table X]" or "Objects on which [Table X] depends". The main point being, there is no one word in English which indicates the inverse of dependency – Jason S May 11 '19 at 00:51
  • @JasonS Ultimately the problem is that when the executioner hangs the criminal, the criminal also hangs. The same word is used for both ends of the relationship. – Ben May 11 '19 at 07:04
  • 1
    @Ben ...and incorrectly so. – Jason S May 13 '19 at 05:13
3

Meaning of Dependent

A Dependent (n) is a thing or person that depends on another thing or person. It's from the French for "to hang from" and is related to "pendant", "pendulum", and "pending". A less polite word for a "dependent" is a "hanger-on".

Dependency can be a synonym for a Dependent. Outside of computing, it's usually used either to refer to a country or region which is dependent on another, i.e. is not independent.

Dependency can also be a synonym for Dependence, the state of being dependent, and by extension the fact of one object being dependent on another. This is the sense it is used in computing - it is what we call a relationship between two objects where one depends on another.

Discussion

In French the word for a bracket from which something hangs would be support. This also works in English for the metaphorical meaning for relationships between people. If Charles financially supports John, then John is a dependent. So Charles could be a "supporter". Alternatives such as "guardian", "patron", "sponsor", "protector" or "benefactor" also work, and more specifically describe the relationship between the two.

But they don't work particularly for machines, because they don't have the same relations.

If trimblerd depends on vectord, then vectord certainly supports trimblerd in an obvious sense. But "Dependent/Supporter" is not a particularly natural pairing, and seems to carry infelicitous connotations.

Verdict: Requirement

Rather, we should try to capture the actual relationship. If trimblerd won't work at all without vectord we should use a word which captures that. In this case trimblerd requires vectord so that is the best word.

  • Dependent / Requirement
  • Dependents / Requirements

(It should really be Requisite but that sounds odd to the modern ear. These days Requirement is mostly used as a synonym.)

Ben
  • 2,626
0

I very much like requisite as a noun meaning "something that is necessary for a particular purpose". (As suggested by @Ben.) To my ear it doesn't sound that odd.

It also works as an adjective meaning "necessary for a particular purpose," as in requisite object, requisite module, or requisite package as the context demands.

Now we just need to rename all those dependency injection frameworks as requisite injection frameworks.

0

If you are happy to go a little more informal and fun, you could try needy and needed. For example 'needy_item_1' requires 'needed_item_2'.

RegDwigнt
  • 97,231
-1

Software engineers create collections and name them, and the name is critical for others to understand the code. Names are a big thing and getting close to natural language is helpful so the code explains itself, so this is the relevant forum.

A book was written to formalize names for things, the Design Patterns book. In it, the closest this comes to is "Observer" versus "Observable", but that implies additional behavior which is unwanted for the general case.

When A depends on B and C, code might be written A.supplier = [B, C], and B.customers = [A]. It is the word from the point of view of the other that is the focus of this question, i.e., supplier and customer in this example. What does A call B, and what does B call A?

In a tire store, they have a list of "customers" and when they want to stock their shelves, they have a list of "suppliers".

In a database, we have a "master" table and a "detail" table.

In my opinion, we focus on "managing" as a cultural style, so collections are named after the managing thing, so we call it a "list" and from the point of view of the list we have "element". But from the point of view of the element there exists no word to describe the list it belongs to. We rarely focus on this relationship in our culture or philosophy so we haven't invented a usual word for it yet in English. It just doesn't occur enough to us to have such a word.

maxpolk
  • 99
-1

what about inverse dependency?

-1

If you're looking at a case in which a child is dependent on a guardian, the term would be:

protegee

Thursagen
  • 41,919