![]() | This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||||||||||||||||||||||||||||
|
The heavy emphasis (roughly half the article) on performance seems to suggest that is the primary driver behind programming paradigm, while completely omitted any analysis on the other costs involved. For instance - a major factor in paradigm choice is development cost - including initial development, testing, various types of maintenance, not to mention the availability of experienced programmers. Combined with the sparsity of citations, this leads me to believe performance section is significantly biased in favor of paradigms favored by performance.
I throw my hands in the air reading this section - I smell an attempt at propoganda masquerading as a wiki section. I hope someone has the time and energy to flush this out - it would be a useful resource! — Preceding unsigned comment added by 167.24.104.150 ( talk) 20:45, 30 November 2012 (UTC)
Can this be merged with Programming paradigms? ErikHaugen ( talk) 07:09, 10 January 2010 (UTC)
Some one has tagged the main section of this article with an OR template. Anon editor User:86.139.34.202, who seems to be the main contributor to this article, repsonded with an in-article comment. I'm moving the comment here, since article discussions should take place on the talk page, not in HTML comments embedded in the article. -- Allan McInnes ( talk) 21:35, 20 January 2010 (UTC)
User:86.139.34.202's comment was:
Please note that even if the material on the current page is assembled from various WP articles, references should still be provided in this article. They should be easy to come by if the material does indeed come from other WP articles. Also please note that the synthesis of material from various WP articles into a comparison, without providing citations for an external source for the way things are categorized or the method of comparison, may constitute original research under the terms of WP:NOR. Using, for example, Van Roy's paper as a source for the method of comparison would probably be a better approach. -- Allan McInnes ( talk) 21:40, 20 January 2010 (UTC)
A recent edit deleted two entire columns from the comparison table:
This appears to be deliberate "OOP inspired" censorship because the reason given was simply because they were "low usage" columns !! ken ( talk) 18:59, 21 January 2010 (UTC)
Erik, If you look at the wikipedia article paradigm you might come across these accepted "standardizations" (scientific worldviews)
All of these had their critics and some still have - which is really why the "standardization" (or in this case lack of) & "critics" columns are there! I believe there might be a valid case for adding "performance considerations" and "maintainability issues" columns for each paradigm too - but that can come later The empty entries in critics column are for the stub to be enhanced ("fleshed out"), if appropriate, by someone who might know better As for Alexander_Stepanov, he is already on the list linked to in the OOP paradigm Regards ken ( talk) 21:22, 21 January 2010 (UTC)
There seem to be a number of ambiguities and errors creeping into the terminology table. Some examples:
These are all good examples of why it might be a good idea to reference the entries in the table, assuming that it's even worth having such a table (which I'm somewhat skeptical about). -- Allan McInnes ( talk) 23:04, 21 January 2010 (UTC)
I can't find a good explanation of the difference between structured and procedural programming. From what I see here, the only difference is a name change. Is this the case? If not, we need an explanation. -- 68.32.37.109 ( talk) 22:58, 19 March 2010 (UTC)
Having just read this, I can see that there are many overlaps in a traditional programming environment.
For example: VisualBasic under Windows, or indeed a multitasking C program under RISC OS (although you're closer to the nuts'n'bolts in the latter case). Essentially for the majority of the clock cycles, you're waiting on an event. A keypress, a timer, a mouse click...
Upon the event being received, you'll either pass to dispatch code (or the language will dispatch appropriately for you) upon which you will execute a linear sequence of code that will modify the program's state. Flag set. Keypress in array. Make computer blow up. Whatever.
Oh, and for anything larger than a fart app, is isn't just good practice to write the code in modular sections, it is insane not to do so.
Once the event has been handled, you're back to waiting on an event.
One program, three paradigms (RISC OS & C), or four (VB also throws in object oriented - "MyForm.Button.Something = Blah").
Now consider an interrupt-driven sound buffer fill routine so music can be played. When the sound buffer empties, you'll need to fetch more data to stuff into said sound buffer. Your main activity is waiting on an interrupt (event-driven) upon which you do something (imperative) and this is probably going to be organised tidily (procedural) as if you're writing this in assembler you'll quickly come a cropper if the code is a mess. Three paradigms.
Perhaps it might be worth pointing out a little more clearly that such overlaps not only exist, but are par for the course...
HeyRick1973 (
talk) 21:08, 21 December 2012 (UTC)
XP_2600 (
talk) 07:42, 19 April 2022 (UTC)Should not Python be an event driven as well?
Yacc is an example of an automata language. — Preceding unsigned comment added by 74.12.177.166 ( talk) 01:01, 9 January 2013 (UTC)
I think the paradigms here referenced as the "main" ones can not be complete. The WP page for logic programming states, that logic programming was one of the four main programming paradigms, however it does not appear here... otherwise I agree with the notion that this page could well be merged into "programming paradigms". -- Micdi2 ( talk) 15:03, 4 June 2013 (UTC)
What I'm missing in the list of the main article is a language like SQL which, to my understanding, is "group oriented" and as such requires a totally different thinking than with procedural prorgamming. — Preceding unsigned comment added by 84.63.176.61 ( talk) 18:22, 21 May 2014 (UTC)
I think you mean declarative languages, right? This article is a good draft but still stays as a draft and not as a complete research about programming paradigms. — Preceding
unsigned comment added by
195.212.29.185 (
talk) 13:10, 31 October 2014 (UTC)
There's been a tag on this article asking for more references since 2015. There are still almost no references in the whole thing. Should the whole article be deleted? Twasonasummersmorn ( talk) 20:44, 15 March 2021 (UTC)
the pseudocode is confusing, includes confusing numbers next to each instruction, doesn't seem to further the point, and makes everything more difficult to read and understand. I don't see why its needed ~~
I am looking for more information about comparison between Event-driven programming and Service-oriented programming, for me this is 2 opposing paradigms. Here is how I see the things.
Event-driven programming is about to trigger/catch events when something happen to a form or an entity. Then a listener catches event when it needs to react (e.g USER_CREATE to save the user account in database, USER_CREATED to send an email to the user when his account is created). This could also be used for validation purposes. The controller is throwing an event and any listener is getting it.
Service-oriented programming is about a singleton class for a business need or an entity. In case of entity service, this one is managing the business of this entity (or sometimes several entities) and sometimes all its lifecycle. The controller is explicitly calling the service method to do what it needs (e.g UserService::create() to save the user account in database) then the service is delegating sub-tasks.
/info/en/?search=Event-driven_programming /info/en/?search=Service-oriented_programming (I think this article is more about Service-oriented architecture than programming...)
Finally to say, in this article, the Service-oriented programming is totally missing.
Loenix ( talk) 06:32, 12 June 2021 (UTC)
Examples that are in two or more categories should be removed from the examples list entirely. The fact that they're suitable for multiple paradigms makes them unsuitable as exemplars of any particular paradigm. This is an article on programming paradigms. It's not here to promote any particular programming language. If someone is coming here to learn about the different paradigms, then listing multi-paradigm languages as examples is not helpful. 2604:CA00:168:40B5:0:0:1068:29FB ( talk) 15:54, 1 July 2023 (UTC)
![]() | This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||||||||||||||||||||||||||||
|
The heavy emphasis (roughly half the article) on performance seems to suggest that is the primary driver behind programming paradigm, while completely omitted any analysis on the other costs involved. For instance - a major factor in paradigm choice is development cost - including initial development, testing, various types of maintenance, not to mention the availability of experienced programmers. Combined with the sparsity of citations, this leads me to believe performance section is significantly biased in favor of paradigms favored by performance.
I throw my hands in the air reading this section - I smell an attempt at propoganda masquerading as a wiki section. I hope someone has the time and energy to flush this out - it would be a useful resource! — Preceding unsigned comment added by 167.24.104.150 ( talk) 20:45, 30 November 2012 (UTC)
Can this be merged with Programming paradigms? ErikHaugen ( talk) 07:09, 10 January 2010 (UTC)
Some one has tagged the main section of this article with an OR template. Anon editor User:86.139.34.202, who seems to be the main contributor to this article, repsonded with an in-article comment. I'm moving the comment here, since article discussions should take place on the talk page, not in HTML comments embedded in the article. -- Allan McInnes ( talk) 21:35, 20 January 2010 (UTC)
User:86.139.34.202's comment was:
Please note that even if the material on the current page is assembled from various WP articles, references should still be provided in this article. They should be easy to come by if the material does indeed come from other WP articles. Also please note that the synthesis of material from various WP articles into a comparison, without providing citations for an external source for the way things are categorized or the method of comparison, may constitute original research under the terms of WP:NOR. Using, for example, Van Roy's paper as a source for the method of comparison would probably be a better approach. -- Allan McInnes ( talk) 21:40, 20 January 2010 (UTC)
A recent edit deleted two entire columns from the comparison table:
This appears to be deliberate "OOP inspired" censorship because the reason given was simply because they were "low usage" columns !! ken ( talk) 18:59, 21 January 2010 (UTC)
Erik, If you look at the wikipedia article paradigm you might come across these accepted "standardizations" (scientific worldviews)
All of these had their critics and some still have - which is really why the "standardization" (or in this case lack of) & "critics" columns are there! I believe there might be a valid case for adding "performance considerations" and "maintainability issues" columns for each paradigm too - but that can come later The empty entries in critics column are for the stub to be enhanced ("fleshed out"), if appropriate, by someone who might know better As for Alexander_Stepanov, he is already on the list linked to in the OOP paradigm Regards ken ( talk) 21:22, 21 January 2010 (UTC)
There seem to be a number of ambiguities and errors creeping into the terminology table. Some examples:
These are all good examples of why it might be a good idea to reference the entries in the table, assuming that it's even worth having such a table (which I'm somewhat skeptical about). -- Allan McInnes ( talk) 23:04, 21 January 2010 (UTC)
I can't find a good explanation of the difference between structured and procedural programming. From what I see here, the only difference is a name change. Is this the case? If not, we need an explanation. -- 68.32.37.109 ( talk) 22:58, 19 March 2010 (UTC)
Having just read this, I can see that there are many overlaps in a traditional programming environment.
For example: VisualBasic under Windows, or indeed a multitasking C program under RISC OS (although you're closer to the nuts'n'bolts in the latter case). Essentially for the majority of the clock cycles, you're waiting on an event. A keypress, a timer, a mouse click...
Upon the event being received, you'll either pass to dispatch code (or the language will dispatch appropriately for you) upon which you will execute a linear sequence of code that will modify the program's state. Flag set. Keypress in array. Make computer blow up. Whatever.
Oh, and for anything larger than a fart app, is isn't just good practice to write the code in modular sections, it is insane not to do so.
Once the event has been handled, you're back to waiting on an event.
One program, three paradigms (RISC OS & C), or four (VB also throws in object oriented - "MyForm.Button.Something = Blah").
Now consider an interrupt-driven sound buffer fill routine so music can be played. When the sound buffer empties, you'll need to fetch more data to stuff into said sound buffer. Your main activity is waiting on an interrupt (event-driven) upon which you do something (imperative) and this is probably going to be organised tidily (procedural) as if you're writing this in assembler you'll quickly come a cropper if the code is a mess. Three paradigms.
Perhaps it might be worth pointing out a little more clearly that such overlaps not only exist, but are par for the course...
HeyRick1973 (
talk) 21:08, 21 December 2012 (UTC)
XP_2600 (
talk) 07:42, 19 April 2022 (UTC)Should not Python be an event driven as well?
Yacc is an example of an automata language. — Preceding unsigned comment added by 74.12.177.166 ( talk) 01:01, 9 January 2013 (UTC)
I think the paradigms here referenced as the "main" ones can not be complete. The WP page for logic programming states, that logic programming was one of the four main programming paradigms, however it does not appear here... otherwise I agree with the notion that this page could well be merged into "programming paradigms". -- Micdi2 ( talk) 15:03, 4 June 2013 (UTC)
What I'm missing in the list of the main article is a language like SQL which, to my understanding, is "group oriented" and as such requires a totally different thinking than with procedural prorgamming. — Preceding unsigned comment added by 84.63.176.61 ( talk) 18:22, 21 May 2014 (UTC)
I think you mean declarative languages, right? This article is a good draft but still stays as a draft and not as a complete research about programming paradigms. — Preceding
unsigned comment added by
195.212.29.185 (
talk) 13:10, 31 October 2014 (UTC)
There's been a tag on this article asking for more references since 2015. There are still almost no references in the whole thing. Should the whole article be deleted? Twasonasummersmorn ( talk) 20:44, 15 March 2021 (UTC)
the pseudocode is confusing, includes confusing numbers next to each instruction, doesn't seem to further the point, and makes everything more difficult to read and understand. I don't see why its needed ~~
I am looking for more information about comparison between Event-driven programming and Service-oriented programming, for me this is 2 opposing paradigms. Here is how I see the things.
Event-driven programming is about to trigger/catch events when something happen to a form or an entity. Then a listener catches event when it needs to react (e.g USER_CREATE to save the user account in database, USER_CREATED to send an email to the user when his account is created). This could also be used for validation purposes. The controller is throwing an event and any listener is getting it.
Service-oriented programming is about a singleton class for a business need or an entity. In case of entity service, this one is managing the business of this entity (or sometimes several entities) and sometimes all its lifecycle. The controller is explicitly calling the service method to do what it needs (e.g UserService::create() to save the user account in database) then the service is delegating sub-tasks.
/info/en/?search=Event-driven_programming /info/en/?search=Service-oriented_programming (I think this article is more about Service-oriented architecture than programming...)
Finally to say, in this article, the Service-oriented programming is totally missing.
Loenix ( talk) 06:32, 12 June 2021 (UTC)
Examples that are in two or more categories should be removed from the examples list entirely. The fact that they're suitable for multiple paradigms makes them unsuitable as exemplars of any particular paradigm. This is an article on programming paradigms. It's not here to promote any particular programming language. If someone is coming here to learn about the different paradigms, then listing multi-paradigm languages as examples is not helpful. 2604:CA00:168:40B5:0:0:1068:29FB ( talk) 15:54, 1 July 2023 (UTC)