Novice Programmer

MAKING HAND DIRTY BY WRITING CODES

Full width home advertisement

Learn C

Novice Programmer

Post Page Advertisement [Top]


Programming Language

A programming language is the collection of syntactic rules, keywords, naming structures, data structures, expression and control structures that is intended for the expression of computer programs and that is capable of expressing any computer program.
Programming Language is a formal method that:
                Describe a solution to a problem
                Organize a solution to a problem
                Reason about a solution to a problem
                Interface between user and machine  Programming languages trade-off:
Ø  Ease of use - high level
Ø  Efficiency - low level
“A programming language is a language that is intended for the expression of computer programs and that is capable of expressing any computer program.”

Characteristics of a Good Programming Languages

1. Clarity, Simplicity and Unity

A programming language provides a medium to conceptual thinking of new algorithms and also a medium to execute your thought process into real coding statements. For algorithms to be implemented on a language it’s a basic need is that the language is quite clear, simple and unified in structure. Such that the Primitives of language can be utilized to develop algorithms. It is desirable to have a minimum number of different concepts, so that combining multiple concepts won’t be that complex in nature. It should be simple and regular as possible. This attribute of a language is known as conceptual Integrity.
The main concern of a language now a days is its readability. The syntax of language effects the ease with which programs are written, tested and later used for knowledge or research purpose. A complex syntax language may be easy to write program in, but it proves to be difficult to read and debug the code for later sessions. For example APL programs are so complicated that even the own developers find it difficult to understand after 1-2 months. The language should be simple enough to understand or point out errors.

2. Orthogonality

The term orthogonality refers to the attribute of being able to combine various features of a language in all possible combinations, with every combination being meaningful. Language design must follow orthogonality principle i.e. independent functions should be controlled by independent mechanisms For example, suppose a language provides with an expression let’s say an arithmetical calculation operator .Taking Another Expression facilitated by the language like conditional Statement, which has 2 outputs either 0 or 1 (in some cases TRUE or FALSE). Now the language should support combination of these two expressions. So that new statement can be formed, and this orthogonality helps to develop many new algorithms.

3. Naturalness for the application

A language needs a Syntax that, when applied properly, allows the program Structure to reflect the logical structure what a programmer wanted it to. Arithmetic Algorithms ,concurrent algorithms , logic Algorithms and other type of statement have differing natural structures , that can be represented by the Program in that language. The language should provide appropriate data structures, operations, control structures and a natural syntax for the problem to be solved.
For Example: Consider a real life condition of plates being placed above each plate, this structure is known as Stack. This Stack can be implemented into programming world also. This is used as a data Structure in most of the Languages.

4. Support for Abstraction

Many times languages fail to implement many real life problems into Programs. There is always a gap between abstract data structures and operations. Even most natural Programming language fails to bridge the gap. For Example: Consider a situation where a scheduling is to be done for college student for attending a lecture in a class section, teacher. Suppose the requirement is to assign a student a section lecture and teacher to attend, which are common task for natural application, but are not provided by C.
The need of point is to design an appropriate abstraction for the problems solution and then implementing these abstraction using most primitive features of a language. Ideally, the language should provide the data structures, data types and operations to maintain such abstractions .C++ is one of the most used language, that provide such facilities.

5. Ease of Program Verification

The reliability of a programming Language written in a language is always a central Concern. There are many techniques which can be used to keep track of correct functionality of a language. Sometimes testing the Program with random values of the inputs and obtaining corresponding outputs. Program verification should be provided by languages to check and minimize the errors.

6. Programming Environment

The environment also plays a vital role in success of a Language. The environment which is technically weak, may get a bad response of Programmer, rather than a language that has less facility than the former but its environment is Technically Good. Some of the Good featured of an environment are Special editors and testing packages tailored to the language may greatly speed up the creation and testing of Programs.

7. Portability of Programs

The important criterion for many programming projects is the Transportability of the resulting program from one computer to another systems. A language which is widely available and do not support different features on different computer System, which may have different hardware, is considered a good language. For Example C, C++ and most of the language now days are Portable in nature.

8. Cost of Use

The trickiest point that always matter a lot in any system that uses resources. It’s a major element to decide the Evaluation of any programming language, but cost means many different things.

(a) Cost of Program Execution

Program Execution cost is total amount which has been used to implement the program. The research work on design, optimizing compilers, data allocation registers etc. These are the basic things which come under the cost of Program Execution.

(b) Cost of Program Translation

The next concern is program compilation. The program is compiled many times than it is being executed. In such case, it is important to have a speed and efficient compiler to handle this Job.

(c) Cost of Program Creation, Testing and Use

Another aspect of Cost management. This includes the cost which a programmer charges for his work of creating Project with the Specified features, the cost involving the Testing issues.

(d) Cost of Program Maintenance

After a program is being installed in a System, then after certain intervals it needs maintenance to run smoothly. The maintenance includes the rectification of Error propagated in real time, the updating of Program as need of time.

No comments:

Post a Comment

Bottom Ad [Post Page]

| Designed by Colorlib