In
computer programming
Computer programming or coding is the composition of sequences of instructions, called computer program, programs, that computers can follow to perform tasks. It involves designing and implementing algorithms, step-by-step specifications of proc ...
, a fully qualified name is an unambiguous name that specifies which
object
Object may refer to:
General meanings
* Object (philosophy), a thing, being, or concept
** Object (abstract), an object which does not exist at any particular time or place
** Physical object, an identifiable collection of matter
* Goal, an a ...
,
function, or
variable a call refers to without regard to the context of the call. In a
hierarchical structure
A hierarchy (from Greek: , from , 'president of sacred rites') is an arrangement of items (objects, names, values, categories, etc.) that are represented as being "above", "below", or "at the same level as" one another. Hierarchy is an importan ...
, a name is fully qualified when it "is complete in the sense that it includes (a) all names in the hierarchic sequence above the given element and (b) the name of the given element itself."
Programming
Fully qualified names explicitly refer to
namespace
In computing, a namespace is a set of signs (''names'') that are used to identify and refer to objects of various kinds. A namespace ensures that all of a given set of objects have unique names so that they can be easily identified.
Namespaces ...
s that would otherwise be implicit because of the
scope of the call.
While always done to eliminate
ambiguity
Ambiguity is the type of meaning (linguistics), meaning in which a phrase, statement, or resolution is not explicitly defined, making for several interpretations; others describe it as a concept or statement that has no real reference. A com ...
, this can mean different things dependent on context.
Commonly encountered applications of the notion have been given their own names, such as the
fully qualified domain name
A fully qualified domain name (FQDN), sometimes also called an absolute domain name, is a domain name that specifies its exact location in the tree hierarchy of the Domain Name System (DNS). It specifies all domain levels, including the top-level ...
and the
fully qualified file name.
Examples
To distinguish a fully qualified name from a regular name,
C++,
Tcl
TCL or Tcl or TCLs may refer to:
Business
* TCL Technology, a Chinese consumer electronics and appliance company
** TCL Electronics, a subsidiary of TCL Technology
* Texas Collegiate League, a collegiate baseball league
* Trade Centre Limited ...
,
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language".
Perl was developed ...
and
Ruby
Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
use two colons (
::
), and
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
uses dots (
.
), as does Visual Basic .NET. and
C#. In Java,
ActionScript
ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (mean ...
, and other
object-oriented language
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impleme ...
s the use of the dot is known as "dot syntax". Other examples include:
* As an example of a relational database, in
Microsoft SQL Server
Microsoft SQL Server is a proprietary relational database management system developed by Microsoft using Structured Query Language (SQL, often pronounced "sequel"). As a database server, it is a software product with the primary function of ...
the fully qualified name of an object is the one that specifies all four parts:
server_name. atabase_name chema_nameobject_name
.
* In
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language".
Perl was developed ...
, a fully qualified
scalar (
$scalar
) that is in the
package package2
would be referred to as
$package2::scalar
* In
Ruby
Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
, the fully qualified name of a class is the name of such class with all its parent modules, as Vehicles::Cars::Factory would be the fully qualified name of Factory class within Cars module within Vehicles module.
* In
Rust
Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH) ...
, the fully qualified name of a type is the name of such type with all its parent modules, as would be the fully qualified name of class within the module within the module of the crate. This can be determined by calling the function.
* In
COBOL
COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural, and, since 2002, object-oriented language. COBOL is primarily ...
, a fully qualified data item name can be created by suffixing a potentially ambiguous identifier with an (or ) phrase. For example, multiple data item records might contain a member item named , so specifying serves to disambiguate a specific data item, specifically, the one that is a member of the parent data item. Multiple clauses may be necessary to fully disambiguate a given identifier, for example, . This syntax is equivalent to the "dotted" notation employed in many object-oriented programming languages, but with the identifiers specified in reverse order.
Filenames and paths
The term fully qualified file name (or FQFN) means a file on a computer whose exact name is completely specified such that it is unambiguous and cannot be mistaken for any other file on that computer system.
It is somewhat equivalent on the Internet to a
URL
A uniform resource locator (URL), colloquially known as an address on the Web, is a reference to a resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific type of Uniform Resource Identi ...
specifying the full name of the computer and the entire name of a particular document as a file. The alternative is an unqualified file name or a partially qualified file name.
*On
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
-style systems,
DOS
DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
, and
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
, the name "sample" refers to a file in the
current directory named "sample". If the current directory is changed, then the file referred to by the name "sample" is different. If you start the filename with "/" indicating the
root directory
In a Computing, computer file system, and primarily used in the Unix and Unix-like operating systems, the root directory is the first or top-most Directory (computing), directory in a hierarchy. It can be likened to the trunk of a Tree (data st ...
as in "/Users/Name/sample", then on Unix this is a fully qualified file name. So, for example, instead of referring to
./foo/bar/baz.sh
in
/home/user/quz
, which uses a relative pathname, the fully qualified name would be
/home/user/quz/foo/bar/baz.sh
.
In DOS, the name is still relative to the root directory of the
current disk, so to get a fully qualified file name, the file name must be prefixed with the drive letter and a colon, as in "C:\Users\Name\sample", where "C:" specifies the "C" drive.
*Also on the above systems, some programs such as the command-line shell will search a
path
A path is a route for physical travel – see Trail.
Path or PATH may also refer to:
Physical paths of different types
* Bicycle path
* Bridle path, used by people on horseback
* Course (navigation), the intended path of a vehicle
* Desir ...
for a file. Inserting a leading (back)slash, as in "./name", will stop the searching of the path. This is a ''partially'' qualified name, but not a fully qualified name as it still depends on the current directory. A fully qualified name, because it contains (back)slashes, will always stop a path search.
*On the
mainframe
A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterpris ...
operating system
MUSIC/SP, if one asks for the file name "X", one is making an unqualified reference either to the file X in the user's library, or to the file X in the common library if the user does not have a file named X and one does exist in the common library. If, however, one were to refer to "*COM:X" one is using a fully qualified file name reference to the file X in the common library even if they have a different file named X in their library. Similarly, a reference to "*USR:X" would mean the file in their own library, and "MA45:X" would be a fully qualified file name referring to the specific file X in the library of user MA45.
*On the
RSTS/E
RSTS () is a multi-user time-sharing operating system developed by Digital Equipment Corporation (DEC, now part of Hewlett-Packard) for the PDP-11 series of 16-bit minicomputers. The first version of RSTS (RSTS-11, #Versions, Version 1) was implem ...
operating system on the
PDP-11
The PDP–11 is a series of 16-bit minicomputers originally sold by Digital Equipment Corporation (DEC) from 1970 into the late 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of a ...
minicomputer, specifying a file "X.X" would refer to a file in one's own directory. Referring to "$X.X" would be referring to the file "
,2.X" but to fully qualify the file name, one would have to indicate the device, so "SY:
6,145YFILE.TXT", "SY:$X.X", or "SY:
,2.X" (the last two examples meaning the same thing) would be a fully qualified file name under RSTS/E.
*On the
UNIVAC Series 90 mainframe operating system
VS/9
VS/9 is a computer operating system for the UNIVAC Series 90 mainframes (90/60, 90/70, and 90/80), used during the late 1960s through 1980s. The 90/60 and 90/70 were repackaged Univac 9700 computers. After the RCA acquisition by Sperry, it ...
, specifying a file "X" could mean either the file X in the account of that user, or could mean the file X in the library of the system manager, $TSOS. However, specifying "$S0103.X" would be a fully qualified file name.
*This term can also include the case where one prefixes a fully qualified file name with a specific computer name as a prefix to a file name (where the particular system permits referencing a file on another system), so long as the exact name is unambiguous.
Path names
Fully qualified path name (FQPN) is the full path of a resource, directory or file, stored in a
computer
A computer is a machine that can be Computer programming, programmed to automatically Execution (computing), carry out sequences of arithmetic or logical operations (''computation''). Modern digital electronic computers can perform generic set ...
. It is composed by the full path to the resource and its syntax depends on the
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
. In
Unix-like
A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
operating systems it is represented in the following form:
/root/path-to/file Rirectory
, while in
DOS
DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
and
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
it is represented in the following form:
rive\path-to\file.ext Rirectory
. FQPN is also used in
Networking and takes the following form:
\root\ FQDN\path-to\file.ext Rirectory
, where
/root/
is the
root directory
In a Computing, computer file system, and primarily used in the Unix and Unix-like operating systems, the root directory is the first or top-most Directory (computing), directory in a hierarchy. It can be likened to the trunk of a Tree (data st ...
, the first or top-most directory in a hierarchy, and, in this case, the rooted
tree
In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, e.g., including only woody plants with secondary growth, only ...
;
FQDN
is the fully qualified domain name or node. It is also used in
bootstrapping
In general, bootstrapping usually refers to a self-starting process that is supposed to continue or grow without external input. Many analytical techniques are often called bootstrap methods in reference to their self-starting or self-supporting ...
,
computer programming
Computer programming or coding is the composition of sequences of instructions, called computer program, programs, that computers can follow to perform tasks. It involves designing and implementing algorithms, step-by-step specifications of proc ...
and in
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
referencing.
Domain names
* In the sense of
domain name
In the Internet, a domain name is a string that identifies a realm of administrative autonomy, authority, or control. Domain names are often used to identify services provided through the Internet, such as websites, email services, and more. ...
s, used in
Uniform Resource Locator
A uniform resource locator (URL), colloquially known as an address on the World Wide Web, Web, is a reference to a web resource, resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific t ...
s (URLs), a fully qualified domain name is explicitly suffixed with a dot, to eliminate the step of resolving, and to ensure that no additional suffix is added:
wikipedia.com.
for instance. This is an example of a
fully qualified domain name
A fully qualified domain name (FQDN), sometimes also called an absolute domain name, is a domain name that specifies its exact location in the tree hierarchy of the Domain Name System (DNS). It specifies all domain levels, including the top-level ...
.
See also
*
Filename
A filename or file name is a name used to uniquely identify a computer file in a file system. Different file systems impose different restrictions on filename lengths.
A filename may (depending on the file system) include:
* name – base ...
*
Fully qualified domain name
A fully qualified domain name (FQDN), sometimes also called an absolute domain name, is a domain name that specifies its exact location in the tree hierarchy of the Domain Name System (DNS). It specifies all domain levels, including the top-level ...
References
{{Reflist
Introduction to the Unix file system, including fully and partially qualified paths
External links
Definition of "fully qualified" at The Free Dictionary
Computer files
Computer programming
Domain Name System