Description
The C programming language contains only 32 keywords. This makes it a small language when compared to others. It is also very stable, fast, and has been so widely used that the syntax is the basis for many other languages such as csh, C++, awk, and Perl. In addition, C is considered one of the easiest languages to learn because of one basic philosophy: Programmers know what they are doing.
C is a low level language that deals with characters, numbers, and addresses. These data types are manipulated by basic arithmetical and logical operators. The language does not deal directly with higher-level data structures such as strings, sets, or lists. Nonetheless, many high-level mechanisms exist in the C standard library, which ships with practically all installations of a C compiler.
An important difference from many high-level languages is that C has no garbage collection; to allocate and free memory on the heap, the programmer must use standard library functions (or some custom replacement of these). The ability to handle manual memory management and directly manipulate addresses can allow for great performance, and it is the reason C is still used at the core of most operating systems, as well as being the language of choice for most mathematical routines used on super computers. However, manual memory management and address manipulation also makes it easier for bugs to arise. These may include memory leaks, dangling pointers, or unchecked array bounds violations.