![]() music |
![]() | OSdata.com |
UNCOL was first proposed in 1958 by Melvin E. Conway. UNCOL stands for Universal Computer Oriented Language. The original intent was a universal intermediate language. The source code for all programming languages would be translated into the intermediate code and the intermediate code would then be translated into the machine code for all processors. This meant only one compiler back end per processor and only one compiler front end per programming language.
UNCOL was never successfully implemented, despite the fact that some of the most famous people in the history of computers have worked on the problem.
OSdata.com is used in more than 300 colleges and universities around the worldFind out how to get similar high web traffic and search engine placement. |
history: UNCOL (Universal Computer Oriented Language) was proposed in 1958.
UNCOL was first proposed in 1958 by Melvin E. Conway. UNCOL stands for Universal Computer Oriented Language. The original intent was a universal intermediate language. The source code for all programming languages would be translated into the intermediate code and the intermediate code would then be translated into the machine code for all processors. This meant only one compiler back end per processor and only one compiler front end per programming language.
UNCOL was never successfully implemented, despite the fact that some of the most famous people in the history of computers have worked on the problem.
The good news is that although nobody succeeded at building UNCOL, they generally did create useful things, in some cases some of the most important contributions to software engineering. This is a field where failure at the mkain gol can result in great advances.
The most famous example would be Niklaus Emil Wirths invention of P-cocde and Pascal. For a while Pascal was the second most used programming language in the world (after C) and both Pascal and P-code have been highly influential even to this day.
The appendix to Alan Turings famous 1936 paper On Computable Numbers, With an Application to the Entscheidungsproblem proved that Turing Machines were mathematically equivalent to Churchs Lamba Calculus bu showing that Turings computability and Churchs effective calculability were transformations of each other. Turing followed up with a more rigorous proof in his 1937 paper Computability and λ-Definability. Steven Cole Kleene proved the equivalence of lambda calculus and Kurt Gödels 1934 recursive functions.
The mathematical methods for describing effective calculability are Turing machines, recursive functions, and λ-definable functions. Any of these methods can be transformed into any other.
All three methods describe every possible software program.
Lambda calculus is the basis for procedural and functional programming languages.
Anything that can be expressed in any conceivable programming language can be expressed in Turing machines, recursive functions, and λ-definable functions.
Anything that can be expressed in any Turing complete programming language can be expressed in any other Turing complete programming language. And any Turing complete language can express anything that can be expressed in any programming language that is not Turing complete.
The expressions may be exceedingly clumsy, such as trying to do complex math in COBOL or general expressions in BASIC.
Therefore, an UNCOL is mathematically possible, if for no other reason than any arbitrarily chosen programming language could be used as an UNCOL.
Many modern programming languages have compilers that produce C source code, effectively making the C programming language a partial UNCOL.
It is my personal claim that an UNCOL would still be extremely useful, worth at least 10 trillion American dollars.
I would suggest that most (not all) past efforts have gone off the tracks by trying to create a programming language that humans can and will use to write software.
I claim that there is no need for any human to directly write in UNCOL. The language only needs to be written and read by software (compilers and assemblers).
Nonetheless, I think it would be useful for the UNCOL to be designed so that it is easy for humans to read.
UNCOL can be very verbose specifically for the purpose of making it easy for human programmers to read and understand, even though verbose programming languages are typically rejected by programmers (who prefer the least amount of typing).
If there is no intent for any human programmers to directly write in UNCOL, we become free to be as verbose as is necesary to make it clear to any reader how a program works.
Click here for our privacy policy.
| previous page | next page |

This web site handcrafted on Macintosh
computers using Tom Benders Tex-Edit Plus
and served using FreeBSD
.
Names and logos of various OSs are trademarks of their respective owners.
Copyright © 2011 Milo
Last Updated: September 18, 2011
Created: May 31, 2011
| previous page | next page |