What is programming? A clear, beginner-friendly introduction to the core concepts of C.
π What to learn on this page
β Must-know essentials
A program = a set of exact instructions for a computer
C is compiled: source β translate β executable
Ambiguous instructions won't work; be precise
β Read if you have time
Compiled vs interpreted languages
History and uses of C
Why learn C today
What is programming?
A program is a set of instructions written for a computer. Programming is the act of creating those programs.
A familiar analogy: the recipe
Think of a cooking recipe: "chop the onion finely β stir-fry in oil for 3 minutes β add 1 tsp salt". Recipes are step by step, with concrete quantities. Programs are the same kind of thing β a sequence of unambiguous instructions.
Recipe π³
ingredients β steps β dish skip a step, taste changes
Program π»
input β processing β output skip a step, you get an error
Robot commands π€
"Walk 3 steps, turn right" numbers and directions explicit
Programs are everywhere
Many things around you run on programs:
Phones / laptops β the OS and every app are programs
Microwave, rice cooker β timers and modes are programmed inside
Traffic lights, automatic doors β control programs reacting to sensors
ATMs, ticket machines, gates β strict handling of money and authentication
Games and animation β physics, rendering, AI
Four traits of a computer
β‘ Fast
billions of operations / sec
β Exact
same input β same output
π€ Never tires
repeats tasks forever
π€ Doesn't "think"
it only does what you wrote
So programming matters: you must give the computer unambiguous instructions. "Do it nicely" or "go that way" β things that work between humans β don't work at all here.
Human vs computer — experience the difference
π€
Programming language — C
In this course we use programming language: C with development environment: Visual Studio.
File-name rule: C language → xxx.c. Not xxx.cpp (that extension is for C++).
C language
Since 1972. OS / embedded systems. Covered in this course.
Python
Popular for AI and data analysis.
Java
Enterprise systems and Android.
JavaScript
Web development. This site uses JS too.
Why learn C?
Even in the age of Python and JavaScript, there is plenty of reason to study C.
The machine shows through β memory, pointers, types: C doesn't hide them
Where speed matters, C is used β OSes (Linux, macOS), databases, game engines, embedded devices
Other languages trace back to C β C++, Java, JavaScript, Python all borrow C syntax
Long track record β born in 1972, 50+ years of documentation
Standard in university curricula β appearing on exams isn't the same as being obsolete
If you came from another language: Python's "it just works" won't be there. You manage pointers and memory yourself. That's hard at first, but once you clear it you'll understand what is happening under the hood of every other language too.
Compiled vs interpreted languages
Programming languages split into two broad execution styles.
π Compiled
Translated ahead of time into an executable
Execution: fast
Examples: C, C++, Rust, Go
π Interpreted
Translated on the fly while running
Slower but easier to iterate
Examples: Python, JavaScript, Ruby
C is a compiled language. You hand the source code to a compiler once, it produces an executable (a.out or hello.exe), and you run that.
Cooking analogy:
Compiled = translate the whole recipe into English once β cook from the English version
Interpreted = a translator stands next to you and interprets each step as you go
The build / compile flow
A xxx.c file cannot be run as-is; it must be translated, i.e. compiled.
📝 Source code (hello.c)
⚙ Compiler (translates)
📦 Executable (hello.exe)
💻 Run & show result
What if an error occurs?
Compile error
Syntax is wrong — missing semicolon, unclosed bracket, etc.
Runtime error
Wrong result — division by zero, infinite loop, etc.
Try triggering an error
The code below has an error. Fix it and try running it. (Hint: semicolon)