Talk:Programming paradigm

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Mogunus (talk | contribs) at 04:09, 26 March 2008 (→‎Literate Programming?). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Someone deleted Declarative programming. Why? 202.163.215.229 08:30, 8 September 2006 (UTC)[reply]

http://en.wikipedia.org/wiki/Comparison_of_programming_languages what is Mathematica now? Procedural or rulebased (as prolog)


Hierarchy

I propose we work towards creating a paradigm hierarchy. For instance, procedural programming is a sub-paradigm of imperative programming, and both are structured programming paradigms. However, in the present state all of these paradigms are listed individually and the relationships between each are not as well defined as they could be.

Though, I recognize not all paradigms fit neatly into a hierarchy, but that information is useful to the reader in comparing paradigms. --DanDanRevolution 13:49, 6 April 2006 (UTC)[reply]

I agree, I think some sort of hierarchy ought to be imposed. Specifically, I was not aware of many of these "paradigms" and was expecting to just see "the big 5" (functional, object, imperative, procedural, logic) which seemingly ought to be featured more prominently. For instance, recursive is not something which is wholly exclusive of other larger scoped paradigms. --Belg4mit 22:40, 9 April 2007 (UTC)[reply]
I agree, too. I can't find my way around, at the moment... - Draketo 08:58, 19 July 2007 (UTC)[reply]

Below are old comments

I removed the redirect link since I think there's a place for a proper 'Programming Paradigms' page. The paragraph in the prgLang page is short and good for a prgLang page, but I believe a more in depth discusion should be worth while. Equivalently, I think we should have an equially short discussion of prgLangs, here.

I removed the Literate Programming link as it is not a programming paradigm, but rather a programming technique, specifically concerning program documentation. One can perform literate programming in C, C++, or in any other language that supports the tools. The reason why I think it is different is because literate programming doesn't relate to how the program is modeled, but rather how the program is documented. However, literate programming is (very much) important to mention somewhere, but most likely in another category.

Lambda calculus

In what sense does "lambda calculus stand above all the rest"? Certainly many languages are Turing equivalent; the current phrasing in the article is misleading at best. I haven't changed it because I'm not as familiar with LC as I should be -- but would a CS person care to comment? zowie 19:26, 2 May 2005 (UTC)[reply]

It is not accurate, in (at least) the following ways:
  • The lambda calculus is not a programming paradigm. Nobody programs in the lambda calculus. (No, Lisp is not the lambda calculus.)
  • A programming paradigm is not the same sort of thing as a notation for functions or algorithms -- it has as much to do with the way problems are analyzed as with the operations available to perform calculations.
  • The way in which the lambda calculus is described as "standing above all the rest" is not in any sense unique to it. Many notations are Turing-complete, not just lambda.
  • Turing-completeness has in any regard to do with equivalence to a Turing machine, not to lambda calculus. So if any notation were to be described as "standing above the rest" on this basis it would be Turing machines! But of course the point is that none are "above" the others if they are equivalent.
For these reasons I'm removing the claim. --FOo 01:50, 3 May 2005 (UTC)[reply]


Not a sentence

First line: A programming paradigm is a paradigmatic style of programming... THIS IS NOT A MEANINGFUL SENTENCE. Someone change it.

But it is hillarious! Said: Rursus 17:12, 2 June 2007 (UTC)[reply]

Two edits

I removed the claim that C++ is designed to support AOP and "object-based programming". C++ isn't /designed for/ AOP (but may support it) and object-based programming seems like a loose term fo object-oriented programming (already listed).

I removed the claim that Scheme is designed to support one particular paradigm. It supports virtually *all* known paradigms. It is biased towards functional programming, but this seems fine: Python and Ruby are as well biased (towards OO). And by the very tiny R^nRS and IEEE standards there are at least two direct supported programming paradigms from standard (functional and imperative). Scheme being extensible, we may take OO, logic programming and other common paradigms for granted, because they really are embedded in the language by most implementations. --189.12.148.237 22:09, 5 July 2007 (UTC)[reply]

Literate Programming?

Is there a reason, that Literate programming isn't included? Literate_programming - Draketo 09:00, 19 July 2007 (UTC)[reply]

Possibly because Literate programming is more a style, or philosophy, of programming, than a paradigm. I've always understood a paradigm to be more of a conceptual lens through which to understand a program, a "formal model" of what a program is, and literate programming a quality that one should strive for in their code. Literate programs can (and should!) be written in any paradigm.