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
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
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".
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.
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.
requisite
which is similar to your requirement
.
Commented
May 16, 2011 at 16:34
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:
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.
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".
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.)
Commented
May 16, 2011 at 16:09
provider
/ consumer
is the good way to tell who-is-dependant-on-whom without confusing readers (especially, if their native language is not english).
"Is a prerequisite for" sounds good to me as the opposite of "is dependent on." So "dependent" and "prerequisite" are my suggestions.
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.)
Commented
Dec 2, 2016 at 19:56
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.
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'.
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.
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.
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.
(It should really be Requisite but that sounds odd to the modern ear. These days Requirement is mostly used as a synonym.)
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'.
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.
If you're looking at a case in which a child is dependent on a guardian, the term would be:
protegee
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.