Knowledgebase

The C Programming Language Print

  • programminglanguages, programming, database, performance, guide, howto, solution, zillionkinghost
  • 0

The foundational systems language.

WHAT IT IS

A statically typed, compiled, procedural language with manual memory management and minimal abstraction.

WHY IT MATTERS

Operating systems, language runtimes, databases and embedded systems are largely written in it.

WHAT THAT MEANS

Understanding C means understanding what other languages hide.

WHAT IT PROVIDES

Direct memory access through pointers Predictable performance Minimal runtime Portability across essentially every platform

WHAT IT DOES NOT PROVIDE

Memory safety Bounds checking Automatic memory management Much of a standard library

WHAT THAT MEANS

The programmer is responsible for correctness entirely.

WHAT THE CONSEQUENCES ARE

Buffer overflows Use after freeing Memory leaks Undefined behaviour

WHY THAT MATTERS

Those are among the most exploited classes of vulnerability in history.

WHAT TO USE

Modern compilers with warnings enabled Static analysis Sanitisers detecting memory faults at runtime

WHO SHOULD LEARN IT

Anyone working close to hardware, and anyone wanting to understand how computers actually work.


Was this answer helpful?
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot