[Haskell-cafe] Wikipedia on first-class object

Jonathan Cast jonathanccast at fastmail.fm
Sun Jan 6 16:55:29 EST 2008

On 6 Jan 2008, at 12:13 PM, Derek Elkins wrote:

> On Sun, 2008-01-06 at 09:45 -0800, Jonathan Cast wrote:
>> On 6 Jan 2008, at 3:02 AM, Derek Elkins wrote:
>>> On Fri, 2007-12-28 at 17:54 -0600, Jonathan Cast wrote:
>>>> Programming languages are generally classified into three groups,
>>>> imperative, functional, and logical.

NB: I will stipulate that most people consider imperative vs.  
declarative to be a further hierarchy above this division.  I will  
even stipulate that most people consider the procedural vs. OO  
distinction other than a distraction :)  So I should have said:  
programming languages may be classified into three groups, ... ---  
where the groups themselves are generally agreed to exist, to be  
mutually exclusive, and to capture the vast majority of programming  

>>>>   The difference is in the style
>>>> of programming encouraged (or mandated, for older languages) by the
>>>> language.
>>> Usually the divide is imperative v. declarative with the four major
>>> paradigms (procedural, OO and logic, FP respectively) being
>>> subgroups of
>>> those divisions.
>> And your explanation of this classification is?
>> I find the term `declarative' to be almost completely meaningless.
> I was originally thinking of having the final sentence: "There are no
> clear, accepted meanings for any of these terms."
> Many people find any, perhaps all, of the terms: "functional", "object
> oriented", "imperative" to be almost completely meaningless.   
> Mostly the
> terms have no prescriptive meaning, but rather are defined by example.

I was trying to work within this framework.  Most languages support  
both imperative and functional paradigms, these days; but there are  
patterns which are awkward in some languages and natural in others.   
That is what I consider the main distinction.

But, while there are patterns that are natural in all (at least  
structured) imperative languages and no or few non-imperative ones  
(like while loops), I don't know of any patterns that are natural in  
all declarative languages.

> At any rate, I wasn't and didn't explain anything as that was not my
> intention.  I was merely pointing out that your usage is against the
> "norms"

As a statistical statement, this may be true.

> and in a way similar in its disconcertingness to saying,
> "American politics is classified into three groups, conservatives,
> Democrats and libertarians."

Or like saying "American politics is classified into three groups,  
statists, Rothbardians, and Randians" :)


More information about the Haskell-Cafe mailing list