Features of Programming Language

Features of Programming Language

After having  a good look of programming  language and their  qualities now  we turn  our concentration to  the next topic that is about various features of the programming  languages. These programming  language features have an important  impact on the quality of communication. The features which   we are going  to discuss now may be either as very  important or as  less important or as not even important to a specific programming  languages. Some features are good and used in some programming language whereas others have good impact in some other programming g languages. Even some  of the features also exist which  are used in  more than  one programming languages. Various  features of  programming languages are shown in fig 6.17, and can  used as guidance in selecting  a language for the  applications.

Variable Name and scope

Every language provides of variable naming and its  scope  in its  own format  and rules and regulations.

Pre Processor

Many language provide the feature of pre processor. Basically pre processor  is a program that processes our source program before it  passed  to the  compiler .

Named Constants

There  are some  programming  languages that  provide the feature of named  constants. Some even  allow  to define named  constant expressions.

Binding Scope and Extent

As such most of the  programming  language provide  the concepts of binding scope  and extent in much extent.

Data types and Strong Typing

A data  type  is a set of data objects and a set of operations  on those

Objects which  create build up destroy modify and pick apart instances of the objects.

Available Operations

Most programming languages provide basic  arithmetic  relational and logical operations.

Data Structure

Most programming languages  provide various  types of a data structure  to be  used in a  program.


Recursion, in the form of recursive sub program calls is one the most important sequence control structures in programming. Many algorithms are most naturally represented using recursion.

Data Abstraction

The concept of data  abstraction incorporates both  data encapsulation and abstract data  types. Both  mechanisms define composite data  objects in terms   of the operations that can  be performed on them  and the details of data  representation and data  manipulation are suppressed by mechanisms.

Data abstraction provides  a powerful mechanism for writing well structured and  easily modified program. If the  application requires  information  hiding, we should look  at language that  have  information  hiding  and data  abstraction features.

Procedural abstraction

Procedural or algorithmic  abstraction is one  of the  most powerful  tools in the programmer  arsenal.

Control Abstraction

A programming  language  for software  engineering must  provide a small  but powerful set of control  structures to   describe  the flow  of execution with in  a program unit.

Exception Handing

Some language  provide  feature of exception handing  so to  recover from run time error or any other  exceptions to occur.

Support for Object Oriented approaches

Some programming  have been designed expressly to support  this style  of programming. These  languages namely  small  talk Eiffel  and java  are called object oriented programming  languages. Other  languages  such as C++and ada  95, while not exclusively object oriented support  the paradigm through features that  enable  the programming of extensible  abstractions. Many languages  have been or are being  extended  to support  object oriented programming .

Language Library

Each  programming  languages has  a library  of function   and procedure  of its own. The more  extensive the  library  the more  services  are provided by the language. Unfortunately, the library must be linked  with the  complied  programs, which is somewhat  similar  to adding the  size of the entire library  to the program during  table linkage.


Some languages provide their own  compilers which are used to translate the  high level  languages into its  objects code. In addition  it , it also  performs some other tasks:

  • Code Optimization
  • Code Motion
  • Memory Management
  • Garbage Collection
  • Vectorization


Debuggers are the software support  tools that  help the programming to inspect the program at his own  speed while  the program is being executed.  Today  compiler with usual debuggers are also available which  are capable of placing the execution path  of program on the  screen  and showing the  content  of each  selected variable  on the  screen as the  program  is being  executed.

Memory Allocation

When a program  is executed them the parts of the program  and data  beings used must be  allocated the memory. There are basically two  ways  of memory  allocation:

(a) Static Memory  Allocation : In  this memory  allocation the program  is provided a  permanent memory  location and  then saved.

(b) Dynamic memory Allocation  :In  such type of memory  allocation, the memory is  allocated dynamically ( temporarily) to the program.

Some  programming  languages  provide  only  static memory  allocation  some provide only  dynamic memory  allocation  and some  provide both.

File Handling Utilities

Most programming  languages  provide a window  to the operating  system for input  and output handling. The  use of a text file ( file of characters ) is common  in almost  any programming  language. However there are many  other  file  organization  and access methods that a  large software product may need to implement like indexed sequential files direct files etc. A programmer can create  any of these files  directly using  his own programming knowledge.

System Utilities

Every system environment has a library of prewritten and  complied program that perform  certain tasks. These programs are usually called utility programs. Utility programs maybe  used independently while in the system environment .

Concurrency Mechanisms

Two or more  segments of a program  can be executing concurrently if the effect of  executing the  segment  is independent of  the order in which  they are executed.

Parallel Considerations

Taking full advantage  of parallel architecture requires the co operative efforts of both   hardware and software. Having a  parallel machine and programming  it as if it were a serial machine will not  produce the  desired performance  gains. So it must  be  assured that design and coding approach make full use of the resource before coding the software if an application demands high computation speeds. 

Real time Consideration

Real time  applications have many  special  compiler  needs  that  are applicable  only to real time  software  products. If there are concerns  about  such  needs, we must  be sure that  the language and its environment help  for those needs.

Latest technology based Software Engineering Online Tutoring Assistance

Tutors, at the www.tutorsglobe.com, take pledge to provide full satisfaction and assurance in Features of Programming Language homework help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Features of Programming Language, project ideas and tutorials. We provide email based Features of Programming Language homework help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Features of Programming Language. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Software Engineering homework help and assignment help services. They use their experience, as they have solved thousands of the software engineering assignments, which may help you to solve your complex issues of Features of Programming Language. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.

©TutorsGlobe All rights reserved 2022-2023.