The Oblivion Language
Most common and widely popular programming languages run off an imperative paradigm. You write code in those languages to change the state of the program you want to create. The code is compiled into either byte code, for languages like Java
, or an executable file, if your writing in languages such as C++
. The compiled code runs on machines, either virtual ones or physical one's inside your computer. The instructions from the compiled code are executed by the machine, producing some desired result or functionality.
The Java Virtual Machine, also called the JVM
is a stack based virtual machine. It accepts byte code as input instructions, which correspond to changes in the machine. This causes the machine to change it's state. When one writes a program in an imperative language, they are giving instructions to change the state of the machine the language runs on.
Oblivion is a programming language constructed around a paradigm of automaton-based programming. With imperative-based programming, you deal with abstractions over an instruction set, such as variables, for loops, while loops, functions, classes and objects. These constructs are re-written to be compatible with the underlying machine. The Oblivion language, in contrast, is composed entirely of many different types of machines, also called automaton, to manipulate and serve computational purposes.
The language's goal is to bring the concept of an automaton into the programmer's grasp, and achieve richer abstraction and computational abilities and methods than with conventional object-oriented programming. Many traditional constructs, such as while
or for
loops are replaced with more intricate, custom utilities.