String (computing)¶
In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable.
Core Idea¶
String (computing) is treated here as the recurring computer_science_and_information identity summarized by this source-grounded definition: In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable.
In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. The latter may allow its elements to be mutated and the length changed, or it may be fixed (after creation). A string is often implemented as an array data structure of bytes (or words) that stores a sequence of elements, typically characters, using some character encoding.
More general, string may also denote a sequence (or list) of data other than just characters. Depending on the programming language and precise data type used, a variable declared to be a string may either cause storage in memory to be statically allocated for a predetermined maximum length or employ dynamic allocation to allow it to hold a variable number of elements. When a string appears literally in source code, it is known as a string literal or an anonymous string.
For String (computing), the abstraction is narrower than the article's general subject matter: a positive case must preserve In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. Retaining only the name, a familiar example, or a downstream effect is insufficient. The specialist roles and tests remain anchored in computer_science_and_information, which is why this identity is domain-specific rather than prime.
Structural Signature¶
Sig role-phrases:
- Defining carrier — A mathematical system is any set of strings of recognisable marks in which some of the strings are taken initially and the remainder derived from these by operations performed according to rules which are independent of any meaning assigned to the marks.
- Constitutive relation — The name stringology was coined in 1984 by computer scientist Zvi Galil for the theory of algorithms and data structures used for string processing.
- Operating condition — Sammet, "the first realistic string handling and pattern matching language" for computers was COMIT in the 1950s, followed by the SNOBOL language of the early 1960s.
- Recognition evidence — The syntax of most high-level programming languages allows for a string, usually quoted in some way, to represent an instance of a string datatype; such a meta-string is called a literal or string literal.
- Admissible variation — Of course, even variable-length strings are limited in length by the amount of available memory.
- Characteristic consequence — The string length can be stored as a separate integer (which may put another artificial limit on the length) or implicitly through a termination character, usually a character value with all bits zero such as in C programming language.
- Failure boundary — Older string implementations were designed to work with repertoire and encoding defined by ASCII, or more recent extensions like the ISO 8859 series.
What It Is Not¶
- Not the whole field of computer_science_and_information. The node requires the specific identity stated by In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable.
- Not an over-broad reading. UTF-8, UTF-16 and UTF-32 require the programmer to know that the fixed-size code units are different from the "characters", the main difficulty currently is incorrectly designed APIs that attempt to hide this difference (UTF-32 does make code points fixed-sized, but these are not "characters" due to composing codes).
- Not an over-broad reading. Further, strings may store data expressed as characters yet not intended for human reading.
- Not an over-broad reading. If text in one encoding was displayed on a system using a different encoding, text was often mangled, though often somewhat readable and some computer users learned to read the mangled text.
- Not automatically Unary language. Retrieval proximity does not establish equivalence; the two identities must be compared by carrier, operation, and failure boundary.
Scope of Application¶
String (computing) applies literally inside computer_science_and_information wherever the source-defined carrier and relation can be established. Its documented habitats include:
- Non-text strings. This data may or may not be represented by a string-specific datatype, depending on the needs of the application, the desire of the programmer, and the capabilities of the programming language being used.
- Character string functions. String functions are used to create strings or change the contents of a mutable string.
- Purpose. A primary purpose of strings is to store human-readable text, like words and sentences.
- Purpose. Strings are used to communicate information from a computer program to the user of the program.
- Purpose. Often these are intended to be somewhat human-readable, though their primary purpose is to communicate to computers.
- Purpose. The term string may also designate a sequence of data or computer records other than characters, like a "string of bits", but when used without qualification it refers to strings of characters.
Outside computer_science_and_information, the name should be retained only when these same operational conditions survive; otherwise the comparison belongs to the broader parent Pattern or should be marked as analogy.
Clarity¶
A clear use of String (computing) names the carrier, the operative relation, and the conditions under which the source treats the identity as present. The minimal definition is In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. The strongest recognition evidence in the frozen account is: The syntax of most high-level programming languages allows for a string, usually quoted in some way, to represent an instance of a string datatype; such a meta-string is called a literal or string literal. A report should distinguish that evidence from a proxy, consequence, or common implementation. It should also state the qualification UTF-8, UTF-16 and UTF-32 require the programmer to know that the fixed-size code units are different from the "characters", the main difficulty currently is incorrectly designed APIs that attempt to hide this difference (UTF-32 does make code points fixed-sized, but these are not "characters" due to composing codes). so that a reader can reproduce the classification rather than infer it from topical resemblance.
Manages Complexity¶
String (computing) compresses multiple computer_science_and_information details into a stable diagnostic relation. The source shows both the central mechanism—the name stringology was coined in 1984 by computer scientist Zvi Galil for the theory of algorithms and data structures used for string processing.—and the practical consequence—the string length can be stored as a separate integer (which may put another artificial limit on the length) or implicitly through a termination character, usually a character value with all bits zero such as in C programming language. This compression makes cases comparable while leaving parameters, conventions, exceptions, and evidential quality explicit. It is lossy by design: local history and implementation details may be omitted only when they do not alter the defining relation.
Abstract Reasoning¶
- Type the carrier. Identify the computer_science_and_information entities to which the claim applies.
- State the relation. Use the source-grounded identity: In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable.
- Check operation and conditions. Sammet, "the first realistic string handling and pattern matching language" for computers was COMIT in the 1950s, followed by the SNOBOL language of the early 1960s.
- Demand recognition evidence. The syntax of most high-level programming languages allows for a string, usually quoted in some way, to represent an instance of a string datatype; such a meta-string is called a literal or string literal.
- Test variation. Change an implementation or setting while preserving of course, even variable-length strings are limited in length by the amount of available memory.
- Run the collapse test. Remove the defining operation; if the label still seems equally apt, only a topic or correlate was retained.
- Reduce cautiously. When the specialist conditions cannot be carried, route the residual comparison to Pattern.
Knowledge Transfer¶
Within the home domain. Knowledge about String (computing) transfers literally when a new case preserves the same carrier type, relation, and recognition test. This data may or may not be represented by a string-specific datatype, depending on the needs of the application, the desire of the programmer, and the capabilities of the programming language being used. String functions are used to create strings or change the contents of a mutable string.
Beyond the home domain. No canonical parent is asserted for String (computing). An outside case receives the specialist name only when the same typed roles and rejection conditions can be filled literally; otherwise the comparison remains an analogy pending later graph densification.
Examples¶
Canonical¶
Many high-level languages provide strings as a primitive data type, such as JavaScript and PHP, while most others provide them as a composite data type, some with special language support in writing literals, for example, Java and C#. This case is canonical because it supplies a concrete carrier and lets the defining relation be checked rather than merely named.
Mapped back: carrier → the entities in the documented case; operation → In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable; recognition evidence → The syntax of most high-level programming languages allows for a string, usually quoted in some way, to represent an instance of a string datatype; such a meta-string is called a literal or string literal
Applied / In Practice¶
Some microprocessor's instruction set architectures contain direct support for string operations, such as block copy (e.g. The applied case shows how the identity is used under a second setting or qualification while keeping the same operative relation.
Mapped back: changed setting → Character string functions; invariant → In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable; boundary → the case exits the class when uTF-8, UTF-16 and UTF-32 require the programmer to know that the fixed-size code units are different from the "characters", the main difficulty currently is incorrectly designed APIs that attempt to hide this difference (UTF-32 does make code points fixed-sized, but these are not "characters" due to composing codes)
Structural Tensions¶
T1 — Stable identity versus admissible variation. UTF-8, UTF-16 and UTF-32 require the programmer to know that the fixed-size code units are different from the "characters", the main difficulty currently is incorrectly designed APIs that attempt to hide this difference (UTF-32 does make code points fixed-sized, but these are not "characters" due to composing codes). The tension matters because emphasizing only one side either dissolves the identity or overstates what the evidence and domain conventions warrant.
Diagnostic: Which changes preserve the defining relation, and which replace it?
T2 — Recognition versus proxy. Further, strings may store data expressed as characters yet not intended for human reading. The tension matters because emphasizing only one side either dissolves the identity or overstates what the evidence and domain conventions warrant.
Diagnostic: Does the cited evidence establish the identity or only a correlated sign?
T3 — Definition versus implementation. If text in one encoding was displayed on a system using a different encoding, text was often mangled, though often somewhat readable and some computer users learned to read the mangled text. The tension matters because emphasizing only one side either dissolves the identity or overstates what the evidence and domain conventions warrant.
Diagnostic: Is the observed implementation constitutive, optional, or merely common?
T4 — Scope versus overextension. Other encodings such as ISO-2022 and Shift-JIS do not make such guarantees, making matching on byte codes unsafe. The tension matters because emphasizing only one side either dissolves the identity or overstates what the evidence and domain conventions warrant.
Diagnostic: Can every claimed application fill the same typed roles without metaphor?
T5 — Transfer versus domain accent. A mathematical system is any set of strings of recognisable marks in which some of the strings are taken initially and the remainder derived from these by operations performed according to rules which are independent of any meaning assigned to the marks. The tension matters because emphasizing only one side either dissolves the identity or overstates what the evidence and domain conventions warrant.
Diagnostic: Does the receiving case instantiate String (computing) literally, co-instantiate Pattern, or only resemble it?
T6 — Autonomy versus reduction. The name stringology was coined in 1984 by computer scientist Zvi Galil for the theory of algorithms and data structures used for string processing. The tension matters because emphasizing only one side either dissolves the identity or overstates what the evidence and domain conventions warrant.
Diagnostic: What does String (computing) distinguish that the broader parent Pattern leaves together?
Structural–Framed Character¶
String (computing) is structural-leaning. Its structural side is the repeatable organization summarized by In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. Its framed side is the computer_science_and_information vocabulary that fixes the carrier, evidence, exceptions, and admissible transformations.
Evaluative weight: the identity can be stated descriptively even when applications carry practical stakes. Human-practice dependence: the source-grounded carrier determines whether the relation exists independently or is constituted by a practice. Institutional origin: disciplinary conventions stabilize the name and test. Vocabulary portability: Sammet, "the first realistic string handling and pattern matching language" for computers was COMIT in the 1950s, followed by the SNOBOL language of the early 1960s. Import versus recognition: literal transfer requires the same mechanism; shape alone is analogy.
Its portable skeleton is Pattern. Its character: a recurring specialist identity whose thin organization can be abstracted, while its operational meaning remains domain-bound.
Structural Core vs. Domain Accent¶
What is skeletal. In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. The stable skeleton is the typed relation expressed in that definition and the entry's recognition and collapse tests. The source identifies these operative conditions: A mathematical system is any set of strings of recognisable marks in which some of the strings are taken initially and the remainder derived from these by operations performed according to rules which are independent of any meaning assigned to the marks. The name stringology was coined in 1984 by computer scientist Zvi Galil for the theory of algorithms and data structures used for string processing. It further constrains recognition and variation through: Sammet, "the first realistic string handling and pattern matching language" for computers was COMIT in the 1950s, followed by the SNOBOL language of the early 1960s. The syntax of most high-level programming languages allows for a string, usually quoted in some way, to represent an instance of a string datatype; such a meta-string is called a literal or string literal.
What is domain-bound. computer science and information supplies the operative entities, technical vocabulary, warrants, and exceptions that make String (computing) literal. Its documented scope includes the condition that This data may or may not be represented by a string-specific datatype, depending on the needs of the application, the desire of the programmer, and the capabilities of the programming language being used. Another bounded application condition is that String functions are used to create strings or change the contents of a mutable string. These are not decorative examples; they determine which carrier and evidence can fill the abstraction's roles.
Why no parent is asserted. Removing those specialist details does not currently yield one live catalog node that is a necessary genus for every instance. The entry is therefore approved as unparented rather than attached by topical resemblance. Its collapse evidence remains specific—Of course, even variable-length strings are limited in length by the amount of available memory.—and future graph densification may discover a defensible relation only if it preserves that boundary.
Instantiates / Related Primes¶
This entry is a kind of Data Type.
- Approved unparented node. No current live node supplies a defensible necessary genus or structural prerequisite for String (computing). The reviewed identity is: In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. The accelerated suggestion was declined because topical or lexical similarity does not establish hierarchy; the node is admitted without a parent pending later graph densification.
- Related reasoning operations. Evidence, representation, comparison, classification, transformation, or evaluation may participate in particular cases, but participation does not make any one of them a necessary parent of every instance.
Relationships to Other Abstractions¶
Current abstraction String (computing) Domain-specific
Parents (1) — more general patterns this builds on
-
String (computing) is a kind of Data Type Domain-specific
String (computing) satisfies the defining boundary of Data Type: A data type is a specification of a class of values together with their representation or abstract behavior, admissible operations, invariants, equality and error conventions, and static or dynamic rules governing storage, construction, use, and composition in a computational system.String (computing) satisfies the defining boundary of Data Type: A data type is a specification of a class of values together with their representation or abstract behavior, admissible operations, invariants, equality and error conventions, and static or dynamic rules governing storage, construction, use, and composition in a computational system.
Hierarchy path (1) — routes to 1 parentless root
- String (computing) → Data Type → Classification
Neighborhood in Abstraction Space¶
String (computing) sits in a sparse region of the domain-specific corpus (65th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.
Family — Formal Logic & Language Constructs (20 abstractions)
Nearest neighbors
- Natural-Language Programming — 0.85
- Co-RE-complete — 0.85
- Numerical taxonomy — 0.84
- Characterization (mathematics) — 0.84
- Matrix (music) — 0.84
Computed from structural-signature embeddings · 2026-10-08
Not to Be Confused With¶
- Pattern. The parent omits the specialist differentia. Tell: Can the case establish In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable?
- Unary language. A formal language over a one-symbol alphabet, equivalently encoding a set of natural numbers by string length. Tell: Which entry's carrier, operation, and failure condition are satisfied?
- Character (symbol). A discrete written or typographic sign—such as a letter, digit, ideogram or punctuation mark—recognized as one unit within a notational system despite variation in its glyphs. Tell: Which entry's carrier, operation, and failure condition are satisfied?
- Variable-Length Encoding. Assign source symbols codewords of unequal lengths under an explicit decodability rule, trading average length against parsing complexity, error propagation, synchronization, and source-model mismatch. Tell: Which entry's carrier, operation, and failure condition are satisfied?
- A measurement, proxy, or consequence. Those may provide evidence without being the identity. Tell: Would String (computing) remain present if the detector or downstream effect changed?
- A metaphorical analogue. A similar shape outside computer_science_and_information lacks the specialist mechanism. Tell: Do the native roles transfer literally, or only the parent Pattern?
References¶
- Frozen Wikipedia discovery revision: https://en.wikipedia.org/wiki/String_(computer_science) (revision 1369630256).
- Preserved source candidate: http://www.acsu.buffalo.edu/~fineberg/mfc158/week10lecture.htm
- Preserved source candidate: https://web.archive.org/web/20160303233357/http://www.acsu.buffalo.edu/~fineberg/mfc158/week10lecture.htm
- Preserved source candidate: https://users.cs.utah.edu/~germain/PPS/Topics/strings.html
- Preserved source candidate: https://plant-breeding-genomics.extension.org/dna-as-a-biochemical-entity-and-data-string/
- Preserved source candidate: https://www.etymonline.com/search?q=string
- Preserved source candidate: https://archive.org/details/asurveyofsymboli00lewiuoft/page/355/mode/1up
- Preserved source candidate: https://redirect.cs.umbc.edu/courses/undergraduate/331/resources/papers/sammet1972.pdf
- Preserved source candidate: http://bitsavers.org/pdf/ibm/360/pli/C28-6594-4_PL1_F_Programmers_Guide_Nov68.pdf#page=136
The frozen Wikipedia revision is discovery provenance. The retained source set was reviewed for identity, formal or operational relation, and scope. The encyclopedia's structural synthesis is bounded to those claims; a thin authority surface is recorded as a nonblocking source-strengthening repair rather than concealed.