Page 192 - DCAP104_EXPOSURE_TO_COMPUTER_DISCPLINES
P. 192
Unit 9: Software Development
9.1.5 Measuring Language Usage Notes
It is very difficult to determine what are the most popular of modern programming languages.
Some languages are very popular for particular kinds of applications (e.g., COBOL is still strong
in the corporate data center, often on large mainframes, FORTRAN in engineering applications,
scripting languages in web development, and C in embedded applications), while some languages
are regularly used to write many different kinds of applications. Also many applications use a
mix of several languages in their construction and use.
Methods of measuring programming language popularity include: counting the number of job
advertisements that mention the language, the number of books teaching the language that are
sold (this overestimates the importance of newer languages), and estimates of the number of
existing lines of code written in the language (this underestimates the number of users of business
languages such as COBOL).
9.1.6 Debugging
Debugging is a very important task in the software development process, because an incorrect
program can have significant consequences for its users. Some languages are more prone to some
kinds of faults because their specification does not require compilers to perform as much checking
as other languages. Use of a static analysis tool can help detect some possible problems.
Debugging is often done with IDEs like Eclipse, Kdevelop, NetBeans, Code, Blocks, and Visual
Studio. Standalone debuggers like gdb are also used, and these often provide less of a visual
environment, usually using a command line.
Figure 9.3: A Bug, which was Debugged in 1947
9.1.7 Programming Languages
Different programming languages support different styles of programming (called programming
paradigms). The choice of language used is subject to many considerations, such as company
policy, suitability to task, availability of third-party packages, or individual preference. Ideally,
the programming language best suited for the task at hand will be selected. 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.
The details look different in different languages, but a few basic instructions appear in just about
every language:
LOVELY PROFESSIONAL UNIVERSITY 185