Featured

    Featured Posts

Programming Languages Concepts



Procedural Programming Language :-
                    Procedural programming specifies a list of operations that the program must complete to reach the desired state.  This is one of the simpler programming paradigms, where a program is represented much like a cookbook recipe.  Each program has starting state, a list of operations to complete, and an ending point.  This approach is also known, imperative programming.  Integral to the idea of procedural programming is the concept of a procedure call.
                                 Procedures, also known as functions, subroutines, or methods, are small sections of code that perform a particular function.  A procedure is effectively a list of computations to be carried out.  Procedural programming can be compared to unstructured programming, where all of the code resides in a single large block.  By splitting the programmatic tasks into small pieces, procedural programming allow a section of code to be reused in the program without making multiple copies.  It also makes it easier for programmers to understand and maintain program structure.  Two of the most popular procedural programming languages are FORTRAN, C and BASIC.
In procedural programming, local data for each procedure are stored in activation record associated with that procedure and data stored in such activation.  Records typically have simple types, such as integer, real, character and Boolean.  These languages are heavily used in business applications.  Fortran uses static storage allocation while C is characterized by dynamic activation. record creation.  In procedural language, it is very difficult to define user-defined data types.  It only supports built-in data types.

# Characteristics :->
  1. Emphasis on doing things ( algorithms ).
  2. Large programs are divided into smaller programs known as functions.
  3. Most of the functions share global data.
  4. Data move openly around the system from function to function.
  5. Functions transform data from one form to another.
  6. Employs top-down approach in program design.
# Advantages
  1. A specified sequence of steps is the natural approach to problem solving stored program.  Computers work that way internally we follow manual procedures in our everyday lives.  We express algorithms procedural.
  2. Procedural programming is embedded in other paradigms you can't write object-oriented, event-driven or non-trival functional programs without resorting to procedural code; often lots of it.
  3. A procedural program is well suited to demonstrating and applying principles of good practice, localized knowledge, cohesive modules and clean interfaces have counterparts in other paradigms, but are easiest to graph in a procedural program.
  4. Structured coding relevant only to procedural programming, reinforces the value of readability, and maintainability.
  5. A procedural program is under the programmer's control. Debugging strategy is straightforward.
  6. The ability to reused the same code at different places in the program without copying it.
  7. An easier way to keep track of program flow than a collection of "GOTO" or "JUMP" statement.
  8. The ability to be strongly modular or structured.


# Disadvantage :->
  1.  The main drawback of procedural programming is that it breaks down when problems get very large.  There are limits to the amount of details one can cope with.
  2. Another serious drawback is that it does not model real world problems very well.  This is because functions are action oriented.

2. Structured Programming Language :-

                  Structured programming is special type of procedural programming.  It provides additional tools to manage the problems that larger programs were creating.  It was based on some fundamental principles/objectives :
  • Incremental progress
  • Data structure localization and 
  • Modular decomposition
  • Readability
  • Clarity of programs
  • Easy modification
  • Reduced testing problems.
Structured programming requires that programmers break program into small pieces of code that are easily understood.  It also frowns upon the use of global variables and instead uses variables local to each subroutine.  One of the well known features of structural programming is that it does not allow the use of the "GOTO" statement.  It is often associated with a top-down approach to design.  The top-down approach begins with an initial overview of the system that contains minimal details about then add increasing detail to the components until the design is complete.
           The structured program theorem provides the theoretical basis of structured programming.  It states that three ways of combining programs - sequencing, selection and iteration are sufficient to express any computable function.  This observation did not originate with the structured programming to describe the instruction cycle of a central processing unit, as well as the operation of the turning machine.  Therefore a processor is always executing a "structured program" in this case sense, even if the instructions it reads from memory are not part of a structured program.

# Advantages
  1. Structured language is much more flexible than procedural language.
  2. It is designed for programmer flexibility than absolute run time performance.
  3. It have activation records but employ scope rules and nested block structure for storing and accessing data.
  4. In structured programming we have a statement wise sequence control which is based on structured control statements.

# Object Oriented Programming Language :-

               Object oriented programming is one of the newest and most powerful paradigms.  In object-oriented programming, the designer specifies both the data structures and the types of operations that can be applied to those data structures.  This pairing of a piece of data with the operations that can be performed on it is known as an object.  A program is thus becomes a collection operating objects.rather than a list of instructions.  Objects can store state information and interact with other objects, but generally each object has a distinct, limited role.
            The major motivating factor in the invention of object-oriented approach is to remove some of the flaws encountered in the procedural approach. OOP treats data as critical element in the program development and does not allow it to flow freely around the system.  It ties data more closely to the functions that operate on it, and protects it from accidental modification from outside functions.
      The design of C++ was guided by three principles :-
  1. The use of classes would not result in programs executing any more slowly that programs not using classes.
  2. In order to make sure that the addition of classes did not causes other needed features to be omitted.
  3. No run time inefficiency should be added to the language.
# Features :- Some of the striking features of object-oriented programming are :- 
  1. Emphasis is on data rather than procedure.
  2. Programs are divided into what are known as objects.
  3. Data structures are designed such that they characterized the objects.
  4. Functions that operate on the data of an object are tied together in the data structure.
  5. Data is hidden and cannot be accessed by external functions.
  6. Objects may communicate with each other through functions.
  7. Now data and functions can be easily added whenever necessary.
  8. Follow bottom-up approach in program design.
  9. Call by value mechanism is used for parameter passing and pointers may be used for call by reference.
  10. It has same sequence control statements as structured language except added exception handling.
fig here
# Advantages :-
  1. Through inheritance, we can eliminate redundant code and extended  the use of existing classes.
  2. We can build programs from the standard working modules that communicate with one another, rather than having to start writing the code from scratch.  This leads to saving of development time and higher productivity.
  3. The principle of data hiding helps the programmer to build secure programs that cannot be involved by code in other part of the program.
  4. It is possible to have multiple instances of an object to co-exist without any interference.
  5. It is possible to map objects in the problem domain to those in the program.
  6. It is easy to partition the work in a project based on objects.
  7. The data-centered design approach enables us to capture more details of a model in implementable form.
  8. Object-oriented systems can be easily upgraded from small to large systems.
  9. Message passing, techniques for communication between objects makes the interface descriptions with external systems much simpler.
  10. Software complexity can be easily managed.
  11. OOP is popular in large software projects because objects or groups of objects can be divided among teams and develop in parallel and it seems to provide a more manageable foundation for larger software projects.

The most popular object-oriented programming languages include java, visual basic, C#, C++ and Python.

# Functional Programming :- 

                     Functional programming is so called because a program consists entirely of functions.  The main program itself is written as a function.  Which receives the programs input as its argument and delivers the programs output as its argument and delivers the programs output as its result.  Typically the main function is defined in terms of other functions, which in turn are defined in terms of still more functions, until as the bottom level of the functions are language primitives.
            The objective of the design of functional programming language is to mimic mathematical functions to the greater extent possible.  This results in an approach problem solving that is fundamentally different from the methods used in imperative language.  In an imperative language, an expression is evaluated, and the result is stored in a memory location.  Which is represented as a variable in program.  A purely functional programming language does not use variable or assignment statements.
            This frees the programmer from concerns about the memory cells of the computer on which the program is executed, without variables, iterative constructs are not possible as they are controlled by variables.  Repetition must be done by recursion.  The execution of a function always produces the same result when given the parameters.  This is called referential transparency.
             In functional programming language such definition are translated more or less directly in the syntax of the language.  The entire program is simply a function, which is itself defined in terms of other functions.  Even though there are no variables, there are identifiers bound to values, just as 'n' is used.  Identifiers generally acquire values through parameter binding.  Variables are unnecessary in this style of programming because in this style of programming because the result of one function is immediately passed as a parameter to another function.  Because number of variables are used, it is easy to define the effects of a program.  Functions have no side effects, they compute results without updating the values associated with variables.  Functions are usually first-class values in functional programming languages.  A well defined functional language requires only a small number of primitive functions.

# Advantages :-
  1. Functional language programs contains no assignments statements, so variables, once given a value, never change.
  2. Functional programs contain no side-effects at all.  A function call can have no side effect other than to compute its result.  This eliminates major source of bugs, and also makes the order of execution irrelevant, since no side effect can change the value of an expression, ti can be evaluated at any time.  This relives the programmer of the burden of prescribing the flow of control.  Since expression can be evaluated at any time, one can freely replace variables by their values and vice-versa that is, programs are "referentialy transparent".  This freedom helps makes functional programs more tractable mathematically then their conventional counterparts.
  3. The time it takes to develop code, and even more importantly, to modify program is substantially faster for functional programs than for procedural programs.  This is important for prototyping and carrying out exploratory research.
  4. Mathematics's functional programming constructs Map[] and Apply[] allow you to do many things in one line that would normally take several loops in other languages.
  5. If a functional program doesn't behave the way you expect it to, debugging it is a breeze you will always be able to reproduce your problem because a bug in a functional program doesn't depend on unrelated code paths that were executed before it.
  6. A functional program is ready for concurrency without any further modification you never have to worry about dead-blocks and race conditions because you don't need to use locks.
  7. In a functional program all states are stored on a stack in the arguments passed to functions.  This makes hot deployment significantly easier.
  8. An uninteresting property of functional language is that they can be reasoned about mathematically.  Since a functional languages is simply an implementation of a formal system, all mathematical operations that could be done on paper still apply to the programs written in that language.
# Disadvantages :-
            Lazy evaluations comes with a number of disadvantages.  We can't do it; can't use native functions in any meaningful way and can't interact with the outside world.

Storage Management in Programming Language
Programming Languages Concepts 
Subprogram Sequence Control in Programming language. 
Structured Sequence Control in Programmig language 
Sequence Control with in Statements 
Implicit and Explicit sequence Control 
Difference between C language and C++ language.
INTEGRATED DEVELOPMENT ENVIRONMENT FOR VISUAL BASIC (IDE)
Java threads and Interrupts in Java programming language
Abstract classes and Generic function in Java
Callback functions in Java Programming language
Constructors in programming language
Static components and constants concept in programming language
Data encapsulation in programming language.
Java threads and Interrupts in Java programming language


3 comments

Nice content which provided me the sufficient knowledge about the imporatnce of studying the foreign language. Thanks for updating us.
German classes in Chennai | German Courses in Chennai

Reply

Excellent post!!German is one of the popular Languages in the world. Over 90million to 95million people are speaking this language. It is a West Germanic language mainly spoken in central Europe. It is primarily native to Europe country and also spoke worldwide German Diaspora. This German diaspora is abbreviated as geographical distribution of German speakers. German language is considered officially in major places are Germany, Austria, Switzerland, south Tyrol (Italy), and Liechtenstein; it is spoken officially but not majorly In some place like Luxembourg and Belgium.Thank you..!!
Regards,
German classes in Chennai | German Language classes in Chennai

Reply

Learning german improves your job opportunity all over the world. It is the second most commonly used scientific language and has wide opportunities for exchange.
German Classes in Chennai | German Language Classes in Chennai

Reply

Post a Comment

www.CodeNirvana.in

www.posthatke.com. Powered by Blogger.

Google+ Followers

Copyright © www.posthatke.com | Blogger Templates | Designed By posthatke.com