Whatever happened to Object-Oriented Programming?

tkn;

The Cincom Personal Use License is free. However, deploying an app can be a costly process involving licensing fees. I recommend developing in the highest-level language environment. Then you might consider a different environment (like Haskell) to prove program correctness. And finally something like Python or C for the actual deployment. Just make sure that all tools converting languages leave the semantics invariant.

Smalltalk V from DigiTalk had an interesting property; it included both a Smalltalk compiler and virtual machine and a Prolog virtual machine. That allows both paradigms to be used for different parts of the application. I did some work on building Forth and Lisp compilers and editors into Smalltalk.

You might also look at Forth. It is a high-level language that allows embedding assembly code directly into the application. When Dr. Allen Perlis talked in class about high and low level languages he said "Low level languages execute faster than high level languages". He also said "High level language code is bigger than low eleven code". Bliss programs run faster than assembly language programs written by expert programmers. Forth programs are approximately 50% of the size of assembler programs. On the TI 990 computer, the Forth virtual machine is 128 bytes. In the Novix computer, the virtual machine is implemented in hardware, making it a Direct Execution Architecture. The Novix computer outperformed the 68000 and the 8086 even though it had only 5000 gates clocked at only 2 MHz.

The language is highly reflective. The Forth words allow you to change the syntax of the language itself.

When Sun Micro was switching from the 68000 based System 3 to the SPARC based System 4, they built a Forth interpreter into the boot ROM and translated Unix System V and most or the diagnostic programs into Forth. That allowed them to use the same code for both systems except for the diagnostic code for the processor itself.