C: Virtues and Shortcoming of C

Virtues

  • Powerful control structures
  • Fast (and efficient, like an assembly language)
  • Compact code (small programs)
  • Portable (moreso than other languages)
Its design makes it desirable for top-down planning, structured programming and modular design.
C is especially popular for programming embedded systems

Shortcomings

  • Use of pointers — errors are hard to trace
  • Can be difficult to follow