Which of the following is an advantage of using a high-level programming language?
Correct Answer: D
Coding standards are enforced because a specific order to statements are required
and there is required syntax that also must be used. High-Level languages are easier to read
because of the english like statements.
See extract below from the Official ISC2 Guide (OIG) to the CISSP CBK :
In the development phase, programmers have the option of writing code in several different
programming languages. A programming language is a set of rules telling the computer what
operations to perform.
Programming languages have evolved in generations, and each language is characterized into
one of the generations. Those in the lower level are closer in form to the binary language of the
computer. Both machine and assembly languages are considered low-level languages.
As the languages become easier and more similar to the language people use to communicate,
they become higher level. High-level languages are easier to use than low-level languages and
can be used to produce programs more quickly.
In addition, high-level languages may be said to be beneficial because they enforce coding
standards and can provide more security. On the other hand, higher level languages automate
certain functions, and provide complicated operations for the program, implemented by the
programming environment or tool, the internal details of which may be poorly understood by the
programmer. Therefore, it is possible that high-level languages may introduce security
vulnerabilities in ways that are not apparent to the developer.
Programming languages are frequently referred to by generations.
The first generation is generally held to be the machine language, opcodes (operating codes), and
object code used by the computer itself. These are very simple instructions that can be executed
directly by the CPU of a computer. Each type of computer has its own machine language.
However, the blizzard of hexadecimal or binary code is difficult for people to understand.
A second generation of assembly language was created, which uses symbols as abbreviations for
major instructions.
The third generation, usually known as high-level language, uses meaningful words (generally
English) as the commands. COBOL, FORTRAN, BASIC, and C are examples of this type.
Above this point there may be disagreement on definitions. Fourth-generation languages,
sometimes known as very high-level languages, are represented by query languages, report
generators, and application generators.
Fifth-generation languages, or natural language interfaces, require expert systems and artificial
intelligence. The intent is to eliminate the need for programmers to learn a specific vocabulary,
grammar, or syntax. The text of a natural language statement very closely resembles human
speech.
NOTE FROM CLEMENT:
The use of the word Standard above is synonymous with Conventions
Code conventions are important to programmers for a number of reasons:
80% of the lifetime cost of a piece of software goes to maintenance.
Hardly any software is maintained for its whole life by the original author.
Code conventions improve the readability of the software, allowing engineers to understand new
code more quickly and thoroughly.
If you ship your source code as a product, you need to make sure it is as well packaged and clean
as any other product you create.
The following statements are incorrect:
It decreases execution times for programs. This is incorrect because high-level languages need to
be converted into code that the computer understands. The programs are either compiled or run
through an interpreter and converted into machine language.
It allows programmers to define syntax. Is incorrect because there is a required syntax for high-
level languages.
It requires programmer-controlled storage management. Is incorrect because whether it is a high-
level language or not this would not be an advantage.
Reference(s) used for this question:
OIG CBK Application Security (pages 545 - 547)
and
Hernandez CISSP, Steven (2012-12-21). Official (ISC)2 Guide to the CISSP CBK, Third Edition
((ISC)2 Press) (Kindle Locations 13030-13035). Auerbach Publications. Kindle Edition.
and
Example of Java Code Conventions