Skip to content
ALB Wiki

Diff — Address programming language

Comparing rev 1 → rev 2

{{infobox
| title = Address programming language
| native = Адресный язык программирования (ru) · Адресна мова програмування (uk) — often "APL" (not Iverson's)
| created = 1955 · Kyiv, Ukrainian SSR Academy of Sciences
| designers = Kateryna Yushchenko · with V. S. Korolyuk; formal groundwork by L. I. Kaluzhnin
| key_feature = Indirect addressing and addresses of higher ranks — pointers, years before PL/I (1964)
| ran_on = Kiev · Ural · M-20 · Minsk · Dnipro · Promin — most first/second-generation Soviet machines
| book = Yushchenko, *Адресное программирование* (1963)
}}
-
The **Address programming language** (Russian: *Адресный язык*) is one of the world's first high-level programming languages, created in Kyiv in **1955** by **[[Kateryna Yushchenko]]** — two years before FORTRAN's first compiler shipped and nine years before PL/I gave Western programmers pointers. Its central idea was exactly that: manipulating *addresses of second and higher rank* — values that point at other pointers — as first-class program objects.[[cite: en.wikipedia; NASU profile; Glushkov & Yushchenko 1962]]
+
The **Address programming language** (Russian: *Адресный язык*) is one of the world's first high-level programming languages, created in Kyiv in **1955** by **[[Kateryna Yushchenko]]** — two years before FORTRAN's first compiler shipped, and years before pointer machinery reached mainstream Western languages (IPL had linked lists in 1956; PL/I added an explicit POINTER type in 1964). Its central idea was exactly that: manipulating *addresses of second and higher rank* — values that point at other pointers — as first-class program objects.[[cite: NASU profile; Glushkov & Yushchenko 1962; Yushchenko 1963]]
## Two principles
Yushchenko built the language on the two things a stored-program machine fundamentally does:
- **Program control** — a program describes a sequence of operations and how execution moves between them;
- **Addressing** — data lives at addresses, and addresses themselves can be computed, stored, and dereferenced.
-
From those primitives the language derived its signature capability: **indirect addressing**, and *addresses of higher rank* — a first-rank address points at data; a second-rank address points at an address; and so on. In modern terms: pointers, and pointers-to-pointers — the machinery behind linked data structures, lists, and trees. It also gave programs **free location in memory**: code could be moved and relocated, a property most contemporaries lacked.[[cite: en.wikipedia; Yushchenko 1963; NASU]]
+
From those primitives the language derived its signature capability: **indirect addressing**, and *addresses of higher rank* — a first-rank address points at data; a second-rank address points at an address; and so on. In modern terms: pointers, and pointers-to-pointers — the machinery behind linked data structures, lists, and trees. It also gave programs **free location in memory**: code could be moved and relocated, a property most contemporaries lacked.[[cite: Yushchenko 1963; NASU profile]]
## Hardware partnership
The language was not merely implemented on the **[[Kiev computer]]** — it shaped it. At the 1957–58 Kyiv algorithms seminar (Glushkov, Kaluzhnin, Korolyuk, Yushchenko), the language's needs fed back into the machine's design: the Kiev's instruction set carried a unique *group operation on addresses* performing **n-fold dereference in a single machine operation**, accelerating work on abstract data types, plus the "P" operation included at Yushchenko's suggestion. Programs were written in address language and compiled by *PP* — "programming-program" translator programs, an early compiler pipeline.[[cite: Glushkov & Yushchenko, *The Kiev Computer: A Mathematical Description*, 1962/1966]]
-
From Kyiv it spread across the Soviet fleet: **Ural**, **M-20**, **Minsk**, **[[Dnipro computer|Dnipro]]**, **Promin** — essentially every first- and second-generation Soviet machine ran an implementation. It stayed in service for nearly twenty years, computing ballistic-missile trajectories, aviation and space problems, machine building, and defense work; the early relational-type DBMS **Avtodirektor** on the Kiev was written in it.[[cite: en.wikipedia; ru.wikipedia]]
+
From Kyiv it spread across the Soviet fleet: **Ural**, **M-20**, **Minsk**, **[[Dnipro computer|Dnipro]]**, **Promin** — essentially every first- and second-generation Soviet machine ran an implementation. It stayed in service for nearly twenty years, computing ballistic-missile trajectories, aviation and space problems, machine building, and defense work; the early relational-type DBMS **Avtodirektor** on the Kiev was written in it.[[cite: NASU profile; Glushkov Institute museum]]
## Standing and influence
-
The institute's own framing is ambitious — claiming the language's ideas anticipated abstract data types, object-oriented and functional programming, logical programming, databases, and AI tooling. The *documented* standing is impressive enough without the superlatives: one of the world's first high-level languages, **the first with pointer-style addressing**, conceived a decade before the West adopted the idea, and the foundation stone of the Soviet school of theoretical programming that Yushchenko led for forty years.[[cite: en.wikipedia (claims flagged citation-needed); NASU]]
+
The institute's own framing is ambitious — claiming the language's ideas anticipated abstract data types, object-oriented and functional programming, logical programming, databases, and AI tooling. The *documented* standing is impressive enough without the superlatives: one of the world's first high-level languages, **the first with pointer-style addressing**, conceived a decade before the West adopted the idea, and the foundation stone of the Soviet school of theoretical programming that Yushchenko led for forty years.[[cite: institute framing flagged as its own claim; NASU profile]]
```warn
**Name collision.** The language is sometimes abbreviated **APL** in Soviet-era English-language sources — it is *not* Iverson's APL. French and German editions render Yushchenko as *Iouchtchenko* / *Justschenko*.
```
## The record
- **1955** — Yushchenko creates the language (with Korolyuk; Kaluzhnin's formalization groundwork)
- **1957–58** — the seminar period; late-1959 improvements; feedback into Kiev's operation set
- **1963** — Yushchenko's *Адресное программирование* (286 pp) — the canonical book
- **1964** — *Elements of Programming* (with Gnedenko & Korolyuk) in German (Teubner) and Hungarian; a PP translator for Ural-1
- **1966** — the Kiev machine description reaches the USAF (FTD translation)
- **1969** — *Elements of Programming* in French (Dunod)
- **1974** — further French publication on the address system
## References
-
- en.wikipedia "Address programming language" — overview, machine list, applications
+
- Glushkov Institute museum — "Theoretical Programming in Ukraine"; machine-fleet accounts
- Yushchenko, *Адресное программирование* (Kyiv, 1963)
- Glushkov & Yushchenko, *The Kiev Computer: A Mathematical Description* (1962; FTD-TT-65-972, 1966)
- Gnedenko, Korolyuk & Yushchenko, *Elements of Programming* (German 1964, Hungarian 1964, French 1969)
- NASU profile: "Kateryna Lohvynivna Yushchenko — inventor of Pointers"
## See also
- [[Kateryna Yushchenko]] · [[Victor Glushkov]] · [[Kiev computer]]
- [[MESM]] · [[Dnipro computer]] · [[MIR computer]]
[[Category:Programming languages]]
[[Category:Computer science]]
[[Category:History]]
[[Category:Languages]]