How to Talk to Rocks

“The typical computer in use in the modern Empire remains the parallel array of binary-encoded Stannic-complete processors that has been in use since the days of the first settled Stannic cogitator architecture. This is the case at all scales, from the smallest picoframe microcontroller to the largest mega, with the principal exception being the rod-logic nanocomputers used to provide computing power to microbots and other tiny devices, for which the distinction between hardware and software becomes fuzzy.

“These processors naturally come in a variety of designs utilizing a number of different internal architectures, microcodes, and instruction sets – even word lengths, although 128-bit words (banquyts) are an industry standard. That being said, while bare-metal programming is still taught to inculcate the fundamentals of the profession, it is rarely practiced today.

“Rather, high-level languages are compiled down to MetaLanguage, or ML. ML serves an an intermediate language whose core set of instructions is implemented, directly or indirectly, on all processors; a number of optional feature subsets (for physical interfaces, quantum computing, cryptography, and so on and so forth) may be implemented by various processors, but are not required. Exotic or experimental processors which wish to make use of ML, the majority, may implement their own private subsets. Code objects, or assemblages of such objects, are either precompiled upon installation or just-in-time compiled to platform-specific instructions for the processors they serve.

“The high-level languages of choice, naturally, are a much wider selection. The long-term leaders, at the time of publication, are:

Polychora: a general-purpose, multi-paradigm programming language designed to support object-, aspect-, concurrency-, channel-, ‘weave-, contract- and actor-oriented programming across shared-memory, mesh-based, and pervasively networked parallel-processing systems.

Descant: More dynamic and less strict than Polychora in its approach, and optimized for just-in-time compilation, Descant is a general-purpose language which, while supporting similar functionality in most areas, is optimized to serve in an extensible, modular, readily-integratable system-scripting role. Where convenient, it shares operators and syntax with Polychora.

Silvar: A dynamic language for data-structure-oriented programming, metaprogramming, and self-modification, supporting full homoiconicity while maintaining interoperability with other ML-based languages.

“Additionally, there are many domain specific languages in use. Common examples of these include Exapar (a language designed for convenient programming of nanoswarms and other massive-parallelism systems), eXchange (for expressing smart contracts), Imprimatura (used for declarative rights management systems), psylisp (an extended dialect of Silvar designed for optimal mind-state encoding and self-improving intelligent systems), and VIML (Virtual Interface Meta Language, used for virtuality design, along with specialized derivatives including IMF, the Interactive Modeling Format, and DObI, the Descriptive Object Interface).”

– Introduction to Computer Programming (Vol. 1.): Speaking To Minerals,
Imperial University Press