Trade-offs from this ideal involve finding enough programmers who know the language to build a team, the availability of compilers for that language, and the efficiency with which programs written in a given language execute.
Languages form an approximate spectrum from "low-level" to "high-level"; "low-level" languages are typically more machine-oriented and faster to execute, whereas "high-level" languages are more abstract and easier to use but execute less quickly. It is usually easier to code in "high-level" languages than in "low-level" ones.
Allen Downey, in his book How To Think Like A Computer Scientist, writes:
The details look different in different languages, but a few basic instructions appear in just about every language:
Input:
Get data from the keyboard, a file, or some other device.
Output:
Display data on the screen or send data to a file or other device.
Arithmetic:
Perform basic arithmetical operations like addition and multiplication.
Conditional Execution:
Check for certain conditions and execute the appropriate sequence of statements.
Repetition:
Perform some action repeatedly, usually with some variation.
Many computer languages provide a mechanism to call functions provided by libraries such as in a .so. Provided the functions in a library follow the appropriate run time conventions (e.g., method of passing arguments), then these functions may be written in any other language.
0 comments:
Post a Comment