Address programming language
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.[1]
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.[2]
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.[3]
From Kyiv it spread across the Soviet fleet: Ural, M-20, Minsk, 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.[4]
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.[5]
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
- 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"