Tuesday, June 27, 2017

C Lingo

The nice side-effect of my recent concern with Indo European languages is
an insight into how abusive (read misleading) referring to computer instructions
as 'languages' is. This particular ontology gives rise to befuddlement for the novice, and
tortured discussions about sub-categories of languages and how they relate to
each other for the pros.

To wit: a compiler is not a thing; it is a program, short for compiler program, whose aim
is to go from source code to object code, thus to translate instructions for use
by the computer as a machine. By translate, I mean generate. Compilers ie compiler
programs are often written in the C language, which is a set of specifications or ways of doing
things. The Lua language used in Roblox computer games is 'written in Ansi C', which is the
agreed upon version of C by an American Standards Association. So that when one writes
instructions for a game with Lua conventions, the computer does things according to C
conventions: this is what 'interpretation' is. More often than not, the computer will need to
generate a separate executable file of the script one has devised (with reference to a library,
and as a distinct time-consuming  step in the process). This is compilation. Compiling one's
program amounts to a test run. Compilers are not meant to be maintained by humans.
A language particular to a specific machine and its architecture is an assembler (language).
Most compilers are portable.

Stacks, by their very nature, have a physical aspect within a computer. The call stack
keeps track of the instructions the computer needs to return control to the main process
when it has finished a subroutine. Like the word suggest, it's a last-in first out pile of
 instructions.

Lua was primarily developed to expand on  something already working or to program an
embedded device. By this is meant a computerized aspect to a large machine, like a car. A smart
watch is also one. As a consequence, it is lean on writing conventions and punctuation when
compared to other high-level languages. And should be easy enough to master.

No comments: