Comparison of multi-paradigm programming languages: Difference between revisions

Content deleted Content added
m Language overview: remove 'invisible' characters from cs1|2 template parameters; (NBSP)
m Set Raku row alphabetically; clear template before table for maximum width (not clash with TOC)
Line 26:
* [[Rule-based programming]] – a network of rules of thumb that comprise a knowledge base and can be used for expert systems and problem deduction & resolution
* [[Visual programming language|Visual programming]] – manipulating program elements graphically rather than by specifying them textually (e.g. [[Simulink]]); also termed ''diagrammatic programming''<ref>{{cite book |chapter=Diagrammatic-graphical programming languages and DoD-STD-2167A |last=Bragg |first=S.D. |last2=Driskill |first2=C.G. |date=20–22 September 1994 |work=IEEEXplore |publisher=IEEE|doi=10.1109/AUTEST.1994.381508 |title=Proceedings of AUTOTESTCON '94 |pages=211–220 |isbn=978-0-7803-1910-3 }}</ref>
 
{{clear}}
 
==Language overview==
Line 169 ⟶ 171:
| [[Perl]] {{Citation needed|date=March 2007}} || 8 (9)
| {{yes}}<ref>[http://perldoc.perl.org/threads.html interpreter based threads]</ref> || {{partial|Library}}<ref>[[Moose (Perl)|Moose]]</ref>|| {{yes}}<ref>[http://hop.perl.plover.com/book/ Higher Order Perl]</ref>|| {{no}}|| {{no}}|| {{yes}} || {{yes}}|| {{no}}|| {{yes}} || {{no}}|| {{yes}}<ref group="a" name="class" />|| {{yes}}<ref group="a" name="class" /> || {{yes}}|| {{no}}|| {{no}}|| {{no}}
|-
| [[Raku (programming language)|Raku]] || 10
| {{yes}}<ref>[https://docs.perl6.org/language/concurrency Channels and other mechanisms]</ref> || {{yes}}<ref>{{Cite web | url=https://docs.perl6.org/type/Signature#Type_Constraints | title=Class Signature}}</ref>|| {{yes}}<ref>[https://docs.perl6.org/routine/==%3E Feed operator]</ref>|| {{no}}|| {{partial|Library}}<ref>https://github.com/perl6/doc/issues/1744#issuecomment-360565196 Cro module</ref>|| {{yes}} || {{yes}}<ref>{{Cite web | url=https://perl6advent.wordpress.com/2011/12/14/meta-programming-what-why-and-how/ | title=Meta-programming: What, why and how| date=2011-12-14}}</ref>|| {{yes}}<ref>https://perl6advent.wordpress.com/2009/12/18/day-18-roles/ Parametrized Roles</ref>|| {{yes}} || {{no}}|| {{yes}}<ref>{{Cite web | url=https://docs.perl6.org/language/mop | title=Meta-object protocol (MOP)}}</ref>|| {{yes}}<ref>https://docs.perl6.org/language/classtut Classes and Roles </ref> || {{yes}}|| {{no}}|| {{no}}|| Multiple dispatch, lazy lists, reactive.
|-
| [[PHP]]<ref>[http://php.net/manual/en/index.php PHP Manual], [http://php.net/manual/en/language.functions.php Chapter 17. Functions]</ref><ref>[http://php.net/manual/en/index.php PHP Manual], [http://php.net/manual/en/language.oop5.php Chapter 19. Classes and Objects (PHP 5)]</ref><ref>[http://php.net/manual/en/index.php PHP Manual], [http://docs.php.net/functions.anonymous Anonymous functions]</ref> || 4
Line 198 ⟶ 197:
| [[Racket (programming language)|Racket]] || 6
| {{yes}}<ref>[https://docs.racket-lang.org/guide/concurrency.html Racket Guide: Concurrency and Synchronization]</ref> || {{no}}|| {{no}}|| {{no}}|| {{no}}|| {{yes}}|| {{yes}}|| {{no}} || {{yes}} || {{yes}}|| {{yes}} || {{yes}} || {{no}}|| {{no}}|| {{no}} || {{no}}
|-
| [[Raku (programming language)|Raku]] || 10
| {{yes}}<ref>[https://docs.perl6.org/language/concurrency Channels and other mechanisms]</ref> || {{yes}}<ref>{{Cite web | url=https://docs.perl6.org/type/Signature#Type_Constraints | title=Class Signature}}</ref>|| {{yes}}<ref>[https://docs.perl6.org/routine/==%3E Feed operator]</ref>|| {{no}}|| {{partial|Library}}<ref>https://github.com/perl6/doc/issues/1744#issuecomment-360565196 Cro module</ref>|| {{yes}} || {{yes}}<ref>{{Cite web | url=https://perl6advent.wordpress.com/2011/12/14/meta-programming-what-why-and-how/ | title=Meta-programming: What, why and how| date=2011-12-14}}</ref>|| {{yes}}<ref>https://perl6advent.wordpress.com/2009/12/18/day-18-roles/ Parametrized Roles</ref>|| {{yes}} || {{no}}|| {{yes}}<ref>{{Cite web | url=https://docs.perl6.org/language/mop | title=Meta-object protocol (MOP)}}</ref>|| {{yes}}<ref>https://docs.perl6.org/language/classtut Classes and Roles </ref> || {{yes}}|| {{no}}|| {{no}}|| Multiple dispatch, lazy lists, reactive.
|-
| [[ROOP (programming language)|ROOP]] || 3