An Introduction to Programming
A programming language is a systematic notation by which we can describe
some computational process to others. Here computational process means the
steps or instructions that a computer can understand and use to solve a
particular problem.
Some common examples of programming languages are :-
- C
- C++
- Visual Basic
- Java
- COBOL
- LISP
What are Language Processors?
The term language processors is a general term for all the programs which
are required for some of the operations on a programming language.
Examples include :-
- Compilers
- Assemblers
- Linkers
- Loaders
- Editors
The job of a compiler is to translate or convert the programming language
source code into its equivalent machine code.
Characteristics of a good programming language :-
- Clarity and simplicity :-The language should provide a clear, simple and unified set of conceptsthat can be easily understood and implemented. The syntax of a languageaffects the ease with which a program may be written, tested and laterunderstood and modified. The syntax of a good programming language shouldnot be cryptic and should be easily understood by a newbie. The whole ideais that different constructs which are used for different purposes, shouldlook different. The concept that should be kept in mind is - KISS - Keep ItSimple Stupid.
- Orthogonality :-The vision of orthogonality is that there is a set of mutually independentfeatures which span the entire language design space. Basic features shouldbe separate and free from unexpected interaction. The features should behighly independent. For example, if there are features for sequencecontrol, then there should not be additional set of sequence controllingfeatures for inside expressions.
- Naturalness for the application :-The language used for particular type of problem depends upon the nature ofthe problem to be solved. The language should provide appropriate datastructures, operations, control structures and a natural syntax for theproblem to be solved. A language particularly suited to a certain class ofapplications may greatly simplify the writing of individual programs inthat area. For example, PROLOG with its deduction properties is suitablefor Artificial Intelligence type of problems.
- Support for abstraction :-Abstraction is nothing but presenting only necessary attributes ofsomething. For example, when you want to declare variables of some type,you don't go into detailed parts of how it is implemented in the system orwhich functions manipulate these variables. All you need to do is specifythe type of data to be used. Object oriented languages like C++, Adaprovide support for abstraction.
- Safety :-Safety is the extent to which the language features support theconstruction of safety critical systems, yielding systems that are faulttolerant, fail safe and robust in the face of systematic failures. It isvery closely related to reliability. Languages can facilitate safetythrough features such as a rigorous computational model, built inconsistency checking and exception handling.
- Distributed System Support :-It is the extent to which the language features support the construction ofcode to be distributed across multiple platforms on a network. In networkedconfigurations, each platform performs some portion of the systemprocesses, communicating with the other platforms to accomplish the overallsystem functions.
Cost of Use :-
There are 4 types of costs associated with the use of a language. They are :-
- Cost of program execution : is a criterion for those programs that willbe executed repeatedly. Now a days this is not of the highest concern dueto a large amount of processing power that is available.
- Cost of program translation : many inexperienced coders compile theirprograms a large number of times to make the program error free. So inthese cases the cost of compilation is very important. That is why we needefficient compilers that can produce optimized results.
- Cost of program creation, testing and use : the overall time and effortsrequired in solving a problem should be minimum.
- Cost of program maintenance : this includes the costs involved inrepairs of errors discovered after the program is put to use.
The cost not only implies finances but also the time factor which is one of
the most important resource in the corporate environment. A good language
should have minimal cost of use keeping in mind the types stated above.
- elasticreality
Member of Knowledge-Bank Tutorial Writers
This article was originally published by CyberArmy.net in the CyberArmy Library.
|
|