What is a Programming Language?
• Programming language is a set of words, symbols, and codes that enables a programmer to communicate a solution algorithm to a computer.
• It is needed to allow human begins and computers to talk to each other.
• A programmer can use a variety of programming languages to code a program.
• A program development tool consists of user-friendly software products designed to assist both programmers and non-technical users with the creation of information system solutions.
Traits often considered important for constituting a programming language:
• Function: A programming language is a language used to write computer programs, which involve a computer performing some kind of computation or algorithm and possibly control external devices such as printers, robots, and so on.
• Target: Programming languages differ from natural languages in that natural languages are only used for interaction between people, while programming languages also allow humans to communicate instructions to machines. Some programming languages are used by one device to control another. For example PostScript programs are frequently created by another program to control a computer printer or display.
• Constructs: Programming languages may contain constructs for defining and manipulating data structures or controlling the flow of execution.
• Expressive power: The theory of computation classifies languages by the computations they are capable of expressing. All Turing complete languages can implement the same set of algorithms. ANSI/ISO SQL and Charity are examples of languages that are not Turing complete yet often called programming languages.
Some authors restrict the term "programming language" to those languages that can express all possible algorithms; sometimes the term "computer language" is used for more limited artificial languages.
Non-computational languages, such as markup languages like HTML or formal grammars like BNF, are usually not considered programming languages. A programming language (which may or may not be Turing complete) may be embedded in these non-computational (host) languages.
Generation of Programming Language
• The first generation of language was the machine language. The machine language instruction uses a series of binary digits or a combination of numbers and letters that represents binary digits. Instructions and addresses were numerical.
• The second generation of language was the symbolic instructions or mnemonics and addresses. To convert the assembly language source program into machine language, you use an assembler. Example, IBM, BAL and VAX macro.
• The third generation language was the programmer concentration of structured programming and database management. It is a procedural language that requires the program instruction to tell the computer what to accomplish and how to do it. Example, FORTRAN, ADA, COBOL, Pascal, C and BASIC.
• The fourth generation (4GL) was the non-procedural type language. The programmer only specifies what the program should accomplish without explaining how. Example. SQL, Postscript, and relational database orientation.
• The fifth generation (5GL) was concerned on Artificial Intelligence and Fuzzy Logic.
Advantages and disadvantages of each generation of language
• Readability of the language
If parts of the program are going to be read or altered separately form the entire program is might be worth considering how legible they are going to be. Clumsy abbreviations should be avoided. Statements such as WHILE LOOP have increased the readability of programs and lead to neater programs.
• Ease of writing the language
A programming language that is easy to write in can make the process easier and faster. It may help to reduce mistakes, save time and money, and make the program smaller.
• Reliability of the language
A program that is not robust can cause errors, and code can “decay”. Any language that helps the programmer to avoid mistakes will make it easier to use.
• Cost of development
Is the language expensive to use and to maintain? Program may need to be updated or re-developed and an expensive language may make this prohibitive.
• Syntax complexity
Syntax is an important consideration. Clarity and ease of understanding are important, as is a syntax that seems logical and sensible. Errors are very likely to occur where one area of syntax too closely resembles another, and the program may prove difficult to debug.
• Language standards
Languages that have standards for writing programs have greater readability.
• Imperative Languages – are formed from collections of basic commands, most often assignments and I/O, where the execution is sequenced by control structures.
• Functional Languages – are based on lambda-calculus from the 1930’s. Programs consist of collections of function definitions and function applications.
• Logic Programming – consists of collections of statements within a particular logic. Most typically that logic is predicate logic. ProLog.
• Object-oriented languages – Programs consist of objects that interact with each other. Some also associate inheritance and polymorphism with OO language. Smalltalk, Java.
• Declarative languages – are collections of declarations. Many functional and logic languages are also declarative. Declarative languages describe relationships between variables in terms of functions or inference rules and the language executor applies some fixed algorithm to these relations to produce a result.
• Scripting language – work in conjunction with a larger application, support control of a variety of applications, are interpreted, or some combination thereof.
• Parallel language – are collections of processes that communicate with each other.
What is a Programming Language?
Click here for Myspace Layouts