stringtranslate.com

Comparación de lenguajes de programación multiparadigma

Los lenguajes de programación se pueden agrupar según la cantidad y los tipos de paradigmas que admiten.

Resúmenes de paradigmas

Una referencia concisa de los paradigmas de programación enumerados en este artículo.

Descripción general del idioma

Véase también

Notas

  1. ^ basado en encuentros y monitores
  2. ^ abcdefghijklmnopqrstu vwxyz aa ab ac ad ae af ag ah ai basado en clases
  3. ^ metaprogramación de plantillas abcde
  4. ^ abc usando flujo de datos TPL
  5. ^ solo soporte lambda (programación funcional perezosa)
  6. ^ abc usando extensiones reactivas (Rx)
  7. ^ envío múltiple, combinaciones de métodos
  8. ^ Programación de actores abcde
  9. ^ promesas, extensiones nativas
  10. ^ usando el módulo cluster de Node.js o el método child_process.fork, web workers en el navegador, etc.
  11. ^ abcd Basado en prototipos
  12. ^ usando extensiones reactivas (RxJS)
  13. ^ en Node.js a través de su módulo de eventos
  14. ^ en los navegadores a través de su API nativa EventTarget
  15. ^ abc puramente funcional
  16. ^ clases parametrizadas
  17. ^ inmutable
  18. ^ despacho múltiple, no único tradicional
  19. ^ Akka Archivado el 19 de enero de 2013 en Wayback Machine.

Citas

  1. ^ Bragg, SD; Driskill, CG (20-22 de septiembre de 1994). "Lenguajes de programación diagramáticos y gráficos y DoD-STD-2167A". Actas de AUTOTESTCON '94 (IEEEXplore) . Instituto de Ingenieros Eléctricos y Electrónicos (IEEE). págs. 211-220. doi :10.1109/AUTEST.1994.381508. ISBN 978-0-7803-1910-3.S2CID62509261  .​
  2. ^ Manual de referencia de Ada, ISO/IEC 8652:2005(E) Ed. 3, Sección 9: Tareas y sincronización
  3. ^ Manual de referencia de Ada, ISO/IEC 8652:2005(E) Ed. 3 Anexo E: Sistemas distribuidos
  4. ^ Manual de referencia de Ada, ISO/IEC 8652:2005(E) Ed. 3, Sección 12: Unidades genéricas
  5. ^ Manual de referencia de Ada, ISO/IEC 8652:2005(E) Ed. 3, Sección 6: Subprogramas
  6. ^ Manual de referencia de Ada, ISO/IEC 8652:2005(E) Ed. 3, 3.9 Tipos etiquetados y extensiones de tipo
  7. ^ Soporte de subprocesos
  8. ^ Soporte atómico
  9. ^ Modelo de memoria
  10. ^ Código geográfico
  11. ^ Sistema C
  12. ^ Impulsar.Iostreams
  13. ^ Boolinq
  14. ^ "AraRat" (PDF) . Archivado desde el original (PDF) el 19 de agosto de 2019. Consultado el 15 de septiembre de 2019 .
  15. ^ OpenMPI
  16. ^ Impulsar MPI
  17. ^ Impulso.MPL
  18. ^ LC++
  19. ^ Castor Archivado el 25 de enero de 2013 en Wayback Machine.
  20. ^ Biblioteca Reflect
  21. ^ N3534
  22. ^ Impulso.Espíritu
  23. ^ Clojure - Programación concurrente
  24. ^ Clojure - núcleo.async
  25. ^ Clojure - Programación funcional
  26. ^ Clojure - Macros
  27. ^ Clojure - núcleo.logic
  28. ^ Clojure - Guía de macros de subprocesamiento
  29. ^ "Mesa de luz". 2019-04-08.
  30. ^ Métodos múltiples y jerarquías
  31. ^ Agentes y acciones asincrónicas
  32. ^ "concurrencia". CLiki .
  33. ^ [1] Programación de restricciones dentro de CL a través de extensiones
  34. ^ [2] extensión del flujo de datos
  35. ^ [3] mediante la creación de DSL utilizando la metaprogramación incorporada; consulte también la nota sobre paradigmas funcionales, de restricción y lógicos, que son parte de la programación declarativa.
  36. ^ [4] MPI, etc. a través de extensiones de lenguaje
  37. ^ metaprogramación de plantillas utilizando macros (ver C++)
  38. ^ [5] [6] [7] Prolog implementado como una extensión del lenguaje
  39. ^ Sistema de objetos Common Lisp, consulte el artículo de Wikipedia sobre CLOS, el sistema de objetos Common Lisp.
  40. ^ implementado por el usuario a través de una macro corta, ejemplo de implementación
  41. ^ - Herramienta de programación visual basada en Common Lisp
  42. ^ [8] extensión de programación basada en reglas
  43. ^ [9] Archivado el 26 de abril de 2018 en Wayback Machine a través del Protocolo Meta Object
  44. ^ Tabla de características del lenguaje D
  45. ^ Algoritmo estándar de Phobos
  46. ^ Mixins de cadenas en lenguaje D
  47. ^ The Little JavaScripter demuestra una similitud fundamental con Scheme, un lenguaje funcional.
  48. ^ Programación orientada a objetos en JavaScript Archivado el 10 de febrero de 2019 en Wayback Machine ofrece una descripción general de las técnicas de programación orientada a objetos en JavaScript.
  49. ^ "React: una biblioteca de JavaScript para crear interfaces de usuario". 2019-04-08.
  50. ^ "TNG-Hooks". GitHub . 8 de abril de 2019.
  51. ^ "Documentación de Lodash". 8 de abril de 2019.
  52. ^ "mori". 8 de abril de 2019.
  53. ^ "Mesa de luz". 2019-04-08.
  54. ^ "TNG-Hooks". GitHub . 8 de abril de 2019.
  55. ^ "Incrustación de Prolog". Haskell.org .
  56. ^ "Programación reactiva funcional". HaskellWiki .
  57. ^ Nube Haskell
  58. ^ "Plantilla Haskell". HaskellWiki .
  59. ^ "Logict: Una mónada de programación lógica con retroceso". Haskell.org .
  60. ^ Kollmansberger, Steve; Erwig, Martin (30 de mayo de 2006). "Reglas de Haskell: Incorporación de sistemas de reglas en Haskell" (PDF) . Universidad Estatal de Oregón .
  61. ^ https://jcp.org/en/jsr/detail?id=331 JSR 331: API de programación de restricciones
  62. ^ https://github.com/GoogleCloudPlatform/DataflowJavaSDK SDK de flujo de datos de Google Cloud Platform
  63. ^ "JuliaOpt/JuMP.jl". GitHub . JuliaOpt. 11 de febrero de 2020 . Consultado el 12 de febrero de 2020 .
  64. ^ "GitHub - MikeInnes/DataFlow.jl". GitHub . 15 de enero de 2019.
  65. ^ "GitHub - JuliaGizmos/Reactive.jl: Primitivas de programación reactiva para Julia". GitHub . 2018-12-28.
  66. ^ https://github.com/davidanthoff/Query.jl Consulta casi cualquier cosa en Julia
  67. ^ https://github.com/lilinjn/LilKanren.jl Una colección de implementaciones de Kanren en Julia
  68. ^ "GitHub - abeschneider/PEGParser.jl: Analizador PEG para Julia". GitHub . 2018-12-03.
  69. ^ "GitHub - gitfoxi/Parsimonious.jl: Un generador de analizador PEG para Julia". GitHub . 2017-08-03.
  70. ^ Perezoso https://github.com/MikeInnes/Lazy.jl
  71. ^ "Ejecutar iteraciones de bucle en paralelo". mathworks.com . Consultado el 21 de octubre de 2016 .
  72. ^ "Restricciones de escritura". mathworks.com . Consultado el 21 de octubre de 2016 .
  73. ^ "Introducción a SimEvents". mathworks.com . Consultado el 21 de octubre de 2016 .
  74. ^ "Ejecutar iteraciones de bucle en paralelo". mathworks.com . Consultado el 21 de octubre de 2016 .
  75. ^ "Ejecutar expresión de MATLAB en texto - MATLAB eval". mathworks.com . Consultado el 21 de octubre de 2016 .
  76. ^ "Determinar la clase de un objeto". mathworks.com . Consultado el 21 de octubre de 2016 .
  77. ^ "Metadatos de clase". mathworks.com . Consultado el 21 de octubre de 2016 .
  78. ^ "Programación orientada a objetos". mathworks.com . Consultado el 21 de octubre de 2016 .
  79. ^ "Simulink". mathworks.com . Consultado el 21 de octubre de 2016 .
  80. ^ Hilos basados ​​en intérpretes
  81. ^ Perl de orden superior
  82. ^ Manual de PHP, Capítulo 17. Funciones
  83. ^ Manual de PHP, Capítulo 19. Clases y objetos (PHP 5)
  84. ^ Manual de PHP, Funciones anónimas
  85. ^ "Procesamiento paralelo y multiprocesamiento en Python". Wiki de Python . Consultado el 21 de octubre de 2016 .
  86. ^ "threading — Interfaz de subprocesamiento de nivel superior". docs.python.org . Consultado el 21 de octubre de 2016 .
  87. ^ "python-constraint". pypi.python.org . Consultado el 21 de octubre de 2016 .
  88. ^ "Programación distribuida". Wiki de Python . Consultado el 21 de octubre de 2016 .
  89. ^ "Capítulo 9. Metaprogramación". chimera.labs.oreilly.com . Archivado desde el original el 23 de octubre de 2016 . Consultado el 22 de octubre de 2016 .
  90. ^ "Metaprogramación". readthedocs.io . Consultado el 22 de octubre de 2016 .
  91. ^ "PEP 443 – Funciones genéricas de envío único". python.org . Consultado el 22 de octubre de 2016 .
  92. ^ "PEP 484 – Sugerencias de tipos". python.org . Consultado el 22 de octubre de 2016 .
  93. ^ "PyDatalog" . Consultado el 22 de octubre de 2016 .
  94. ^ "Mesa de luz". 2019-04-08.
  95. ^ "Futuroverso".
  96. ^ "futuras herramientas de lotes".
  97. ^ "Magrittr: un operador de tuberías avanzado para R". cran.r-project.org\access-date=13 julio 2017 . 17 noviembre 2020.
  98. ^ Guía de Racket: Simultaneidad y sincronización
  99. ^ La guía de Rosette
  100. ^ FrTime: Un lenguaje para programas reactivos
  101. ^ Guía de raquetas: lugares distribuidos
  102. ^ Raqueta perezosa
  103. ^ Canales y otros mecanismos
  104. ^ "Módulo solucionador de problemas".
  105. ^ Operador de feed
  106. ^ https://github.com/perl6/doc/issues/1744#issuecomment-360565196 Módulo Cro
  107. ^ "Metaprogramación: qué, por qué y cómo". 14 de diciembre de 2011.
  108. ^ https://perl6advent.wordpress.com/2009/12/18/day-18-roles/ Roles parametrizados
  109. ^ "Protocolo de metaobjetos (MOP)".
  110. ^ https://docs.perl6.org/language/classtut Clases y roles
  111. ^ "La guía de macros de Rust". Rust . Consultado el 19 de enero de 2015 .
  112. ^ "Guía de complementos del compilador de Rust". Rust . Consultado el 19 de enero de 2015 .
  113. ^ Referencia de Rust §6.1.3.1
  114. ^ Una descripción general del lenguaje de programación Scala
  115. ^ Especificación del lenguaje Scala
  116. ^ "Programación Tcl/Introducción". en.wikibooks.org . Consultado el 22 de octubre de 2016 .
  117. ^ "TCLLIB - Biblioteca estándar de Tcl: snitfaq". sourceforge.net . Consultado el 22 de octubre de 2016 .
  118. ^ Notas para expertos en lenguajes de programación, Documentación del lenguaje Wolfram.
  119. ^ Programas externos, Documentación de Wolfram Language.

Referencias