The first "modern" programming languages provided ways to express
procedural abstraction from the sequence of commands constituting a
program.
I believe that OO languages provides ways to express state abstraction in
addition to procedural abstraction. This sometimes gives the impression
that  you program in a "declarative" way, because it seems you don't have
to manage the programs state (i.e. updating variables and all that)
explicity.
But of course state is still managed explicitly by the object itself, only
this is now hidden from the object's user.


r

Twan

> 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


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

Reply via email to