A programming language is a way for us humans to communicate with a computer. This doesn't mean the computer understands this language directly; rather it understands the several meanings behind the several words from the language. It is designed in a way that makes it easy for us to memorize and implement. A computer programming language is a little more specific as they are used to write specific programs made for a computer. The first programming language(s) were invented before the invention of the computer. The most common programming languages today are Java, C, C++, Python and the list goes on and on. However, languages like HTML and SQL cannot be considered programming languages, as they are text-markup and query languages respectively. Usually, if a person has prior knowledge and perhaps expertise in a programming language, it should take him less than a week to learn another language. Likewise, on average, inexperienced programmers may significantly longer: 3 months, to get used to the way the computer handles that particular language and just like driving, it takes practice to avoid making silly mistakes. Learning a language is not just about learning the syntax; which can be learned in less than 3 days. Becoming familiar with a new langauge, it takes dedication and interest.

Formal verification is a process of checking the correctness of an algorithm by using methods of formal mathematics. This is done by presenting a formal mathematical proof of a constructed abstract mathematical model of the system. A mathematical model of a system is a description of a system using the concepts of mathematics. This entire process is called Mathematical Modeling. The process of verification is making sure that the software that we write matches with the given requirements. The process of verification should not be confused with validifciation. Validation addresses the question : "Are we trying to make the right thing?". Verification, however addresses the question : "Have we made what we were trying to make?" which basically mean does the product confirm the given specifications required? There are two types of verification , namely :- dynamic verification and static verification.

The process of Property checking is used for verification rather than checking when two descriptions of a solution are not functionally equivalent. Verification is very crucial to programs and programming languages. If a program isnít fully verified, it will cost us resources such as time and energy and thus hinder the goals which were set to be accomplished when the program was being writte. Thus, the program will lose its efficiency; which is the last thing programmers are looking for.


1. What are static and dynamic verifications?
2. Is it possible to create an entirely new programming language at this day and age?
3. How crucial is mathematical modeling in the field of computer science?