If your goal is to provide the machine with the most accurate and precise instructions possible then Assembler, followed relatively closely by C, cannot be beat.
For specific domains, a language that allows easy, straightforward expression of domain concepts is superior. COBOL for business applications, FORTRAN (FORTRESS, Guy Steele's parallel FORTRAN) for physics, and some intentional DSL's.
Now it gets tricky, because it depends on exactly what kind of virtual machine you want to impose on the hardware. A computer — a Turing Machine — can be any kind of virtual machine you want, each of which can be Turing Complete and therefore exact equivalents of each other. If I want to define my virtual machine as a logical implementation of an abstraction, Lambda Calculus perhaps, then the programming language that most closely expresses that abstraction, LISP for example, is the best.
If your abstract virtual machine implements some kind of functional paradigm, the the functional language that directly and simply expresses ideas in that paradigm is best.
If your abstraction is classical logic, the PROLOG; etc/, etc..
The reason this is tricky is that all of these abstract virtual machines and the languages that express associated abstract concepts are little more than interesting toys. All are equal, all are equally irrelevant.
Now, as to objects:
There are no object languages, the closest approximation would be Self. The next closest would be Simula - but NOT Simula I, the first incarnation of the language that was a "programming language."
The greatest tragedy to befall objects was the idea of OO Programming because the object concept has little or nothing to do with programming — the concept provides an elegant way of thinking about, modeling, modularizing, and designing systems; especially the large scale complex (not just complicated) systems that comprise the world around us.
Given people that can think in objects and design with, for, and in objects; then it is possible to train them in the proper use of Smalltalk for effective implementation of those designs.
davew
On Fri, Aug 7, 2020, at 6:45 PM, jon zingale wrote:
> I figured it was time again to start an opinions on programming languages
> free for all. Functional rules while imperative drools. Objects are fine,
> but it's better to know what you are doing!
>
>
>
> --
>
> - .... . -..-. . -. -.. -..-. .. ... -..-. .... . .-. .
> FRIAM Applied Complexity Group listserv
>
- .... . -..-. . -. -.. -..-. .. ... -..-. .... . .-. .