You're telling a person how to get somewhere. Technically, how to get there includes steps like this:

* Put your left foot forward.
* Shift weight forward and onto your left foot
* Put your right foot forward
* shift your weight forward and onto your right foot
* Repeat the first four steps 257 times.
* Pivot left.
* Turn head left. 
* Look for cars. 
* if there are no cars, turn head right
* Look for cars
* Turn head left again to double check
* if there are no cars, put left foot forward
* etc.

You can see how this would be extremely time consuming. Instead, you say:

* Walk to the next intersection. 
* Turn left and cross
* etc.

Computer processors are built to understand **machine code** a way to tell a computer what to do in extremely small steps (like giving a person directions the first way). 

When you create a programming language, you make rules for how to tell the computer what to do in a broader more natural way that is easier to write (like giving directions the second way). 

Additionally, you make a program to translate your language into machine code. This program is called a **compiler**.
ඔබ පුද්ගලයෙකුට කොහේ හරි යන්නේ කෙසේදැයි කියා දෙනවා. තාක්‍ෂණිකව, එහි යන්නේ කෙසේද යන්න පහත පියවර ඇතුළත් වේ: * ඔබේ වම් පාදය ඉදිරියට තබන්න. * බර ඉදිරියට සහ ඔබේ වම් පාදය මතට මාරු කරන්න * ඔබේ දකුණු පාදය ඉදිරියට තබන්න * ඔබේ බර ඉදිරියට සහ ඔබේ දකුණු පාදය මතට ගෙන යන්න * පළමු පියවර හතර 257 වතාවක් නැවත නැවත කරන්න. * වමට හැරීම. * හිස වමට හරවන්න. * වාහන සොයන්න. * මෝටර් රථ නොමැති නම්, හිස දකුණට හරවන්න * මෝටර් රථ සොයන්න * නැවත හිස වමට හරවා දෙවරක් පරීක්ෂා කරන්න * මෝටර් රථ නොමැති නම්, වම් පාදය ඉදිරියට තබන්න * යනාදිය මෙය අතිශයින්ම කාලය ගතවන ආකාරය ඔබට දැක ගත හැකිය. ඒ වෙනුවට, ඔබ කියන්නේ: * ඊළඟ මංසන්ධියට ඇවිදින්න. * වමට හැරී හරස් කරන්න * යනාදිය. පරිගණක ප්‍රොසෙසර ගොඩනගා ඇත්තේ ** යන්ත්‍ර කේතය** ඉතා කුඩා පියවරකින් (පුද්ගලයෙකුට මඟ පෙන්වීම් ලබා දීම වැනි) පරිගණකයකට කළ යුතු දේ පැවසීමේ ක්‍රමයක් තේරුම් ගැනීමට ය. ඔබ ක්‍රමලේඛන භාෂාවක් නිර්මාණය කරන විට, ලිවීමට පහසු වන පරිදි (දෙවන ක්‍රමයට උපදෙස් දීම වැනි) වඩා පුළුල් ස්වභාවික ආකාරයකින් කළ යුතු දේ පරිගණකයට පැවසිය යුතු ආකාරය සඳහා ඔබ නීති සම්පාදනය කරයි. මීට අමතරව, ඔබ ඔබේ භාෂාව යන්ත්‍ර කේතයට පරිවර්තනය කිරීමට වැඩසටහනක් සාදන්න. මෙම වැඩසටහන **compiler** ලෙස හැඳින්වේ.