A: Introduction to programming and types of languages
There are many types of languages that we use in every day life. Some of these include:
Computer Programming languages: These are the ones which you can use on a computer. These languages help us communicate with the computer and tell the computer what we need. These languages also make it easier for us to understand different concepts such as data structures, looping constructs etc.
Natural languages: These are the languages like English, French, Chinese etc which people speak. The main difference between natural languages and programming languages is that natural languages are spoken by humans whereas the programming languages are written or typed by humans.
Programming comes under Computer Science which deals with the study of how computers work. It consists of several sub-fields including:
Programming Languages are the ways to communicate with computers. There are two major categories of programming language i.e:-
High Level Languages: These are the languages which are easy to read and write by humans. They are also called as Managed Languages because they are managed by the compiler so that the developer doesn’t have to worry about memory management. These are easier to learn because they have features similar to written languages. Examples of High level programming language include C, C++, Python etc. The downside of these languages is that they take more time to compile and execute compared to low level languages. Low Level Languages: These are the ones which are hard to read and write by humans. They are also called as Unmanaged Languages because they do not have any features like memory management etc. These are difficult to learn because they lack features like classes. The upside of these languages is that they can be used to make programs run very fast because they don’t have any overhead like memory management etc. Examples of Low level programming language include Assembly, Java etc. These languages are harder to compile because they require more steps than high level language compilers whereas high level language compilers only require one step for compiling. The compilation time for low level language compilers is longer than high level language compilers.