The following are concepts that you will find in almost every programming language in no given order.


Syntax are rules which defines how keywords, identifiers and symbols are to be used to form statement which are legal in a given programming language.

A correct statement in a given language have abided to the language's syntax. Syntax error is one of the most common programming errors, it is encountered when a programmer  fails to follow the language's syntax for example by misspelling keywords or failing to add necessary symbols such as a comma to separate  items in an array or failing to terminate a line with a semicolon in some languages.


A statement in a natural language refers to a  definite expression of something in speech in the other hand a statement in a programming  language expresses a syntactically correct  definite  unit in the given language.

You can remove a statement from a program without causing syntax error because each  statement is supposed to be able to stand alone syntactically.  A complete statement in a programming language is formed using keywords, identifiers and legal symbols combined together to form the smallest unit of a program which is correct in terms of syntax.


Keywords in a programming languages are predefined words which performs a certain general  action in the language.  Some of common keywords across multiple languages are  return, for, while , yield , continue, break and many others. 


Program runtime is  the time in between  when the program starts running until it terminates. This is the running phase of a program. Anything which happens at the time when the instructions are being run by the computer is said to happen at the program's runtime. For  example, a runtime error is an error which happens at runtime , this errors can be caused due to flaw in programs logic such as  trying to divide a number by zero.


A variable is a user defined item in computer memory that is subject to change during the program's runtime.


In contrast to variables, constants are user defined items which  do not change throughout the program's runtime. They are usually read only and trying to modify them raises errors in most programming languages.


As the name suggests,  an identifier is used to give a  unique name  to user defined objects such as variables , constants and functions during program execution in order to identify them  as long as they exists in the program.


A function is the grouping of statements  which performs one coherent task such that they can be run as a block. Functions are usually given a name(identifier) to  which when called executes the statements inside the function.  Sometimes when  this block of statements is executed  , the results of the computation is sent to where the function was called. Most languages implements a special keywords usually return to send the results to the object which called the function.

Programming languages also offers a way that a function can communicate to the outside 'world' through the use of arguments. Arguments are values passed to the function when being called and they  become accessible  in the program's scope.

Object scope

Scope in programming languages is used to establish locations in a program where an object is accessible. Scope in most languages is usually categorized into global scope and local scope.
global scope

This is usually the top level  scope in a program , objects such as variables and functions in global scope are accessible to every part of a program.

local scope

Unlike global scope, objects in local scope is only accessible to the block that it exists in. The various blocks used to define objects scope are functions , conditional branches and loops. For example a variable declared inside a block such as a function or a loop  is usually only accessible within that block unless it is 'forcibly' made global using some special ways unique to the language in use.


A loop in a programming language is a block which repeatedly executes statements inside it until a condition is not met. 
The various type of loop  available in most languages are  while , for and  do while  loops. 
A simple while loop might look like:
counter = start
while (counter < stop):
     Do something
     increment counter

//where start and stop are integers

Incrementing  means increasing the counter with a certain value. What happens is that as the counter is increased at each iteration the number we set as stop remains constant  , this means that eventually the counter will be greater than the stop thus making the condition to fail and consequently the loop to terminate.  


A branch in a program is when the program execution flow encounters conditional blocks and has to 'branch' and continue in the direction which satisfies a given condition. Conditional blocks in most languages are signaled by  if block,the statements within this block are only executed if the condition it specifies is met  otherwise the program flow continues ignoring the statements inside the block. Conditional blocks can be chained using the if block followed by  else if blocks . The else if block is common in  most programming language but some can use other terms to refer to the blocks , for example , python uses elif instead of else if . And finally the blocks can be finalized by  an else block which will get executed if all the other blocks  fail. The structure of conditional branching is normally like:

if (something):
     do this
else if(something_else):
     do this
else if(something_else):
     do this
     do this


An expression  in a programming language normally looks like typical mathematical expressions. The simplest expression is a numerical value such as  6, 8, 2.5, 3.2, etc.  , this type of an expression evaluates to itself. 

Multiple datatype  can be combined  using brackets ()  to form compound   expressions for example ( 2 * ( 3 + 2.5) )  .The results of such expressions can be assigned to variables and constants.