Website message overhaul

Jacob Carlborg doob at me.com
Tue Nov 15 01:33:53 PST 2011


On 2011-11-15 10:16, Walter Bright wrote:
> On 11/15/2011 12:43 AM, Jacob Carlborg wrote:
>> If you would consider at least two paradigms as multiparadigm then I
>> would say
>> that a lot of languages are multiparadigm.
>
> We could bikeshed forever what is a paradigm and what isn't, and how
> many constitutes multi, etc.

Yeah, I guess there is not point of this discussion.

> But whatever color one's shed is painted, it's pretty clear that D
> supports an unusually large number of paradigms for a programming
> language. It doesn't start from an idea that "everything is an object".

I agree with that.

> For example, Haskell is described as:
>
> "Haskell is a standardized, general-purpose purely functional
> programming language, with non-strict semantics and strong static
> typing" --- http://en.wikipedia.org/wiki/Haskell_(programming_language)
>
> which certainly suggests a single paradigm language.
>
> "Smalltalk is an object-oriented, dynamically typed, reflective
> programming language." --- http://en.wikipedia.org/wiki/Smalltalk
>
> "Java is a general-purpose, concurrent, class-based, object-oriented
> language that is specifically designed to have as few implementation
> dependencies as possible." ---
> http://en.wikipedia.org/wiki/Java_(programming_language)
>
> "Go is a compiled, garbage-collected, concurrent programming language"
> --- http://en.wikipedia.org/wiki/Go_(programming_language)
>
>
> What does Wikipedia have to say about C++?
>
> "C++ is a statically typed, free-form, multi-paradigm, compiled,
> general-purpose programming language." ---
> http://en.wikipedia.org/wiki/C%2B%2B
>
> It's a markedly different tone from the others.
>
> Here's what Wikipedia has to say about what a multi-paradigm language is:
>
> http://en.wikipedia.org/wiki/Multi-paradigm_programming_language#Multi-paradigm_programming_language

According to this: 
http://en.wikipedia.org/wiki/Comparison_of_programming_languages

Most languages are multi-paradigm.

Smalltalk: concurrent, declarative, event-driven, object-oriented, 
reflective

Java: generic, imperative, object-oriented, reflective

Go: concurrent, imperative

Haskell: functional, generic, lazy evaluation

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list