tags:

views:

188

answers:

6

Of course, I can explain it in whole books. But I read a few days ago, that in a application talk, it is often asked and they expect a answer in 2-5 sentence, that should be very clear and show that you udnerstand the material.

I tried a few times to collect the answer in 2 sentence but don't get a good one.

A: 
  1. Procedure development lacks Inheritance, Encapsulation and Polymorphism. Tree paradigms that make OOP a better way of developing complex solutions.
  2. With procedural development you often run into spaghetti code especially with complex solutions which makes it much much harder to maintain such solutions.

I'm just thinking of times when I did Turbo Pascal development and the way I do it now... A complete shift.

Robert Koritnik
+2  A: 

Procedural Programming means dividing the problem up into smaller parts and then representing each smaller part by a definitive sub-routine,function or procedure.

OOP decomposes the problem to a set of interacting objects, each object is comprised of a number of elements, called members and methods (as opposed to variables and functions). The purpose of the object is to abstract part of the real world that we're interested in (our problem domain).

karim79
+8  A: 

How's about this for a succinct description:

Procedural Programming is primarily organized around "actions" and "logic". OOP is primarily organized around "objects" and "data". OOP takes the view that what we really care about are the objects we want to manipulate rather than the logic required to manipulate them.

CraigTP
A: 

One more difference I felt and experienced is maintenance of code. With procedural language code maintenance goes wary but it is lot better with OO. Sometimes, changing code at some where deep down in the procedural program has blown the whole functionality itself.

Guru
A: 

Main difference is that object-oriented programming (OOP) is a programming paradigm that uses "objects" — data structures consisting of datafields and methods — and their interactions to design applications and computer programs. Programming techniques may include features such as information hiding, data abstraction, encapsulation, modularity, polymorphism, and inheritance.

In my opinion OOP is like the reality we live in. Everything around us is an object, has its own behaviour and structure.

PaN1C_Showt1Me
+1  A: 

Three sentences...

Defining data structures and the behavioural logic that acts on them are central to both approaches. Being able to encapsulate associated data and behaviour allows for the concept of self-contained “Object” constructs. Pure Object Oriented Programming is where no other type of construct is required.

There is of course a mixture of both approaches in most modern high-level languages. Constructs like Value Types and Static Classes are there to provide the procedural constructs that are still very useful.

Andy McCluggage