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.
# Characteristics :->
- Emphasis on doing things ( algorithms ).
- Large programs are divided into smaller programs known as functions.
- Most of the functions share global data.
- Data move openly around the system from function to function.
- Functions transform data from one form to another.
- Employs top-down approach in program design.
- 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.
- 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.
- 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.
- Structured coding relevant only to procedural programming, reinforces the value of readability, and maintainability.
- A procedural program is under the programmer's control. Debugging strategy is straightforward.
- The ability to reused the same code at different places in the program without copying it.
- An easier way to keep track of program flow than a collection of "GOTO" or "JUMP" statement.
- The ability to be strongly modular or structured.
# Disadvantage :->
- 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.
- 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 :- Incremental progress Data structure localization and Modular decomposition Readability Clarity of programs Easy modification Reduced testing problems. Structured language is much more flexible than procedural language. It is designed for programmer flexibility than absolute run time performance. It have activation records but employ scope rules and nested block structure for storing and accessing data. In structured programming we have a statement wise sequence control which is based on structured control statements.
# Object Oriented Programming Language :- The use of classes would not result in programs executing any more slowly that programs not using classes. In order to make sure that the addition of classes did not causes other needed features to be omitted. No run time inefficiency should be added to the language. Emphasis is on data rather than procedure. Programs are divided into what are known as objects. Data structures are designed such that they characterized the objects. Functions that operate on the data of an object are tied together in the data structure. Data is hidden and cannot be accessed by external functions. Objects may communicate with each other through functions. Now data and functions can be easily added whenever necessary. Follow bottom-up approach in program design. Call by value mechanism is used for parameter passing and pointers may be used for call by reference. It has same sequence control statements as structured language except added exception handling. Through inheritance, we can eliminate redundant code and extended the use of existing classes. 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. The principle of data hiding helps the programmer to build secure programs that cannot be involved by code in other part of the program. It is possible to have multiple instances of an object to co-exist without any interference. It is possible to map objects in the problem domain to those in the program. It is easy to partition the work in a project based on objects. The data-centered design approach enables us to capture more details of a model in implementable form. Object-oriented systems can be easily upgraded from small to large systems. Message passing, techniques for communication between objects makes the interface descriptions with external systems much simpler. Software complexity can be easily managed. 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.
# Functional Programming :- Functional language programs contains no assignments statements, so variables, once given a value, never change. 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. 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. 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. 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. 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. In a functional program all states are stored on a stack in the arguments passed to functions. This makes hot deployment significantly easier. 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.
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