The description of imperative programming on wikipedia is:

In computer science, imperative programming, as contrasted with declarative programming, is a programming paradigm that describes computation as statements that change a program state. In much the same way as the imperative mood in natural languages expresses commands to take action, imperative programs are a sequence of commands for the computer to perform. A commonly used synonym to imperative programming is procedural programming.
From the tiny bits of dabbling i've done with smalltalk, it very much doesn't seem very declarative. Further, its very much about state. Sure, you affect the state via a pattern called message passing, but its still about "statements that change a program state (one object at a time)"

I had never before thought about OOP as being imperative, but i think i'm convinced.

sRp

On Mar 29, 2007, at 5:17 AM, Boriss Mejias wrote:

George Rudolph wrote:
I am no longer convinced that object-orientation is really a separate paradigm from imperative programming. A very useful design pattern yes, but not necessarily a separate paradigm.

You could arrived to this conclusion if you just consider Java and C ++ as object-oriented programming languages. There you can write programs without a single object. But, if you want to conclude something about OOP, at least you have to consider languages like SmallTalk, where the paradigm is very simple and well defined: Everything is an object, and objects send message to each other.

That's really a programming paradigm, not just a design pattern. In fact, you can build imperative programming on top OOP.

cheers
Boriss



--------------------
George Rudolph
Assistant Professor
Thompson Hall 225
Math & Computer Science Dept.
The Citadel
171 Moultrie St.
Charleston, SC 29414
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] oz.org] On
Behalf Of Peter Van Roy
Sent: Wednesday, March 28, 2007 10:51 AM
To: Mark Miller
Cc: Mozart users
Subject: Re: Overview of principal programming paradigms

Mark Miller wrote:
Peter VAN ROY wrote:
Dear all,

I've made a diagram showing all major programming paradigms
and their relationships:
- http://www.info.ucl.ac.be/people/PVR/paradigmsDIAGRAM.pdf
Unfortunately it's in French and I don't have time right now
to translate it into English.  I made it for a keynote talk
I will be giving in June at IRCAM, the computer music institute
in Paris.  I hope the diagram will still be interesting for you
(and if someone wants to translate it into English, feel free!).
All comments are welcome of course.

Is the object-capability paradigm represented?


Yes, I think so. According to the diagram, E supports two paradigms: secure functional programming (using seal/unseal actually, which allows building secure ADTs) and programming with active objects. E actually is more serious about multi-agent programming than other systems, which leads to its good security. The degree of "seriousness" is not shown on
the diagram.

Do you think that "object-capability" deserves its own box? If so, how
does
it link to existing boxes?

Peter

____________________________________________________________________ ______
_______
mozart-users mailing list                               mozart-
[EMAIL PROTECTED]
http://www.mozart-oz.org/mailman/listinfo/mozart-users
_____________________________________________________________________ ____________ mozart-users mailing list mozart- [EMAIL PROTECTED]
http://www.mozart-oz.org/mailman/listinfo/mozart-users
______________________________________________________________________ ___________ mozart-users mailing list mozart- [EMAIL PROTECTED]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to