Game Development Reference
In-Depth Information
Strong-typing languages don't allow operations to be carried out on wrong types of
data, such as multiplying a string by a number. Weak-typing languages allow these
kinds of operations with the same risks we mentioned previously; it is a more flexible
way to create computer programs, but it is also more prone to generate errors that
are hard to detect as well.
Libraries
The core operations that are available for a programming language are contained in
libraries. Libraries include definitions for algorithms, data structures, and input and
output operations. Programming languages such as C++ or Java cannot work at all
if such core libraries are not included as a part of any program written with them.
Abstraction
The capability of a programming language to perform operations strongly depends
on its abstraction level. Early programming languages were tightly related to the
hardware they ran on, thus limiting the utilization of programs written for different
hardware. However, more recent programming languages are designed so that pro-
grammers can write programs that are less tied to the complexity of the computer
for which the program is written, thus requiring less effort from programmers to write
computer programs that can run on different hardware configurations. The process
of converting a program to run on a different hardware platform is called porting .
Implementation
The abstraction level of a programming language is directly related to its implement-
ation. Implementation provides a way to execute a program on different hardware
and software configurations. Programming languages can be implemented in two
ways: by compilation or by interpretation.
Compiled programs are directly executed by the hardware of the computer they run
on, while interpreted languages are executed by an interpreter, software that takes
care of converting the instructions of the program into machine code, the lowest-
level programming language. As such, interpreters can be considered as an inter-
face between a programming language and the hardware of a computer.
Search WWH ::




Custom Search