Community
The C language
C is a professional programmer's language. It was designed to get
in one's way as little as possible.Kernighan and Ritchie wrote the
original language definition in their book. The C programming
Language, as part of their research at AT&t, Unix and C++
emerged from the same labs. Some languages are forgiving. The
programmer needs only a basic sense of how things work. Errors in
the code are flagged by the compile-time or run-time system, and
the programmer can muddle through and eventually fix things up to
work correctly. The C language is not like that.
The C programming model is that the programmer knows exactly what they want to do and how to use the language constructs to achieve that goal. The language lets the expert programmer express what they want in the minimum time by staying out of their way.
C is "simple" in that the number of components in the language is small-- If two language features accomplish more-or-less the same thing. C will include only one.C's syntax is terse and the language does not restrict what is "allowed" --the programmer can pretty much do whatever they want.
C's type system and errer checks exist only at compile-time. The compiled code runs in a stripped doe=wn run-time model with no safety checks for bad type casts, bad array indices, or bad pointers. Thjere is no garbage collector to manage memory. Instead the programmer manages heap memory manually. All this makes C fast but fragile.
The C programming model is that the programmer knows exactly what they want to do and how to use the language constructs to achieve that goal. The language lets the expert programmer express what they want in the minimum time by staying out of their way.
C is "simple" in that the number of components in the language is small-- If two language features accomplish more-or-less the same thing. C will include only one.C's syntax is terse and the language does not restrict what is "allowed" --the programmer can pretty much do whatever they want.
C's type system and errer checks exist only at compile-time. The compiled code runs in a stripped doe=wn run-time model with no safety checks for bad type casts, bad array indices, or bad pointers. Thjere is no garbage collector to manage memory. Instead the programmer manages heap memory manually. All this makes C fast but fragile.