4 ms·
Programming languages are restrictions. A 'program' is information passed to an interpreter, where the language describes what that interpreter will do with you
by JonChesterfield 3y ago
Programming languages are restrictions. A 'program' is information passed to an interpreter, where the language describes what that interpreter will do with your program. That interpreter has restrictions, upon which the language may add further restrictions.
The only language with zero restrictions relative to the interpreter is the language that interpreter acts on, e.g. aarch64 machine code for a specific processor instance. And even then, the restrictions of that CPU are very much present.
What do you have in mind for an unrestricted language?
- auggierose 3y agoSee the other thread (oops, it got flagged). Mainly, the right level of abstraction is that of a logic. Current logics are somewhat lacking (first-order logic doesn't have general binding, typed logics don't have a single mathematical universe), but I think I found the one to rule them all. Programming is then just a (arguably very important) special case of expressing yourself in this logic. Hopefully soon(ish) on a website near to you.