Talk:Multi-paradigm programming language

From Wikipedia, the free encyclopedia

The current title of this page is "Multi-paradigm programming language".

In English, at least US English, hyphenating a word after the prefix "multi" is unnecessary, except when the subject word starts with the letter "i", or is a proper noun starting with a capital letter. (I am not a grammarian or English instructor. I am a part-time newspaper reporter.)

See a similar case: Multi-platform to Multiplatform.

There was a discussion of this issue, maybe here: Wikipedia talk:Manual_of_Style

Thus, it seems reasonable to change the page name accordingly, to "Multiparadigm programming language".

Is this the correct or best place to post such requests, or is there some more suitable location?

Thank you.

I'm not a native English speaker so I can't help with this. I think you are right, the best place to set a policy for this issue is at the Wikipedia:Manual of Style. I haven't find any discussion about this. Also note that there are currently a lot of pages [the prefix "Multi-"], so this requires some work. Best regards. --surueña 13:11, 6 October 2005 (UTC)

Contents

[edit] Correctness and Usefulness

I am a little concerned about both the correctness and usefulness of the language comparison in this article. There is no definition of "paradigm" in this context and no complete list of paradigms to choose from. Instead, the concept of a paradigm is ad-hoc, sometimes erroneous (e.g. generics) and mostly misleading. Consequently, the categorisation is almost random. For example, OCaml is currently listed as "two paradigm", yet it supports functional, imperative, object-oriented, modular and generic (which is not template meta-programming, BTW). Is modular a paradigm (it has a completely different meaning in languages like Lisp)? Are eager and lazy evaluation two separate paradigms? Are dynamic and static typing paradigms? Is parametric polymorphism a paradigm?

[edit] a few suggestions

Maybe saying C++ implements 4 paradigms is going too far... if so, then C would implement at least 3 (imperative, functional and template with macros). I think that a language is not functional if it not implements at least a few of those features: higher order functions (ok in C and C++ via function pointers), tail recursion, currying, lazy evaluation and maybe some others.

Concurrent and distributed should be not considered full paradigms, because they're normally implemented as library facilities in all programming languages, whatever the (main) paradigm.

Erlang presence's lacking in this article.

--85.59.39.220 14:51, 20 January 2006 (UTC)

[edit] C++ and functional

I have wondered about that as well. I think the C++ language advocates have gone to far here. But then there alwas go wild about there templates wich are a language of there own.

--Krischik T 14:14, 9 February 2006 (UTC)

Update: the C++ main page names functional as part of the boost lib. Boost is not even part of the (ISO) standart library for C++. That does not count - i correct the entry.
--Krischik T 14:30, 9 February 2006 (UTC)

[edit] Concurrent and distributed

You are wrong here: Ada implements the concurrent and distributed paradigms as first class language feature and not thrue a library. So it is correct to have them on the page.

Question is:

  1. Do all those who list them actualy support them as language feature or do they just have a library for support.
  2. And should (standart) library for support count or not? In former case I could upgrate Ada to include array programming ;-).

--Krischik T 14:14, 9 February 2006 (UTC)

[edit] Common Lisp

Is it really correct to say that Common Lisp only supports the functional and object oriented paradigms? Common Lisp supports imperative programming just as well as languages like Python or Ruby. I would think it should (at least) be listed as supporting functional, imperative, and object oriented.

--66.115.232.200 22:04, 24 February 2006 (UTC)

[edit] PHP

Object Oriented? Funny, considering not only that www.php.net doesn't define php that way, but that it also stated specifically that PHP isn't one... conio.htalk 11:24, 8 August 2006 (UTC)

[edit] Java as a Multi-paradigm Language

If concurrent is a paradigm, Java was one of the first modern languages with built-in syntactical support for concurrency. Thus, Java would be Object-oriented and concurrent.

[edit] Wikipedia:Articles for deletion/Aurora (programming language)

It would be helpful to have more users participating in this discussion. Dpbsmith (talk) 03:27, 17 December 2006 (UTC)