these rules determine which symbols (letters, digits, punctuation marks, and so on) could be used in the language. This part of the definition of the language is called LEXICON.
Another set of rules determines the appropriate ways of collating the symbols - this is the SYNTAX of the language.
We would also like to be able to recognize the meaning of every statement expressed in the given language - and this is what we call SEMANTICS.
Any program we write must be correct in these three ways: lexically, syntactically and semantically, otherwise it will neither run nor produce any acceptable results. You can be sure that in the course of your programming career, you'll experience all of these errors: to err is human, and these humans write computer programs.
A complete set of well-known commands is called an INSTRUCTION LIST, sometimes abbreviated to IL.
The IL is in fact the alphabet of a language, commonly known as a MACHINE LANGUAGE.
programs written in machine language are very difficult for humans to understand, including experienced programmers. It also takes a long time to develop programs in machine language, and it's very costly and cumbersome too.
All these circumstances led to a need for some kind of bridge between the human language (natural language) and the computer language (machine language). That bridge is also a language - an intermediate common language for humans and computers to work together. Such languages are often called HIGH-LEVEL
PROGRAMMING LANGUAGES.
In other words, the programs written in high-level languages could be translated into any number of different machine languages and thus make them usable on many different computers. This feature of high level programming languages is called PORTABILITY.
COMPILATION
The translation we are referring to is made by a specialized computer program called a COMPILER. The process of translating from a high-level language into a machine language is called COMPILATION.
We already know that the main task is to write a program in accordance with the rules of the chosen programming language. Such a program (which in fact is just text) is called the SOURCE CODE, OR SIMPLY SOURCE, while the file which contains the source is called the SOURCE FILE.
The "C" language is one of a huge number of programming languages currently in use, and one of the oldest. It was created in the early seventies of the twentieth century by Dennis Ritchie while he was working in Bell Laboratories. Some say that "C" was a by-product of a project which led to the very first version of the Unix operating system. There are many other programming languages widely used - some of them could be regarded as "C" descendants. They even inherited a name from their ancestor - like "C++" or "C#". Others borrowed some features from the original "C" and added lots of new ones - like Perl, Java or JavaScript.
What is the most common use of "C"? It is the so-called GENERAL-PURPOSE PROGRAMMING LANGUAGE, i.e., suitable for almost any programming project and at the same time not particularly predestined to any specific, narrow class of applications. It's best if used for coding drivers, embedded applications or operating systems (for example, the Linux kernel is mainly coded in "C"). You can also use it for building complex utilities. We can assure you that knowing the "C" language is very helpful if you want to learn C++, C# or java.
This sort of structured and semi-formal description of each step of the program is called an ALGORITHM.