A programming language is a defined set of instructions that are used to make a computer
perform a specific task. Written using a defined vocabulary the programming language is either
complied or interpreted by the computer into the machine
language that is understood by the processor.
There are several types of programming languages, the
most common are:
High-level Languages these are written using terms
and vocabulary that can be understood and written in a
similar manner to human language.  They are called high-level languages because they remove
many of the complexities involved in the raw machine language that computers understand. The
main advantage of high-level languages over low-level languages is that they are easier to read,
write, and maintain. All high-level languages must be compiled at some stage into machine
language. The first high-level programming languages were designed in the 1950s. Now there are
dozens of different languages, including BASIC, COBOL, C, C++, FORTRAN and Pascal.
Scripting Languages like high-level languages, scripting languages are written in manner
similar to human language. Generally, scripting languages are easier to write than high-level
languages and are interpreted rather compiled into machine language. Scripting languages, which
can be embedded within HTML, commonly are used to add functionality to a Web page, such as
different menu styles or graphic displays, or to serve dynamic advertisements. These types of
languages are client-side scripting languages, affecting the data that the end user sees in a
browser window. Other scripting languages are server-side scripting languages that manipulate
the data, usually in a database, on the server. Scripting languages came about largely because of
the development of the Internet as a communications tool. Some examples of scripting languages
Assembly Language assembly language is as close as possible to writing directly in
machine language. Due to the low level nature of assembly language, it is tied directly to the type
of processor and a program written for one type of CPU generally will not run on another.
Machine language The lowest-level programming language. Machine languages are the only
languages understood by computers. While easily understood by computers, machine languages are
almost impossible for humans to use because they consist entirely of numbers. Programmers,
therefore, use either a high-level programming language or an assembly language. An assembly
language contains the same instructions as a machine language, but the instructions and variables
have names instead of being just numbers.
Programs written in high-level languages are translated into assembly language or machine
language by a compiler. Assembly language programs are translated into machine language by a
program called an assembler.
Every CPU has its own unique machine language. Programs must be rewritten or recompiled,
therefore, to run on different types of computers.
For now, let's talk about some high level languages very briefly, which are used by professional
programmers in the current mainstream software industry.
This is probably the most widely-used, and definitely the oldest, of the three languages I
mentioned. It's been in use since the 70s, and is a very compact (i.e. not much "vocabulary" to
learn), powerful and well-understood language.
This language is a superset of C (that just means that it's C with more stuff added; it's more
than C, and includes pretty much all of C). Its main benefit over C is that it's object oriented.
The key point is that object oriented languages are more modern, and using object oriented
languages is the way things are done now in the programming world. So C++ is most definitely
the second-most used language after C, and may soon become the most used language.
Java has a benefit which other programming languages lack: it's cross-platform. It means
that it runs on more than one platform without needing to be recompiled. A platform is just a
particular type of computer system, like Windows or Mac OS or Linux. Normally, if you wanted
to use the same program on a different platform from the one it was written on, you'd have to
recompile it you'd have to compile a different version for each different platform. Sometimes,
you'd also need to change some of your code to suit the new platform. This probably isn't
surprising, since the different platforms work differently, and look different.
Java has another advantage that it runs inside web browsers, letting programmers create
little applications which can run on web sites. However, Java also has a disadvantage, which is
almost as serious: it's slow. Java achieves its cross-platform trick by putting what is essentially a
big program on your computer which pretends to be a little computer all of its own. The Java
runs inside this "virtual machine", which runs on whatever platform you're using (like Windows
or Mac OS). Because of this extra layer between the program and the computer's processor chip,
Java is slower than a program written and compiled natively for the same platform. Anyway, as
the Internet develops, Java will be used more widely.