What have we learnt about C?
C is:
- a good general purpose programming language
(providing the necessary features to
define and store data, perform calculations, and provide control-flow to
sequence our programs), and
- an excellent systems programming language
(providing well-defined and well-documented interfaces to
system-level APIs for system-calls and support functions).
C is a procedural programming language,
not an object-oriented language like Java, Objective-C, or C#.
C programs can be described as "good" programs, if they are:
- well designed,
- clearly written and (hence) easy to read,
- well documented,
- use high level programming practices,
- written with portability in mind, and
- are well tested.
Of course, the above properties are independent of C,
and are offered by many high level languages.
- C has programming features provided by
most procedural programming languages -
strongly typed variables,
constants,
standard (or base) datatypes,
enumerated types,
user-defined types,
aggregate structures,
standard control flow,
recursion, and
program modularization.
- C does not offer OO's classes or objects,
nested functions,
subrange types,
run-time error detection,
container data-structures (lists, dictionaries, tuples, sets),
and only recently added a Boolean datatype.
- C does, however, have
separate compilation,
conditional compilation (through its pre-processor),
bitwise operators,
pointer arithmetic, and
language independent input and output.
CITS2002 Systems Programming, Lecture 23, p1, 17th October 2023.
|